Firework Studio

  • View
    30

  • Download
    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 )

    Advisor :

    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