【Realtime Rendering 1.1】
1、A linear transform is one that preserves vector addition and scalar multiplication. Specifically,
2、Combining linear transforms and translations can be done using an affine transform.
An affine transform is one that performs a linear transform and then a translation.
The main characteristic of an affine matrix is that it preserves the parallelism of lines, but not necessarily lengths and angles.
仿射变换保留了平行性,而没保留长度、角度特性。
3、All rotation matrices have a determinant of one and are orthogonal , the determinant of a rotation matrix is always one, since the matrix is orthogonal.
旋转不会改变正交矩阵的三个正交基,所以旋转矩阵还是正交矩阵。
4、绕某点旋转。
5、This order change can cause incorrect lighting and backface culling to occur. To detect whether a given matrix reflects in some manner, compute the determinant of the upper left 3 × 3 elements of the matrix. If the value is negative, the matrix is reflective.
6、绕某个单位向量缩放。
Assume that scaling should be done along the axes of the orthonormal, right-oriented vectors fx, f y, and f z.
First, construct the matrix F as below:
7、There are six basic shearing matrices,3 and they are denoted Hxy(s), Hxz(s), Hyx(s), Hyz(s), Hzx(s), and Hzy(s). The first subscript while the second subscript indicates the coordinate which does the shearing.
第一个下标指明被改变的坐标轴。
比如 Hxz(s):
8、H′ij(s, t) = Hik(s)Hjk(t)。 matrix |H| = 1, this is a volume preserving transformation.
9、变换的顺序非常重要,不同的顺序会导致不同的结果。
通常的旋转顺序是:
10、preserving lengths, angles, and handedness.
The inverse of X is computed as X−1 = (T(t)R)−1 = R−1T(t)−1 = RTT(−t).
is transposed, and the translation values of T change sign.
11、法线不能用 Model 矩阵进行变换。比如下图:
Tdeterminant is zero, the matrix is singular, and the inverse does not exist.
转换法线只要 3x3 矩阵就够了,因为法线没有 translate。
12、旋转。
interpolation should not rotate the object at all.
13、旋转矩阵
观察 4.20 可以发现:
最终可以得到如下公式:
14、Matrix Decomposition,various transforms from a concatenated matrix is called matrix decomposition.
4.2.2).
Isimply need the elements in the last column of the 4×4 matrix.
of the matrix is negative.
15、绕任意轴旋转。
16、根据给定r,计算出basis:r,s,t。
first9 of these.
选出绝对值最小的轴,将其置0。再将剩余两轴交换,将左起第一个非零值置为负。
the normalized vector r is then.
Goldman公式:
17、 the axis.
18、四元数的逆。
19、单位四元数可以写成下面这样。
20、Pwe have a unit quaternion ˆq = (sinφuq, cos φ).
can be used to rotate around any axis
ˆq and −ˆq represent the same rotation. That is, negating the axis, uq, and the real part, qw, creates a quaternion that rotates exactly as the original quaternion does.
is given by Equation 4.41:
21、A quaternion, ˆq, can be converted into a matrix Mq. (书上并未给出此公式的推导过程,而是直接给出此公式)
Here, the scalar is s = 2/n(ˆq). For unit quaternions, this simplifies to:
由 4.44 + 4.45 可以从M推导出四元数4.46:
令 y −q2,可以得到避免除法的公式:
22、The algebraic form of Spherical linear interpolation:
stands for spherical linear interpolation, is much more appropriate:
case with when interpolating using several Euler angles.
23、 球面样条插值。Squad。
quaternions ˆai and ˆai+1 between ˆqi and ˆqi+1.
24、After some algebraic and trigonometric simplification of Equation 4.43,the rotation matrix becomes [893]:
In this equation, we have used the following intermediate calculations:
the matrix.
25、Vertex Blending
called a skin.
the object,
of skinning, but rather is considered as being a part of Bi(t).
(fixed t).
26、Morphin(Vertex Morphing):混合顶点
Morph targets:基Model + Diff。如下图:
Skinning、Morph Target 一起使用可以达到非常好的效果。
27、正交矩阵的推导。
下面的矩阵用于在左右坐标系间切换:
DX中z值范围是[0,1],OpenGL中z值范围为[-1,1],可能通过以下矩阵来转换:
28、透视投影推导
29、透视投影中 z 值是非线性的。
device coordinate depth value is 0.833, not 0.