Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Computer Science Final Year Project 2002/2003 Firework Studio Project Team ( BR1 ): 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 View 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 2nd law : F = ma i.e. a = F/m v(tn) = a(tn) + v(tn-1) x(tn) =v(tn) + x(tn-1) position velocity Force accumulator t1 – t4 : f1=f2=f3=t4=Gravitational force -> the velocity changes t3 t5 : Collision –> f5 = f4 + external force f : for update position & velocity t3 Modified Particle System Assumption : No collision among firework particles Force acting on particles : Gravitational force ONLY By Newton’s 2nd law : F = ma i.e. Initial position a(t) = F(t)/m = constant = a Initial velocity v(tn) = at a+ v(t vn-1 a +v(tvn-2 ) )initial = ... =velcoity atn + v(t0) 0 is n + 0 ) = a + (where x(tn) =atn2/2 + v0tn + x(t x0 0) where x0 is initial position Advantages : •System can be updated at any timer value preview firework at any timer value x0 v0 x v f Data structure Design time Run time Scene Firework Firework template Scene Particle Group Emit action Particle Particle template 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 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 256 MB Ram 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 S3 S3 Graphic Inc. Graphic Savage4 Inc. ProSavage 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