三维旋转表示-2(旋转向量及罗德里格斯旋转公式推导)

本文详细介绍了如何使用旋转向量和罗德里格斯旋转公式在三维空间中进行旋转操作,涉及向量投影、轴向量计算和旋转矩阵的推导,以闫令琪的《GAMES101-现代计算机图形学入门》为参考,是理解计算机图形学变换的重要步骤。
摘要由CSDN通过智能技术生成
三维旋转表示-2(旋转向量及罗德里格斯旋转公式推导)
旋转向量

两个参数:

  • 旋转轴:三维单位向量,表示旋转轴方向;
  • 旋转角度:默认逆时针为正。
旋转向量转换旋转矩阵

罗德里格斯旋转公式(Rodrigues’ Rotation Formula):

欧拉角

其中:

  • n :作为旋转轴的单位向量
  • α :旋转角度
推导过程

解释以下名称的意义:

  • s :要被旋转的向量
  • s’:旋转后的向量

第一步: 以 n 为轴计算直角坐标系的另一条轴 b 向量,如图所示:

1

  1. 计算 s 向量在 n 向量上的分量向量,因为 n 向量为单位向量,所以 s 向量 点乘 n向量就是 s 在 n 向量上的投影长度,在乘以 n 向量就得到了投影向量。

2

  1. 通过向量相减,可以得到 s 向量在 n 向量垂直方向的投影向量

3

  1. 归一化后可以得到单位向量 b,作为直角坐标系的另一个轴。

4

第二步: 计算直角坐标系的第三条轴 c 向量,如图所示:

5

  1. 通过叉乘 n 向量和 b 向量,就可以得到第三个轴向量 c,也是需要进行归一化,得到单位向量。

6

这里需要注意,下边两个叉乘是相等的:

7

因为:

8

带入上边的公式可以推出相等。

9

第三步: 计算旋转后向量 s’ 的投影向量。

10

  1. 将 s 向量绕 n 向量旋转 α 度,可以求出在 b 向量和 c 向量所在平面上的投影向量

11

  1. s’ 向量在 n 向量上的投影向量,加上在b c 向量所在平面的投影向量,就得到了 s’ 向量。

12

  1. 带入之前求出的各个向量

13

  1. 约掉分子分母相同的项:

14

  1. 再带入 s 的投影向量

15

  1. 整理相同项

16

  1. 提出 s 向量,剩下的就是罗德里格斯公式

17

至此,推导完成!

参考
  1. GAMES101-现代计算机图形学入门-闫令琪 Lecture 04 Transformation Cont.
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值