官术网_书友最值得收藏!

What is a matrix?

A matrix is a two-dimensional array of numbers. A square matrix is one whose width and height are the same. In this chapter, you will implement a 4 x 4 matrix; that is, a matrix with four rows and four columns. The elements of this matrix will be stored as a linear array.

A 4 x 4 matrix can be thought of as four vectors that have four components each, or an array of vec4s. If the vectors represent the columns of the matrix, the matrix is column-major. If the vectors represent the rows of the matrix, it is row-major.

Assuming a 4 x 4 matrix contains the letters A, B, C, D … P of the alphabet, it can be constructed as either a row- or column-major matrix. This is demonstrated in the following Figure 3.1:

Figure 3.1: Comparing row- and column-major matrices

Figure 3.1: Comparing row- and column-major matrices

Most math books and OpenGL use column-major matrices. In this chapter, you will be implementing column-major matrices as well. Understanding what is in a matrix is important. The diagonal of the matrix contains scaling information, and the final column contains translation:

Figure 3.2: What is stored in a matrix?

Figure 3.2: What is stored in a matrix?

The upper 3 x 3 submatrix contains three vectors; each of these is a basis vector for the matrix's rotation. The basis vectors are the up, right, and forward directions stored in the matrix. You might have noticed that the rotation and scale components occupy the same space in the matrix.

主站蜘蛛池模板: 万全县| 麟游县| 牡丹江市| 凤翔县| 伊春市| 叙永县| 隆林| 西峡县| 天水市| 磐安县| 读书| 邵东县| 中卫市| 辉县市| 镇坪县| 嫩江县| 彭山县| 工布江达县| 穆棱市| 黄浦区| 泽普县| 阿勒泰市| 融水| 六枝特区| 威信县| 五华县| 老河口市| 兰州市| 大英县| 郸城县| 岳池县| 南澳县| 民县| 柘荣县| 平遥县| 邵东县| 锡林郭勒盟| 霍邱县| 民和| 油尖旺区| 镇远县|