Click here to Skip to main content
Licence CPOL
First Posted 17 Feb 2009
Views 15,083
Downloads 551
Bookmarked 36 times

A C# Tiny Fireworks Simulator

By | 17 Feb 2009 | Article
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)

About the Author

Chootair

Engineer

France France

Member



Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
GeneralGreat! Pinmembermikkojay18:42 17 Jun '09  
Generalok PinmemberDonsw8:24 5 Mar '09  
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 PinmemberSk8tz1:35 24 Feb '09  

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

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

Permalink | Advertise | Privacy | Mobile
Web04 | 2.5.120604.1 | Last Updated 17 Feb 2009
Article Copyright 2009 by Chootair
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid