Errata

As they are found, errata will be listed
under the appropriate chapter headings. Thus, it would be good
to refer back to this page from time to time.

**Introduction****Simulation Foundations****Follow the Bouncing Ball****Particle Systems**
pg. 46: The exponent in the Gaussian formula is missing a negative sign.
**Particle Choreography****Interacting Particle Systems****Numerical Integration**
pg. 115: The label on the top of the rightmost graph should
read Third order not Second order.
**Deformable Springy Meshes****Rigid Body Dynamics****Rigid Body Collisions and Contact****Constraints****Articulated Bodies**

pg. 261: in the ComputeArticulatedInertia() procedure, the term

*L*[i]**L**[i]**Foundations of Fluid Dynamics**
pg. 267: In this chapter should read In
this section.
**Smoothed Particle Hydrodynamics**
pg. 283 1st paragraph: IN THIS SECTION ...
should read IN THIS CHAPTER ..., and hydrodynamics
should read fluid dynamics.
**Finite Difference Algorithms**

pg 25, Fig. 3.1: The assignment Timestep = TimestepRemaining; should be
just after the **while** statement, not before, as currently in the text. The
comment try to simulate a full timestep should be on the assignment
TimestepRemaining = h;

pg. 47: Brian Wyvill points out that Archimedes hatbox:
http://mathworld.wolfram.com/ArchimedesHat-BoxTheorem.html is another useful approach to understanding how to distribute random points uniformly over a sphere.
In addition, there is an easier to understand algorithm by Marsaglia
that begins by picking pairs of uniformly distributed random numbers
x_{1} and x_{2} over the interval
[-1, 1] and rejecting pairs for which
x_{1}^{2} + x_{2}^{2} >= 1
http://mathworld.wolfram.com/SpherePointPicking.html.

pg. 55: At the top of the page had its speed
reduced by ρ should read had its speed
reduced by c_{r}

pg. 76: In the figure at the top of the page, the label v̂_{i} should be on the velocity vector, not on the vector between the
particle position and the sphere center.

pg. 97: The first sentence to the left of the diagram has a spurious 0. It should read ... near to each other but relatively far ...

pg. 141: At the bottom of the worked example, the
solution for v_{1}^{[n+1]} should be
-1.089 not -1.09.

pg. 200: Clarification: the definition of omega in the derivation of q-dot should make it
clear that **u** is the unit vector in the direction of the angular velocity vector
(i.e. it is parallel to the axis of rotation), and
theta-dot is the signed magnitude of the angular velocity (i.e. it is the rotational speed, with sign determined by the right-hand rule).

pg. 268: The last paragraph of section 13.1 should read:

In the rest of this chapter we first lay out the
mathematical foundations for treating continuous fields,
and describe the Navier-Stokes equations for fluid
momentum update. In the following two chapters we go on
to demonstrate the most popular Lagrangian and Eulerian
methods for simulating fluids for computer animation.

pg. 285 top: The integral should be over the volume of the kernel, not a path integral.

**Vectors****Matrix Algebra****Affine Transformations****Coordinate Systems****Quaternions****Barycentric Coordinates**

pg. 323: To the left are ... should read To the right are ....

pg. 337: The determinant |M| in example 1. should be 3, not 1/3.

pg. 345: Last sentence should read Appendices D and E provide alternate methods for specifying rotation.

pg. 350: Clarification - the third figure down on the right has a curved arrow containing an "x". This is meant to be the crossproduct symbol, not the coordinate x. So the meaning of the figure is that crossing **a** into **b** gives a vector in the direction of **u**_{z}.

Foundations of Physically Based Modeling & Animation