# Firework Studio

• View
30

0

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Transcript

• Firework StudioComputer ScienceFinal Year Project 2002/2003Project Team ( BR1 ):

Chan Wai Wa ( Raymond )Cheng Fun Hop ( Brian )Ng Yat Wah ( Fat )

Dr. Michael S. Brown

• Overview of PresentationIntroductionDesign & ImplementationResultsConclusionQ&A

• IntroductionProject backgroundOriginated in ancient ChinaJoy & happiness in celebrations eventsMotivationCommercialDesign & testing efficientlyFirework enthusiastsFree creation and designSafe and legal (in HK)

• IntroductionDescriptionSoftware for designing fireworks/ fireworks shows ChallengesRealistic resultsReal time performanceEasy to useDiversified design

• System DesignArchitectural Overview Design PatternModel-View-Controller (MVC)Advantage: Clarity of design, ease to growth...

ModelControllerViewComponentsSimulatorViewerComposerSound System

ComposerViewerSimulatorSound System

• ComponentsSimulatorCore part Based on Particle Systemcontains all calculationsViewerFor showing simulation ComposerGraphical User-Interface (GUI)Sound SystemAPI for generating sound Eg: explosion sound effect , background music

• Particle System By Newtons 2nd law : F = ma i.e. a = F/m v(tn) = a(tn) + v(tn-1) x(tn) =v(tn) + x(tn-1) t1t2t3t4External forcet5t1 t4 : f1=f2=f3=t4=Gravitational force -> the velocity changes t5 : Collision > f5 = f4 + external force f : for update position & velocityModified Particle SystemAssumption : No collision among firework particles Force acting on particles : Gravitational force ONLY By Newtons 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 + v0where v0 is initial velcoity

x(tn) =atn2/2 + v0tn + x(t0)

x(tn) =atn2/2 + v0tn + x0where x0 is initial position

ConstantAdvantages : System can be updated at any timer valuepreview firework at any timer value

• Data structureSceneScene

• Explosion- Create particles

- Make differences for a firework design

• Explosion types example

• Firework Trails

• ImplementationSimulator (simulation engine)VC++ViewerOpenGL SDKComposer (GUI)OpenGL User Interface (GLUI)Sound System OpenAL

• Performance

• ConclusionSummaryRealistic simulation Easy to useReal time resultPossible Future Extensions Ranged parametersMovie exportCustomization

Demonstration