首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >旋转一个物体,从三维的各个角度看它

旋转一个物体,从三维的各个角度看它
EN

Stack Overflow用户
提问于 2016-04-14 12:35:23
回答 1查看 196关注 0票数 0

我正在使用DirectX,相机和其他东西的设置已经在那里了。相机是看着一个物体,我想旋转,这样它就可以从各个角度观看。

当呈现对象时,通过乘以旋转矩阵和平移矩阵来创建矩阵。我现在的旋转矩阵是用XMMatrixRotationRollPitchYaw(x,y,z)创建的。

有没有一种方法来设置x,y,z,这样我就能做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-15 16:33:47

理论上,您只需对每个偏航、俯仰和滚动执行三个嵌套的for循环,从0度到180度不等(因为XMMatrixRotationRollPitchYaw需要弧度,而不是度,所以实际上从0到XM_PI弧度)。

注意,您可能会遇到使用欧拉角的万向节锁问题,这就是为什么四元数经常用于摄像机旋转控制的原因。

当然,这假设你想从每一个单一的角度看物体。如果您只想确保对象的每个部分都是可见的,您可以使用更大的增量,比如45度(XM_PI / 4.f弧度)。

你会有一些重复,因为你可以组合不同的欧拉角来产生相同的三维旋转。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36623308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档