旋转矩阵与四元数

旋转矩阵与四元数

另一个 Blog 地址:http://insaneguy.me
原文链接:http://insaneguy.me/2015/03/25/rotation_matrix_and_quaternions/

在计算机图形学的学习中,几何变换(Transformations)是一块重要的内容,我们使用齐次坐标(Homogeneous coordinates)描述点和向量,使用变换矩阵描述平移、旋转等变换。

而在平移、旋转、缩放这几种变换中,又以旋转的情况最为复杂。实际上,计算机图形学中三维空间的旋转不仅仅有旋转矩阵一种表达形式,欧拉角(Euler angles)和四元数(Quaternions)也是常用的方法。



旋转矩阵

三维空间中的一个点 P ,我们用齐次坐标表示:

P=[x,y,z,w]T

我们首先考虑分别绕 X 轴、Y 轴、Z 轴旋转一定角度的情况。

绕坐标轴旋转

P 绕 X 轴、Y 轴、Z 轴的旋转角度分别为 α β θ

我们使用右手坐标系,旋转角度的正向由右手定则确定。

点绕坐标轴旋转可以考虑点在相应坐标平面上投影的旋转。比如绕 Y 轴旋转,那么考虑点 P 在 X-Z 平面上的投影的旋转,如下图所示:

绕Y轴旋转

假设点 P 在 X-Z 平面上的投影点与坐标原点连成的向量长度为 L ,那么根据简单的平面几何知识,我们可以得到:

[x1 z1]=[cosβ sinβsinβcosβ][x z]

用齐次坐标表示绕Y轴的旋转为:

x1 y1 z1 w1=cosβ 0 sinβ 00100sinβ0cosβ00001x y z w

同理可分别得到绕X轴与绕Y轴的情况。

绕X轴旋转:

x2 y2 z2 w2=1 0 0 00cosαsinα00sinαcosα0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值