关于3D空间旋转矩阵的推导

由于工作的原因,很少有时间来写博客了。这段时间,由于项目版本完结,有几天的休息时间,同时自己也在学习关于DX11,所以将过程中遇到的一些心得记录下来。

 在复习3D空间的基础时,发现看到旋转矩阵,一时想不起如何推导出来的。所以,又尝试推导了一下。

 

如:初始变换坐标P0(x0, y0, z0), 变换后的坐标P1(x1, y1, z1)。为了方便推导,我们架设是绕着Z轴进行旋转的,并使用极坐标来表示:

x0 = RcosA,       x1 = RcosC = Rcos(A + B) = R(cosAcosB - sinAsinB) = RcosA cosB - RsinA sinB = x0 cosB - y0 sinB,

y0 = RsinA,        y1 = RsinC = Rsin(A + B) = R(sinAcosB + cosAsinB) = RsinA cosB + RcosA sinB = y0 cosB + x0 sinB,

即:

x1 = x0 cosB - y0 sinB,

y1 = x0 sinB + y0 cosB,

z1 = z0,

 

那么绕着Z轴的旋转矩阵就可以得到:

cosB       -sinB       0

sinB        cosB       0

0             0            1

 

绕着X轴和Y轴的,可以类似推导。关于绕任意轴旋转的推导更麻烦一点,这里不再推导。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值