Game Development Reference
In-Depth Information
APPENDIX B
Matrix Operations
This appendix implements a class called Matrix3x3 that encapsulates all of the opera‐
tions you need to handle 3×3 (nine-element) matrices when writing 3D rigid-body
simulations.
Matrix3×3 Class
The Matrix3x3 class is defined with nine elements, e ij , where i represents the i th row
and j the j th column. For example, e 21 refers to the element on the second row in the
first column. Here's how all of the elements are arranged:
The class has two constructors, one of which initializes the matrix elements to zero, and
the other of which initializes the elements to those passed to the constructor:
class Matrix3x3 {
public:
// elements eij: i -> row, j -> column
float e11, e12, e13, e21, e22, e23, e31, e32, e33;
Matrix3x3(void);
Matrix3x3(float r1c1, float r1c2, float r1c3,
float r2c1, float r2c2, float r2c3,
float r3c1, float r3c2, float r3c3 );
float det(void);
Matrix3x3 Transpose(void);
Matrix3x3 Inverse(void);
 
Search Nedrilad ::




Custom Search