190 likes | 253 Views
Firework Studio. Computer Science Final Year Project 2002/2003. Advisor : Dr. Michael S. Brown. Project Team ( BR1 ): Chan Wai Wa ( Raymond ) Cheng Fun Hop ( Brian ) Ng Yat Wah ( Fat ). Overview of Presentation. Introduction Design & Implementation Results Conclusion Q&A.
E N D
Firework Studio Computer Science Final Year Project 2002/2003 Advisor : Dr. Michael S. Brown Project Team ( BR1 ): Chan Wai Wa ( Raymond ) Cheng Fun Hop ( Brian ) Ng Yat Wah ( Fat )
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
Controller Model View System Design • Architectural Overview • Design Pattern • Model-View-Controller (MVC) • Advantage: Clarity of design, ease to growth... • Components • Simulator • Viewer • Composer • Sound System Composer Controller Simulator Model View SoundSystem Viewer
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
t3 External force t4 x t2 position v Initial position velocity t1 t5 Force accumulator x0 Initial velocity f v0 Particle System 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) t1– t4 : f1=f2=f3=t4=Gravitational force -> the velocity changest5 : Collision –> f5 = f4 + external forcef : for update position & velocity t3 External force t4 t2 Modified Particle System Assumption : No collision among firework particlesForce acting on particles : Gravitational force ONLY t1 t5 Constant By Newton’s 2nd law : F = ma i.e. a(t) = F(t)/m = constant = a v(tn) = atn + v0where v0 is initial velcoity v(tn) = a + v(tn-1)= a + ( a +v(tn-2)) = ... = atn + v(t0) v(tn) = a + v(tn-1)= a + ( a +v(tn-2)) v(tn) = a + v(tn-1) x(tn) =atn2/2 + v0tn + x0 where x0 is initial position x(tn) =atn2/2 + v0tn + x(t0) • Advantages : • System can be updated at any timer value • preview firework at any timer value
Design time Run time Firework Firework template Particle Group Emit action Particle Particle template Data structure Scene Scene
Explosion - Create particles - Make differences for a firework design
Implementation • Simulator (simulation engine) • VC++ • Viewer • OpenGL SDK • Composer (GUI) • OpenGL User Interface (GLUI) • Sound System • OpenAL
Conclusion • Summary • Realistic simulation • Easy to use • Real time result • Possible Future Extensions • Ranged parameters • Movie export • Customization Demonstration