Click here to Skip to main content
15,881,803 members
Articles / Programming Languages / C#

A C# Tiny Fireworks Simulator

Rate me:
Please Sign up or sign in to vote.
4.25/5 (10 votes)
17 Feb 2009CPOL1 min read 45.3K   2.6K   38   3
A tiny fireworks simulator based on a simple physical engine. The user can configure 10 launchers with the initial speed of the bomb, the explosion form and the explosion colour.
FireWorksSimulator_Sources

Introduction

The purpose of the article is more to present the application than to explain the technical facets of the code which is in fact quite simple. The aim of the application is to display firework particles on a dedicated user control. In fact, the user control manages a list of fireworks bombs all along their life cycle; the user can launch at any time a new bomb via the bomb launcher controls on the bottom of the window.

Description

Each fireworks bomb contains a list of fireworks particles, the first time the list consists of only one particle launched on vertical axis; when this particle comes on its apogee, it is deleted and new particles populate the list; those particles symbolise the explosion particles.

At each timer tick, the simulator control refreshes the position of each particle of each bomb. The refresh position is computed by a basic physical engine; in fact each particle has a mass and forces applied on it. The physical engine uses the fundamental principle of dynamics: sum of external forces equals the mass multiplied by the acceleration.

The form of the explosion is given by the expression of the initial speed of the explosion particles. The application implements 10 different explosion forms; from basic (circle) to more strange ... Furthermore to try to improve the similarity, a fader effect plays on the particles.

History

  • 17th February, 2009: Initial post

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Engineer
France France
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
GeneralGreat! Pin
mikkojay17-Jun-09 18:42
mikkojay17-Jun-09 18:42 
Generalok Pin
Donsw5-Mar-09 8:24
Donsw5-Mar-09 8:24 
need somthing I am not sure what.

did you have fun doing this?

cheers,
Donsw
My Recent Article : Optimistic Concurrency with C# using the IOC and DI Design Patterns

GeneralMusic Pin
Sk8tz24-Feb-09 1:35
professionalSk8tz24-Feb-09 1:35 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.