Game Development Reference

In-Depth Information

Figure 1.9.
Using the symplectic Euler method to approximate an orbit.

uses an implicit value of velocity to update position:

v
i
+1

=
v
i
+
h
F
(
t
i
,
x
i
,
v
i
)
/m,

=
x
i
+
h
v
i
+1
.

x
i
+1

This takes advantage of the fact that velocity is the derivative of position, and

the end result is that we get a very stable method that only requires one force

calculation. It does have the disadvantage that it is not as accurate with constant

forces, but in those cases, we should consider using Equation (1.4) anyway.

In Figure 1.9, we see the result of using symplectic Euler with one step of our

orbit example. Admittedly this is a bit contrived, but we see that, in principle,

it is extremely stableâ€”neither spiraling outward as explicit Euler would do nor

spiraling inward as implicit Euler would do.

1.8 Further Reading

This chapter is mainly intended as an overview, and the interested reader can find

more details in a wide variety of sources. Good references for linear algebra with

widely varying but useful approaches are [Anton and Rorres 94] and [Axler 97].

Kenneth Joy also has a good series on vectors, points, and affine transformations,

found in [Joy 00c], [Joy 00b], and [Joy 00a].

The standard quaternion reference for graphics is [Shoemake 85], which has

been expanded to excellent detail in [Hanson 06]. An early series of articles

about game physics is [Hecker 97], and [Witkin and Baraff 01] provides thorough

coverage of the early Pixar physics engine. It is also worth mentioning [Catto 06],

which first introducedme to the symplectic Euler method, for which I am eternally

grateful.

Finally, without modesty, a good general source for all of these topics is my

own work, cowritten with Lars Bishop [Van Verth and Bishop 08].