三维几何变换

这篇博客详细介绍了三维几何变换,包括平移、比例、绕坐标轴的旋转以及组合变换。通过齐次坐标和变换矩阵,阐述了如何在三维空间中实现这些基本变换,并提供了绕任意轴旋转的算法。此外,还讨论了三维坐标变换的概念和坐标变换矩阵的构造方法。
摘要由CSDN通过智能技术生成

1、简介

三维平移变换、比例变换可看成是二维情况的直接推广。但旋转变换则不然,因为我们可选取空间任意方向作旋转轴,因此三维变换处理起来更为复杂。
与二维变换相似,我们也采用齐次坐标技术来描述空间的各点坐标及其变换,这时,描述空间三维变换的变换矩阵是4×4的形式。由此,一系列变换可以用单个矩阵来表示。

2、基本三维几何变换

2.1、平移变换

若空间平移量为 ( t x , t y , t z ) (t_x,t_y,t_z) tx,ty,tz,则平移变换为:
图片.png
{   x ‘ = x + t x   y ‘ = y + t y   z ‘ = z + t z \begin{cases} \ x^`=x+t_x \ \\ y^`=y+t_y \ \\z^`=z+t_z \end{cases}  x=x+tx y=y+ty z=z+tz

( x ‘ , y ‘ , z ‘ , 1 ) = ( x , y , z , 1 ) [ 1 0 0 0 0 1 0 0 0 0 1 0 t x t y t z 1 ] (x^`,y^`,z^`,1)=(x,y,z,1)\left[ \begin{matrix} 1& 0& 0&0\\ 0& 1& 0&0 \\ 0& 0& 1&0 \\ t_x&t_y& t_z&1 \\ \end{matrix} \right] (x,y,z,1)=(x,y,z,1)100tx010ty001tz0001
补充说明:点的平移、物体的平移、多面体的平移、逆变换

2.2、比例变换

(1)相对坐标原点的比例变换
一个点P=(x,y,z)相对于坐标原点的比例变换的矩阵可以表示为:
图片.png

( x ‘ , y ‘ , z ‘ , 1 ) = ( x , y , z , 1 ) [ S x 0 0 0 0 S y 0 0 0 0 S z 0 t x t y t z 1 ] (x^`,y^`,z^`,1)=(x,y,z,1)\left[ \begin{matrix} S_x& 0& 0&0\\ 0&S_y& 0&0 \\ 0& 0& S_z&0 \\ t_x&t_y& t_z&1 \\ \end{matrix} \right] (x,y,z,1)=(x,y,z,1)Sx00tx0Sy0ty00Sztz0001

x ‘ = x S x , y ‘ = y S y , z ‘ = z S z x^`=xS_x, y^`=yS_y ,z^`=zS_z x=xSx,y=ySy,z=zSz
其中, S x , S y , S z S_x,S_y,S_z Sx,Sy,Sz为正值。
(2)相对于所选固定的点的比例变换
图片.png
T ( − x f , − y f , − z f ) S ( s x , s y , s z ) T ( x f , y f , z f ) = [ S x 0 0 0 0 S y 0 0 0 0 S z 0 ( 1 − s x ) x f ( 1 − s y ) y f ( 1 − s z ) z f 1 ] T(-x_f,-y_f,-z_f)S(s_x,s_y,s_z)T(x_f,y_f,z_f)=\left[ \begin{matrix} S_x& 0& 0&0\\ 0&S_y& 0&0 \\ 0& 0& S_z&0 \\ (1-s_x)x_f&(1-s_y)y_f& (1-s_z)z_f&1 \\ \end{matrix} \right] T(xf,yf,zf)S(sx,sy,sz)T(xf,yf,zf)=Sx00(1sx)xf0Sy0(1sy)yf00Sz(1sz)zf0001

2.3、绕坐标轴的旋转

三维空间中的旋转变换比二维空间中的旋转变换复杂。除了需要指定旋转角外,还需指定旋转轴。
若以坐标系的三个坐标轴x,y,z分别作为旋转轴,则点实际上只在垂直坐标轴的平面上作二维旋转。此时用二维旋转公式就可以直接推出三维旋转变换矩阵。
规定在右手坐标系中,物体旋转的正方向是右手螺旋方向,即从该轴正半轴向原点看是逆时针方向。

(1)绕z轴旋转
图片.png
{   x ‘ = x c o s γ − y s i n γ   y ‘ = x s i n γ + y c o s γ   z ‘ = z \begin{cases} \ x^`=x cos\gamma-y sin\gamma \ \\ y^`=xsin\gamma+ycos\gamma \ \\z^`=z \end{cases}  x=xcosγysinγ y

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值