Particle Systems are physics models that model small particles. Long ago those systems have been introduced to game engines and are the foundation of creating a realistic looking environment. They are great to, for example, model explosions, vapor trails and general lights in a game.

In this tutorial the equation of reflection off of any hypersurface, i.e. off a line in 2D and off a plane in 3D, is derived from the known observation that the angle of incidence equals the angle of reflection.

A projectile is an object that is launched into motion and then allowed to follow a path determined solely by the influence of gravity. Air resistance and the Earth's rotation are ignored for the moment. Projectile movement is implemented in C++ using symplectic Euler integration.