Game Development Reference
In-Depth Information
* integration is simpler and because in real-time
* simulation it is more useful to have objects with
* infinite mass (immovable) than zero mass
* (completely unstable in numerical simulation).
*/
real inverseMass;
};
It is really important to remember that you are dealing with the inverse mass,
and not the mass. It is quite easy to set the mass of the particle directly, without
remembering, only to see it perform completely inappropriate behavior on screen—
barely movable barrels zooming off at the slightest tap, for example.
To help with this, I've made the inverseMass data field protected in the Particle
class on the CD. To set the inverse mass you need to use an accessor function. I have
provided functions for setInverseMass and setMass . Most of the time it is more con-
venient to use the latter, unless we are trying to set an infinite mass.
3.2.5
M OMENTUM AND V ELOCITY
Although Newton 1 is often introduced in terms of velocity, that is a misrepresenta-
tion. It is not velocity that is constant in the absence of any forces, but momentum.
Momentum is the product of velocity and mass. Since mass is normally constant,
we can assume that velocity is therefore constant by Newton 1. In the event that a
traveling object were changing mass, then its velocity would also be changing, even
with no forces.
with any situation where mass changes. It will be an important distinction when we
come to look at rotations later, however, because rotating objects can change the way
their mass is distributed. Under the rotational form of Newton 1, that means a change
in rotational speed, with no other forces acting.
3.2.6
T HE F ORCE OF G RAVITY
The force of gravity is the most important force in a physics engine. Gravity applies
between every pair of objects: attracting them together with a force depends on their
mass and their distance apart. It was Newton who also discovered this fact, and along
with the three laws of motion he used it to explain the motion of planets and moons
with a new level of accuracy.
The formula he gave us is the “law of universal gravitation”:
G m 1 m 2
r 2
=
f
[3.3]