标签:begin 目的 display 变换 mat 二维 class 几何 加法
二维几何变换
齐次坐标
- 齐次坐标就是用n+1维矢量表示n维矢量,\(p(x,y)\)的齐次坐标表示为\((wx,wy,w)=(X,Y,w)\)。
- 二维规范化齐次坐标:\(w=1\)时,\(p(x,y,1)\)
- 类似三维规范化齐次坐标为\((x,y,z,1)\)
- 齐次坐标的目的:避免了平移变换使用矩阵加法运算,是为了规范化编程。
平移变换
\[ \left [\begin{matrix}
x^` \y^` \1
\end{matrix}\right ]=
\left [\begin{matrix}
x+T_x \y+T_y \1
\end{matrix}\right ]=
\left [\begin{matrix}
1 & 0 & T_x \0 & 1 & T_y \0 & 0 &1
\end{matrix}\right ]
\left [\begin{matrix}
x \y \1
\end{matrix}\right ]
\]
比例变换
\[ \left [\begin{matrix}
x^` \y^` \1
\end{matrix}\right ]=
\left [\begin{matrix}
xS_x \yS_y \1
\end{matrix}\right ]=
\left [\begin{matrix}
S_x & 0 & 0 \0 & S_y & 0 \0 & 0 & 1
\end{matrix}\right ]
\left [\begin{matrix}
x \y \1
\end{matrix}\right ]
\]
旋转变换
\[ \left [\begin{matrix}
x^` \y^` \1
\end{matrix}\right ]=
\left [\begin{matrix}
xcos\beta-ysin\beta \xsin\beta+ycos\beta \1
\end{matrix}\right ]=
\left [\begin{matrix}
cos\beta & -sin\beta &0 \sin\beta & cos\beta & 0 \0 & 0 & 1
\end{matrix}\right ]
\left [\begin{matrix}
x \y \1
\end{matrix}\right ]
\]
三维变换
三维变换矩阵
\[ T=
\left [ \begin{matrix}
a & b & c & l \d & e & f & m \g & h & i & n \p & q & r & s
\end{matrix} \right]
\]
其中:
\[ T_1=
\left[\begin{matrix}
a & b & c \d & e & f \g & h & i
\end{matrix}\right]
\]
比例变换
\[ T=
\left [ \begin{matrix}
S_x & 0 & 0 & 0 \0 & S_y & 0 & 0 \0 & 0 & S_z & 0 \0 & 0 & 0 & 1
\end{matrix} \right]
\]
绕x轴旋转变换
\[ T=
\left [ \begin{matrix}
1 & 0 & 0 & 0 \0 & cos\beta & -sin\beta & 0 \0 & sin\beta & cos\beta & 0 \0 & 0 & 0 & 1
\end{matrix} \right]
\]
绕y轴旋转变换
\[ T=
\left [ \begin{matrix}
cos\alpha & 0 & sin\alpha & 0 \0 & 1 & 0 & 0 \-sin\alpha & 0 & cos\alpha & 0 \0 & 0 & 0 & 1
\end{matrix} \right]
\]
绕z轴旋转变换
\[ T=
\left [ \begin{matrix}
cos\gamma & -sin\gamma & 0 & 0 \sin\gamma & cos\gamma & 0 & 0 \0 & 0 & 1 & 0 \0 & 0 & 0 & 1
\end{matrix} \right]
\]
关于x轴的反射
\[ T=
\left [ \begin{matrix}
1 & 0 & 0 & 0 \0 & -1 & 0 & 0 \0 & 0 & -1 & 0 \0 & 0 & 0 & 1
\end{matrix} \right]
\]
关于y轴的反射
\[ T=
\left [ \begin{matrix}
-1 & 0 & 0 & 0 \0 & 1 & 0 & 0 \0 & 0 & -1 & 0 \0 & 0 & 0 & 1
\end{matrix} \right]
\]
关于z轴的反射
\[ T=
\left [ \begin{matrix}
-1 & 0 & 0 & 0 \0 & -1 & 0 & 0 \0 & 0 & 1 & 0 \0 & 0 & 0 & 1
\end{matrix} \right]
\]
沿x方向错切
\[ T=
\left [ \begin{matrix}
1 & b & c & 0 \0 & 1 & 0 & 0 \0 & 0 & 1 & 0 \0 & 0 & 0 & 1
\end{matrix} \right]
\]
沿y方向错切
\[ T=
\left [ \begin{matrix}
1 & 0 & 0 & 0 \d & 1 & f & 0 \0 & 0 & 1 & 0 \0 & 0 & 0 & 1
\end{matrix} \right]
\]
沿z方向错切
\[ T=
\left [ \begin{matrix}
1 & 0 & 0 & 0 \0 & 1 & 0 & 0 \g & h & 1 & 0 \0 & 0 & 0 & 1
\end{matrix} \right]
\]
\[ T_2=
\left[\begin{matrix}
l \m \n
\end{matrix}\right]
\]
\[ T=
\left [ \begin{matrix}
1 & 0 & 0 & T_x\0 & 1 & 0 & T_y \0 & 0 & 1 & T_z \0 & 0 & 0 & 1
\end{matrix} \right]
\]
\[ T_3=
\left[\begin{matrix}
p & q & r
\end{matrix}\right]
\]
立方体建模
- 边界标识法:定义顶点表示几何信息,定义面表示拓扑信息
二维与三维坐标变换
标签:begin 目的 display 变换 mat 二维 class 几何 加法
原文地址:https://www.cnblogs.com/brilliantM/p/14782171.html