计算机图形学 三维坐标下绕任意轴旋转角度的矩阵计算

首先介绍一下绕三个坐标轴旋转一定角度需要的矩阵,后面计算时要用到,这里设旋转角度为θ

三维坐标系下
绕z轴旋转θ的矩阵Rz(θ)
{ c o s θ − s i n θ 0 0 s i n θ c o s θ 0 0 0 0 1 0 0 0 0 1 } \left\{ \begin{matrix} cosθ& -sinθ & 0& 0\\ sinθ & cosθ & 0& 0\\ 0 & 0 & 1 &0\\ 0 & 0 & 0&1 \end{matrix} \right\} cosθsinθ00sinθcosθ0000100001
绕x轴旋转θ的矩阵Rx(θ)
{ 1 0 0 0 0 c o s θ − s i n θ 0 0 s i n θ c o s θ 0 0 0 0 1 } \left\{ \begin{matrix} 1& 0 & 0& 0\\ 0 & cosθ & -sinθ& 0\\ 0 & sinθ&cosθ&0\\ 0 & 0 & 0&1 \end{matrix} \right\} 10000cosθsinθ00sinθcosθ00001
绕y轴旋转θ的矩阵Ry(θ)
{ c o s θ 0 s i n θ 0 0 1 0 0 − s i n θ 0 c o s θ 0 0 0 0 1 } \left\{ \begin{matrix} cosθ& 0 & sinθ& 0\\ 0 & 1 & 0& 0\\ -sinθ & 0&cosθ&0\\ 0 & 0 & 0&1 \end{matrix} \right\} cosθ0sinθ00100sinθ0cosθ00001

绕任意轴旋转的计算的基本思想与二维平面下图像绕任意点旋转类似:

如下图,假设一图形绕P1P2所在的任意轴旋转角度θ,将任意轴经过一步步旋转、变换到旋转轴为z轴后再绕z轴进行旋转θ,最后再经矩阵逆变换到原来的位置。
在这里插入图片描述
步骤如下:
在这里插入图片描述
主要介绍Step1—>Step2—>Step3的内容包括:

1.求出P1P2直线的单位向量u(a,b,c),设P1(x1,y1,z1)P2(x2,y2,z2)直线为V轴:
在这里插入图片描述

2.设置转换矩阵,将P1P2移动到原点坐标处:
在这里插入图片描述
3.将u绕x轴旋转至xoz平面,效果如下图(a):
在这里插入图片描述
由上面的关系可以求出sinα,cosα:
在这里插入图片描述
并将α带入直线绕x轴旋转矩阵Rx(θ),得到旋转矩阵Rx(α):
{ 1 0 0 0 0 c / d − b / d 0 0 b / d c / d 0 0 0 0 1 } \left\{ \begin{matrix} 1& 0 & 0& 0\\ 0 & c/d & -b/d& 0\\ 0 & b/d&c/d&0\\ 0 & 0 & 0&1 \end{matrix} \right\} 10000c/db/d00b/dc/d00001

4.将xoz平面的u命名为u’’,令其绕y轴旋转β至与z轴重合:
在这里插入图片描述
并求出此次旋转的sinβ、cosβ、矩阵Ry(β):
在这里插入图片描述

Ry(β):
{ d 0 − a 0 0 1 0 0 a 0 d 0 0 0 0 1 } \left\{ \begin{matrix} d& 0 & -a& 0\\ 0 & 1 & 0& 0\\ a & 0&d&0\\ 0 & 0 & 0&1 \end{matrix} \right\} d0a00100a0d00001

最后绕z轴旋转θ,矩阵如下:
{ c o s θ − s i n θ 0 0 s i n θ c o s θ 0 0 0 0 1 0 0 0 0 1 } \left\{ \begin{matrix} cosθ& -sinθ & 0& 0\\ sinθ & cosθ & 0& 0\\ 0 & 0 & 1 &0\\ 0 & 0 & 0&1 \end{matrix} \right\} cosθsinθ00sinθcosθ0000100001

整个过程的变换矩阵为:
在这里插入图片描述

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好的!文西

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值