有了前面笛卡尔冲的锋陷阵,我们的万丈高楼也将平地起。
话说二维坐标下的平移、旋转、缩放已铭记于心,那么我们就把它推而广之。
首先还是从三维的平移说起:
平移:
假设M是原点为(0,0,0)的坐标系,N是原点为(2,2,2)的坐标系,点P(px,py,pz)是M中的一点,那么点P在N中的坐标P‘是多少呢?
p'x = px - 2;p'y = py - 2;p'z = pz - 2;换成矩阵看看:
p'x = |px| + |-2|
p'y = |py| + |-2|
p'z = |pz| + |-2|
换成齐次坐标就为:
|p'x| | 1 0 0 tx| |px|
|p'y| = | 0 1 0 ty| * |py|
|p'z| | 0 0 1 tz| |pz|
| 1 | | 0 0 0 1| |1 |
对上面来讲:tx=-2,ty=-2;tz=-2;
旋转:
假设M是原点为(0,0,0)的坐标系,点p(px,py,pz)绕z轴逆时针旋转a度到点p',那么点p'是多少呢?
p'x = px*cosa - py*sina
p'y = px*sina + py*cosa
p'z = z
换成齐次坐标就为: