Computer Science Final Year Project 20022003 Firework Studio














- Slides: 14
Computer Science Final Year Project 2002/2003 Firework Studio Project Team ( BR 1 ): Advisor : Chan Wai Wa ( Raymond ) Cheng Fun Hop ( Brian ) Ng Yat Wah ( Fat ) 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
System Design • Architectural Overview • Design Pattern • Model-View-Controller (MVC) − Advantage: Clarity of design, ease to growth. . . • Components • • Composer Simulator Controller Viewer Composer Sound System View Controller Model Simulator Model Viewer 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
Particle System By Newton’s 2 nd law : F = ma i. e. a = F/m v(tn) = a(tn) + v(tn-1) x(tn) =v(tn) + x(tn-1) t 1 – t 4 : f 1=f 2=f 3=t 4=Gravitational force -> the velocity changes t 3 t 5 : Collision –> f 5 = f 4 + external force t 2 f : for update position & velocity Modified Particle t. System t 4 t 3 t rce f 4 o t 2 t 1 te Ex l a rn f t Ex tant s n Co where x 0 is initial position Advantages : • System can be updated at any timer value preview firework at any timer value al n er ce r o t 5 Assumption : No collision among firework particles Force acting on particles : Gravitational force ONLY By Newton’s 2 nd law : F = ma i. e. Initial position a(t) = F(t)/m = constant = a Initial velocity v(tn) = a at+ v(t vn-1 a +v(tvn-2 ) )initial =. . . =velcoity atn + v(t 0) 0 is n + 0 ) = a + (where 1 x(tn) =atn 2/2 + v 0 tn + x(t x 0 0) x v f position velocity Force accumulator x 0 v 0
Data structure Design time Run time Scene 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 • Open. GL SDK • Composer (GUI) • Open. GL User Interface (GLUI) • Sound System • Open. AL
Performance Configuration CPU Memory Video Card Computer A Computer B Computer C Computer D Computer E Pentium 4 2. 26 GHz Pentium 3 1 GHz Intel Celeron 600 MHz Pentium 3 733 MHz Pentium 3 667 MHz 512 MB Ram 256 MB Ram NVIDIA Geforce 2 MX/MX 400 Intel(r) 82815 Graphics Controller NVIDIA Geforce 2 MX/MX 400 On board S 3 Graphic Inc. Graphic Savage 4 Inc. Pro. Savage 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