基本变换(读书笔记5 --- Real-Time rendering)

时间:2021-10-06 09:10:23

刚体变换

即变换不改变了被变换顶点之间的距离,以及偏手性(不会让左右手坐标系颠倒)。

下面的平移变换、旋转变换即属于刚体变换

平移

从一个位置变到另一个位置可以用平移矩阵T来表示,这个矩阵将一个实体变换一个向量t = (tx, ty, tz).

基本变换(读书笔记5 --- Real-Time rendering)

如对于点P=(px,py,pz,1),经过平移变换后,即T(t)P=P'=(px + tx, py + ty, pz + tz, 1)

基本变换(读书笔记5 --- Real-Time rendering)

平移变换的逆矩阵与原来的平移量相同,但是方向相反

T-1 (t)=T(-t)

基本变换(读书笔记5 --- Real-Time rendering)

旋转

旋转变换将一个向量(位置或方向)绕给定轴旋转给定的角度。旋转变换矩阵通常用Rx(φ),Ry(φ),Rz(φ)来表示,即一个实体绕x,y及z轴分别旋转φ弧度

基本变换(读书笔记5 --- Real-Time rendering)

例子,将一个物体绕z轴以某个点p为中心点旋转φ弧度,那么我们首先将点p作为原点,即将物体平移到原点,如平移变换中所说,使用矩阵T(-p),然后再用旋转矩阵Rz(φ),最后在将物体平移回去到原先的原点。式子如下:

X = T(p)Rz(φ)T(-p)

基本变换(读书笔记5 --- Real-Time rendering)

缩放

缩放矩阵S(s)=S(sx,sy,sz)将一个实体以沿着x,y和z方向以sx,sy,sz的倍数缩放

基本变换(读书笔记5 --- Real-Time rendering)

如果sx=sy=sz,则叫均匀(uniform,or isotropic)缩放,否则就叫不均匀(nonuniform, or anisotropic)缩放。

如果sx,sy,sz中任意一个为负数,我们称矩阵为反射矩阵(reflection matrix,or mirror matrix)

未完待续。。。