Download - Firework Studio
Firework Studio
Computer ScienceFinal Year Project 2002/2003
Project Team ( BR1 ):
Chan Wai Wa ( Raymond )Cheng Fun Hop ( Brian )Ng Yat Wah ( Fat )
Advisor :
Dr. Michael S. Brown
Overview of Presentation
• Introduction• Design & Implementation• Results• Conclusion• Q&A
Introduction• Project background
• Originated in ancient China• Joy & happiness in celebrations
events
• Motivation• Commercial
• Design & testing efficiently
• Firework enthusiasts• Free creation
and design• Safe and legal
(in HK)
Introduction
• Description• Software for designing fireworks/
fireworks shows
• Challenges• Realistic results• Real time performance• Easy to use• Diversified design
• Architectural Overview • Design Pattern
• Model-View-Controller (MVC)− Advantage: Clarity of design, ease to growth...
System Design
Model
Controller
View
Model
Controller
View
• Components• Simulator• Viewer• Composer• Sound System
Composer
Viewer
Simulator
Sound System
Components• Simulator
• Core part • Based on Particle System• contains all calculations
• Viewer• For showing simulation
• Composer• Graphical User-Interface (GUI)
• Sound System• API for generating sound • Eg: explosion sound effect , background
music
By Newton’s 2nd law : F = ma i.e.a = F/mv(tn) = a(tn) + v(tn-1)x(tn) =v(tn) + x(tn-1)
xvf
positionvelocity
Force accumulator
Particle System
t1
t 2
t3 t4
External fo
rce
t5
t1
t 2
t3 t4
External fo
rce
t5
t1 – t4 : f1=f2=f3=t4=Gravitational force -> the velocity changes
t5 : Collision –> f5 = f4 + external forcef : for update position & velocityModified Particle SystemAssumption : No collision among firework particlesForce acting on particles : Gravitational force ONLY By Newton’s 2nd law : F = ma i.e.
a(t) = F(t)/m = constant = a
v(tn) = a + v(tn-1)v(tn) = a + v(tn-1) = a + ( a +v(tn-2) )v(tn) = a + v(tn-1) = a + ( a +v(tn-2) ) = ... = atn + v(t0)v(tn) = atn + v0 where v0 is initial velcoity
x(tn) =atn2/2 + v0tn + x(t0)
Initial position
Initial velocity v0
x0
x(tn) =atn2/2 + v0tn + x0where x0 is initial position
Constant
Advantages : •System can be updated at any timer value
preview firework at any timer value
Data structure
Design time Run time
Scene
Firework
Firework template
Emit action
Particle template
Scene
Particle Group
Particle
Explosion
- Create particles
- Make differences for a firework design
• Explosion types example
Firework Trails
Implementation
• Simulator (simulation engine)• VC++
• Viewer• OpenGL SDK
• Composer (GUI)• OpenGL User Interface (GLUI)
• Sound System • OpenAL
PerformanceConfiguration
Computer A Computer B Computer C Computer D Computer E
CPU Pentium 4 2.26 GHz
Pentium 3 1 GHz
Intel Celeron600 MHz
Pentium 3 733 MHz
Pentium 3 667 MHz
Memory 512 MB Ram 256 MB Ram 256 MB Ram 512 MB Ram 256 MB Ram
Video Card NVIDIA Geforce 2 MX/MX
400
Intel(r) 82815 Graphics
Controller
NVIDIA Geforce 2 MX/MX
400
On board S3 Graphic
Inc. ProSavage
S3 Graphic Inc.
Savage4
FPS result of different scene on each computer
A B C D E
A empty scene 86 9 60 6 5
A complex scene (texture disabled) 47 6 17 5 3
A complex scene (texture enabled) 20 3 5 2 2
A normal scene (texture disabled) 60 8 42 6 3
A normal scene (texture enabled) 39 5 28 5 3
Conclusion• Summary
• Realistic simulation • Easy to use• Real time result
• Possible Future Extensions • Ranged parameters• Movie export• Customization
Demonstration