firework studio

14
Firework Studio Computer Science Final Year Project 2002/2003 Project Team ( BR1 ): Chan Wai Wa ( Raymond ) Cheng Fun Hop ( Brian ) Ng Yat Wah ( Fat ) Advisor : Dr. Michael S. Brown

Upload: evania

Post on 15-Jan-2016

56 views

Category:

Documents


1 download

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

Page 1: Firework Studio

Firework Studio

Computer ScienceFinal Year Project 2002/2003

Project Team ( BR1 ):

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

Advisor :

Dr. Michael S. Brown

Page 2: Firework Studio

Overview of Presentation

• Introduction• Design & Implementation• Results• Conclusion• Q&A

Page 3: Firework Studio

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)

Page 4: Firework Studio

Introduction

• Description• Software for designing fireworks/

fireworks shows

• Challenges• Realistic results• Real time performance• Easy to use• Diversified design

Page 5: Firework Studio

• Architectural Overview • Design Pattern

• Model-View-Controller (MVC)− Advantage: Clarity of design, ease to growth...

System Design

Model

Controller

View

Model

Controller

View

• Components• Simulator• Viewer• Composer• Sound System

Composer

Viewer

Simulator

Sound System

Page 6: Firework Studio

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

Page 7: Firework Studio

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)

xvf

positionvelocity

Force accumulator

Particle System

t1

t 2

t3 t4

External fo

rce

t5

t1

t 2

t3 t4

External fo

rce

t5

t1 – t4 : f1=f2=f3=t4=Gravitational force -> the velocity changes

t5 : Collision –> f5 = f4 + external forcef : for update position & velocityModified Particle SystemAssumption : No collision among firework particlesForce acting on particles : Gravitational force ONLY By Newton’s 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 + v0 where v0 is initial velcoity

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

Initial position

Initial velocity v0

x0

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

Constant

Advantages : •System can be updated at any timer value

preview firework at any timer value

Page 8: Firework Studio

Data structure

Design time Run time

Scene

Firework

Firework template

Emit action

Particle template

Scene

Particle Group

Particle

Page 9: Firework Studio

Explosion

- Create particles

- Make differences for a firework design

Page 10: Firework Studio

• Explosion types example

Page 11: Firework Studio

Firework Trails

Page 12: Firework Studio

Implementation

• Simulator (simulation engine)• VC++

• Viewer• OpenGL SDK

• Composer (GUI)• OpenGL User Interface (GLUI)

• Sound System • OpenAL

Page 13: Firework Studio

PerformanceConfiguration

Computer A Computer B Computer C Computer D Computer E

CPU Pentium 4 2.26 GHz

Pentium 3 1 GHz

Intel Celeron600 MHz

Pentium 3 733 MHz

Pentium 3 667 MHz

Memory 512 MB Ram 256 MB Ram 256 MB Ram 512 MB Ram 256 MB Ram

Video Card NVIDIA Geforce 2 MX/MX

400

Intel(r) 82815 Graphics

Controller

NVIDIA Geforce 2 MX/MX

400

On board S3 Graphic

Inc. ProSavage

S3 Graphic Inc.

Savage4

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

Page 14: Firework Studio

Conclusion• Summary

• Realistic simulation • Easy to use• Real time result

• Possible Future Extensions • Ranged parameters• Movie export• Customization

Demonstration