Even More Rotations
So far, you've seen how to translate, rotate, and scale objects, but you've only
rotated using a method called CreateRotationY,
which rotates an object around the Y-axis.
There are other rotations that are worth noting here. You've probably guessed that
as there's a CreateRotationY, there will also be
CreateRotationX and CreateRotationZ methods. That's a pretty good guess, and as it turns
out, you're right. These methods can be used to rotate an object around the Y-, X-,
or Z-axis, respectively.
Another method used to apply rotations is Matrix.CreateFromYawPitchRoll. Essentially, this method allows you to
create a rotation that combines rotations around the X-, Y-, and Z-axes
simultaneously. As pictured in Figure 9-10, a
yaw rotates an object around the Y-axis, a
pitch rotates around the X-axis, and a
roll rotates around the Z-axis.

Figure 9-10. Yaw, pitch, and roll
There's another method that should be mentioned here as well: Matrix.CreateFromAxisAngle. This method takes a
parameter in the form of a Vector3 that
represents an axis upon which to rotate an object (rather than specifying X, Y, or
Z), as well as an angle at which to rotate the object. For example, imagine you're
building a model of the solar system. You'll want to specify some arbitrary axis for
the Earth to spin on, because the Earth's axis is tilted and doesn't line up exactly
with X, Y, or Z.
I'd recommend ...