Click here to Skip to main content
14,665,452 members
Articles » Desktop Development » Miscellaneous » General
Posted 17 Feb 2009

Tagged as


38 bookmarked

A C# Tiny Fireworks Simulator

Rate this:
4.25 (10 votes)
Please Sign up or sign in to vote.
4.25 (10 votes)
17 Feb 2009CPOL
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.


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.


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.


  • 17th February, 2009: Initial post


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


About the Author

France France
No Biography provided

Comments and Discussions

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

did you have fun doing this?

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.