二维矩阵变换:
我们把每个点坐标A(x, y)看成一个行向量a(x, y),采用齐次坐标法,即每个顶点坐标增加一个相同的分量1作为矩阵的一行,即(x,y,1)
1.平移:
平移向量P为(a,b),点A(x,y)平移后变为A'(x + a, y + b)
点A的矩阵为[x, y, 1],平移变换矩阵为
点A的矩阵乘以平移变换矩阵得到平移后的矩阵为
2.旋转
旋转中心是坐标原点。旋转角度是β。
矩阵中的θ是图形绕坐标原点逆时针旋转的角度。
旋转变换矩阵
点A的矩阵[x, y, 1]乘以旋转矩阵得到矩阵A'
3.缩放
缩放中心是坐标原点,点(x,y)缩放到点(my,ny),m、n是缩放因子。
缩放变换矩阵:
点A(x,y),则点A的矩阵为[x, y ,1];当点A的矩阵乘以缩放变换矩阵可以得到缩放后点的矩阵为:
4.对称
(1)x轴对称
A(x,y) --> A'(x, -y)
对称矩阵
(2) y轴对称
A(x, y) --> A'(-x, y)
对称矩阵
(3)原点对称
A(x, y) --> A'(-x, -y)
对称矩阵
5.错切变换
(1)图形关于X轴方向的错切变换,各点的纵坐标不变:
A(x, y) --> A'(x + cy , y)
关于X轴错切变换矩阵为:
(2)图形关于Y轴方向的错切变换,各点的横坐标不变:
A(x, y) --> A'(x , y + cx)
关于X轴错切变换矩阵为:
关于Y轴错切变换矩阵为:
6.组合变换
组合变换就是上面所介绍的平移变换,缩放变换,旋转变换, 对称变换,错切变换的相互作用之后产生的变换。
所有的图形变换都是基本变换的组合,这样图形变换就容易多了
参考:
https://blog.csdn.net/a396901990/article/details/44905791
三维矩阵变换
对三维空间的点P=[X Y Z],采用规范齐次坐标则与二维情况类似
1.平移变换
平移向量P为(tx,ty,tz),点A(x,y,z)平移后变为A'(x + tx, y + ty,z + tz)
点A的矩阵为[x, y, z,1],平移变换矩阵为
点A的矩阵乘以平移变换矩阵得到平移后的矩阵为
2.旋转
矩阵中的θ是图形绕坐标轴逆时针旋转的角度。
(1)绕z轴旋转
A(x,y,z)旋转后变为A'(xcosθ - ysinθ, xsinθ + ycosθ, z)
旋转变换矩阵
点A的矩阵乘以旋转变换矩阵得到旋转后的矩阵为
(2)绕x轴旋转
A(x,y,z)旋转后变为A'(x, ycosθ - zsinθ, ysinθ + zcosθ)
旋转变换矩阵
点A的矩阵乘以旋转变换矩阵得到旋转后的矩阵为
(3)绕y轴旋转
A(x,y,z)旋转后变为A'(xcosθ + zsinθ,y, zcosθ - xsinθ)
旋转变换矩阵
点A的矩阵乘以旋转变换矩阵得到旋转后的矩阵为
3.缩放
(1)局部缩放
相对坐标原点的比例变换
A(x,y,z)旋转后变为A'(xSx, ySy, zSz), Sx, Sy, Sz为缩放因子
缩放变换矩阵
点A的矩阵乘以缩放变换矩阵得到旋转后的矩阵为
(2)整体缩放
缩放矩阵为
点A的矩阵乘以缩放变换矩阵得到旋转后的矩阵为
4.对称变换
(1)关于对称平面变换
1.1关于xoy平面对称变换
1.2关于xoz平面对称变换
1.3关于yoz平面对称变换
(2)关于对称轴变换
2.1关于x轴对称变换
2.2关于y轴对称变换
2.3关于z轴对称变换
三维变换矩阵的功能分块
左下角三维平移变换部分,左上角三维线性变换部分,右上角透视变换部分,右下角整体比例因子
任何三维变换都可以转换为基本三维变换的组合
比如绕任意轴旋转,可通过平移,旋转等基本三维变换转换为绕某坐标轴旋转;
参考:
https://blog.csdn.net/piaoxuezhong/article/details/70171525