【Computer Graphics】旋转变换:矩阵形式

本文详细介绍了2D和3D空间中物体的旋转变换,包括2D中绕原点和任意点旋转,以及3D中绕坐标轴和任意轴旋转的矩阵表示方法。通过分解平移、旋转和平移反操作,推导出旋转矩阵的计算公式,为计算机图形学中的旋转变换提供理论基础。
摘要由CSDN通过智能技术生成

内容

  1. 2D中绕原点旋转
  2. 2D中绕任意点旋转
  3. 3D中绕坐标轴旋转
  4. 3D中绕任意轴旋转

1. 2D中绕原点旋转

在二维坐标系中,物体只能绕点旋转;且逆时针旋转经常(不是必须)被认为是正方向。

设物体在二维坐标系中,绕原点旋转θ度角,求旋转矩阵:

如下图,原坐标系基向量 p,q 绕原点旋转,得到新的基向量 p',q'。     

知道了旋转后基向量的值,就可以如下所示用基向量造旋转矩阵

R(\theta ) = \begin{bmatrix} p'&q' \end{bmatrix} = \begin{bmatrix} cos\theta & -sin\theta \\ sin\theta & cos\theta \end{bmatrix}

或者是:

R(\theta ) =\begin{bmatrix} p'\\q' \end{bmatrix} = \begin{bmatrix} cos\theta & sin\theta \\ -sin\theta & cos\theta \end{bmatrix}

旋转后的坐标为:

\small x = x_0 \cdot cos\theta - y_0 \cdot sin\theta

\small y = x_0 \cdot sin\theta + y_0 \cdot cos\theta


2. 2D中绕任意点旋转

已知物体绕原点的旋转矩阵,那么绕任意一点的旋转,可以分解为平移,旋转,反平移这三个过程,可以分别求变换矩阵。

设点P = (x,y)P_0 = (x_0,y_0),求P点绕P_0点旋转\theta度角的旋转矩阵:

  • 平移:将P点坐标平移(-x_0,-y_0),平移矩阵如下:
    \begin{bmatrix} 1& 0 & -x_0\\ 0 & 1 & -y_0\\ 0 & 0 & 1 \end{bmatrix}

  • 旋转:将平移后的P点绕原点旋转\theta度,旋转矩阵如下:
    \begin{bmatrix} cos\theta & -sin\theta \\ sin\theta & cos\theta \end{bmatrix}

  • 反平移:将旋转后的坐标平移回去,平移矩阵如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值