Sam`s Presentation
Download
Report
Transcript Sam`s Presentation
Solar System Assignment
By: Sam Shon
BASIC OVERALL
SYSTEM
• Top down view of the Solar System
• Interactive Background
• Simulates Correct Physics
• Gravity
• Collisions
• Ambient Music
• Time Manipulation
• Display’s Information about specific
object that the mouse clicks on
• Save and Load Solar Systems
System Design
• Coding Languages
▫ C, C++, DirectX
• Error Handling
▫ All inputs will have limits or
display invalid input messages
▫ As well as give an example of
correct format
• Platform Support
▫ Windows only
▫ i.e. (!MAC && !LINUX)
• Modifiability
▫ Modules are opened ended
▫ Design your own solar system or
build another one
Default is our own Solar System
• Constraints
▫ Take up minimum amount of
memory
Less than 512 MB of RAM
▫ Low CPU usage
Can’t interfere with user task
Less than 5% CPU usage
• All constraints are going to be based
off the recommended hardware.
Visio ER Diagram
Box: Module
Ellipse: Attribute
Red: Sub - Component
Error: Visio Arrows Messed Up…
Primary Components
• Modules
▫
▫
▫
▫
▫
▫
▫
▫
▫
▫
Planet
Star
Physics
Time
Effects
Information Box
Comet
Asteroid
“Object” Belt
Mouse
Planet
• Attributes
▫ Has a position / location
(relative to the Sun)
▫ Mass(kg), Volume(m^3),
Density(kg/m^3)
▫ Type
Jovian (gas)
Terrestrial (solid)
▫ Has Moon(s)
Optional
Some planets may not have
them
• Interacts With
▫ Physic Module
Rotational
Revolution
Gravity
Collision
▫ Effects Module
Display Info. Box
Star
• Attributes
▫ Has a position / location
Sun is always centered at (0, 0)
Other Stars can be placed relative
to the Sun
▫ Mass(kg), Volume(m^3),
Density(kg/m^3)
▫ Type
Proto-Star
Tauri-Star
Main Sequence Star
Our Sun
Red Giant
White Dwarf
Red Dwarf Star
Neutron Star
Supergiant Star
▫ Stage of Star
Where is it at in it’s lifetime?
▫ Age
• Interacts With
▫ Physic Module
Rotational
Revolution
Gravity
Collision
▫ Effects Module
Display Info. Box
Explosion
Super Nova
Glowing
Solar Flare
Physics
• 4 Main Sub-Components
▫ Collision Module
Mouse Detection
Object Collision
▫ Rotation Module
Every object in space rotates to
some degree
▫ Revolution Module
Orbit Ring
May not be present if the object is
drifting
Rogue Planet
Asteroid in Space
▫ Gravity Module
Gravity Aura
Will not be present for “object “
belt Module
• Interacts With
▫ Almost every other module
Time
• 4 Main Functions
▫
▫
▫
▫
Speed up
Slow down
Stop
Set Time
Input: Year A.D. or B.C.
Keyboard input
• Interacts With
▫ Physics
Manipulates the physics to
simulate changes in time.
▫ Mouse
Buttons for speed up, slow
down, & pause
Effect(s)
• Handles All Special Effects
▫
▫
▫
▫
▫
▫
Explosions
Comet Stream
Super Nova
Glowing
Solar Flare
Display Info Box
• Open for more effects
• Interacts With
▫ Almost every module
Information Box
• Attributes (optional)
▫
▫
▫
▫
Name
Description
Composition
Size relative to Earth (in
multiples of Earth)
▫ Revolution relative to Earth
(year)
▫ Rotation relative to Earth
(day)
▫ Distance from Sun (in m)
• They are all optional, since
some may not be applicable
for an object
• Interacts With
▫ Planet, Star, Comet, Asteroid
Comet
• Attributes
▫ Has a position / location
(relative to the Sun)
▫ Mass(kg), Volume(m^3),
Density(kg/m^3)
• Interacts With
▫ Physics
▫ Effects
Comet stream
Explosion
Info Box
Asteroid
• Attributes
▫ Has a position / location
(relative to the Sun)
▫ Mass(kg), Volume(m^3),
Density(kg/m^3)
• Interacts With
▫ Physics
▫ Effects
Comet stream
Explosion
Info Box
“Object” Belt
• Attributes
▫ Radius in m
▫ Center (relative to the
origin(0, 0))
• Contains “Objects”
▫ Objects can be tied to
Asteroids
• Object is used if we want to tie
this to another object.
• Interacts With
▫ Physics
Gravity module can’t be
used here
▫ Effects
Info Box
Mouse
• Mouse and keyboard is the
only way for the user to
interact with the system
• Functions
▫ Display info. boxes on objects
when they are clicked
If applicable
▫ Zoom In/out
▫ Manipulate Time
• Interacts With
▫ Time
▫ Physics
Collision Module
▫ Effects
Comet Stream
When mouse moves it
leaves a comet stream
Part B.1
• Simplification (abstraction)
▫ I analyzed the composition of our solar system and pulled the most relevant objects
that occupy it. 8 Planets, 2 Asteroid Belts, and a single star/sun. There are comets
and asteroids that move about through our solar system. The planets have a
gravitational pull on objects, an orbit ring around the sun, and a rotate with some
tilt on their axis. All of these events take place over time.
• Refinement (what details you decided to add)
▫ I broke down aspects of the solar system further and made them into modules that
could be generally. Instead of making Saturn, I make a planet object that has the
attributes of Saturn. This would promotes modifiability and add planets to our solar
system if needed. I wanted to maintain this trend for all my modules. For Example,
the sun is a star object that has the same, mass, volume, density, and is a main
sequence star. From breaking down my objects into these modules, I got the idea of
making this Solar System simulator into an interactive background of your very
own solar system that you can create. I added features that would make this
system more interesting to play around with. Time manipulation and the ability to
create any object and placing it into your solar system on the fly. Special Effects and
Music were aspects to make it flashy and relaxing. These extra features will allow
the user have an experience with this product.
Part B.2
• Discuss the criteria you used to determine that your model was “good
enough” to hand in
▫ My product is a component based design that satisfies all the
requirements of what our solar system has to offer. I added more
requirements to make my solar system product more unique and
hopefully more to offer than just a simple educational program. Each
component/module has attributes or sub components that accomplish
its task. The modules have a well defined layout of how they relate and
interact with each other. It needs to be refined one more level to see
code solutions ,but the overall system architecture is complete. I think
that my design is balanced in both product and engineer design.
Default Solar System & Questions
• Create your own!
• See what happens when you
spawn a star in a random
location
• Launch comets at planets
• It’s your Solar System!