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!