Matrix Multiplication
All right, you've got yourself a fancy, shmancy triangle. You probably want to
make it do something else now, right? Well, let's talk about rotations and
translations. As mentioned previously, matrices are behind essentially everything
you do in 3D graphics. This is especially the case when you're trying to move,
rotate, or scale an object. You saw in the previous code that you had to set the
World property of the BasicEffect to Matrix.Identity. Let's see if we can make a little more sense out of
that now.
You can think of the World property of a
BasicEffect as a matrix that tells XNA where
to draw what you're about to tell it to draw and how to position it in the world
with an appropriate rotation and scale. It's similar to a coordinate at which to
draw the item (in fact, a 3D coordinate is contained within the matrix), but it's
much more than that, holding all the information for the rotation and scale as well.
We're not going to go into all the details here, but if you're interested in
investigating further, there are a lot of resources in mathematical textbooks and on
the Internet that will teach you all that you want to know about matrix
multiplication.
For the purposes of this book and as an introduction to XNA, you really just need
to know that matrix multiplication is behind all rotations, scales, translations
(movement), etc. in 3D graphics. The matrix represented by Matrix.Identity is what's known as the identity
matrix. The identity matrix is a special ...