关于四元数、欧拉角与角度变换

2015-04-01 14:25:38 +08:00
 JConlee

最近在做一个计算机图形的项目,其中用到了一个角度变换的知识。我数学基础不是太好,不是很明白,向大家请教一下。

三维空间中有一物体,我要对其进行多次的角度变换,使其尽量、近似于达到每一个可能的朝向。
我的初步想法是用欧拉角,从(0,0,0)开始,每一次改变一点角度(0,0,+△a),满360°就进位上去,直到达到(360,360,360)。

我不是很清楚万向节锁、四元数这些数学概念,不知道上述思路能不能实现我的需求。或者应该换用四元数来表示角度变换,或者还有更好的解决思路。

请大家不吝赐教,谢谢。

2317 次点击
所在节点    问与答
4 条回复
27
2015-04-01 20:31:38 +08:00
「使其尽量、近似于达到每一个可能的朝向」这句话无法理解
JConlee
2015-04-01 20:41:47 +08:00
@27 额。。。就是让他转向每个方向。就像球心与球面上每个点的连线。
27
2015-04-01 21:19:16 +08:00
@JConlee

一个物体就是很多个点,所以我们只讨论一个点

本题可以简化为:空间中一个点用何种方法旋转可以使得轨迹为一个球面

1. 让这个点绕一个轴旋转360°
2. 轴自身绕一个与之正交的轴旋转360°,同时重复1

(从我的角度看类似二重积分)

我没怎么接触过欧拉角之类的东西,不太确定你的方法会不会有重复或者漏的,不过上面的方法可以保证不重不漏

看楼下有没有更好的办法
27
2015-04-03 15:59:02 +08:00
又想了一下,你的方法也不会有重复的,只不过你的需要三层循环

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/180851

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX