我只是在3D游戏编程中更深入地使用四元数(是的,我知道矩阵并且它们没问题,但我们总是要学习一些新东西),所以,我们可以像这样旋转一些对象Pout = q*Pin*conjug(q),q在哪里是四元数,Pin是一个对象(假设我们正在使用一些框架,这个类是为我们定义的)Vector3类,conjug(q)是它的共轭后的q四元数,最后Pout是新的Vector3的对象,我们得到了在旋转初始Vector3的对象之后Pin通过一些角度α(或theta,无论你喜欢什么).另外,我知道有一种方法可以组合旋转,如下所示:q_final = q2*q1(这表示由alfa1旋转,然后由alfa2角度旋转).最后,点积表示2个四元数之间的角度,比方说球体.这对我来说很清楚.我的问题将涉及分裂,加法和减法等问题.
我的问题是:有人可以告诉我,他们在3D编程中代表什么(划分,添加,减去四元数操作)?它们将如何影响3D模型?
先谢谢您的回答.
ps如果你(DarenW,bensiu,Dharmendra,Uwe Keim,Jennis)无法理解这个问题,请留下这个话题.有人可能会有答案.谢谢.
请考虑 :
cAxes = {{{0, 0, 0}, {0, 0, 1}}, {{0, 0, 0}, {0, 1, 0}}, {{0, 0,0}, {1, 0, 0}}};
Graphics3D[{Line /@ cAxes}, Boxed -> False]
Run Code Online (Sandbox Code Playgroud)

盒子里面有网格吗?我想"3D网格"