问题标签 [quaternions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
math - 平行或垂直于所有基向量的对象四元数
给定一个对象四元数 q,以及形成 3D 空间的基向量 vx、vy、vz,如何检查四元数是平行还是垂直于所有基向量?
例如,我有基向量:
和四元数
我知道四元数与所有基向量垂直或平行(或反平行),但我如何实际计算它?
另一个例子,
这与所有基向量都不是垂直或平行(或反平行)。
c++ - 弧球旋转 90 度
我已经通过四元数成功实现了 Arcball 旋转,但是当相机的方向向量平行于向上向量时,我对该怎么做感到困惑。目前我只是在方向向量和上向量的点积超过 0.99 时限制沿 x 轴(间距)的旋转。例如,在 Maya(或使用轨迹球旋转的 Max、XSI)中,您可以非常流畅地旋转一整圈。我希望有一个类似于 Maya 旋转的解决方案。
谢谢
geometry - 将四元数与轴进行比较
我将对象的方向存储为单位四元数,我想查看对象的局部 x 轴与全局 y 轴的角度。最简单的方法是什么?
谢谢!
rotation - 四元数绕轴旋转的分量
我很难找到关于这个主题的任何好的信息。基本上我想找到四元数旋转的分量,即围绕给定轴(不一定是 X、Y 或 Z - 任何任意单位向量)。有点像将四元数投影到向量上。因此,如果我要要求围绕与四元数轴平行的某个轴进行旋转,我会得到相同的四元数。如果我要要求绕与四元数轴正交的轴旋转,我会得到一个恒等四元数。介于两者之间......好吧,这就是我想知道如何解决的问题:)
c++ - 从陀螺仪+加速度计数据计算四元数
我在每个时间段都有陀螺仪+加速度计数据T
。
使用 C++,我想每次计算对象的旋转 - 它可以在其轴上旋转。我读过用四元数(不是欧拉角)来表示系统的旋转很方便。
如何从角速度(从陀螺仪)转换为四元数表示?我认为为了做到这一点,我需要使用数值方法求解微分方程。
c++ - 如何在 Ogre3D 中将对象方向设置为另一个对象?
我试过这样做:
并且完全没有运气。是否有一种简单的方法可以将一个骨骼旋转设置为另一个骨骼,任何提示或想法将不胜感激。谢谢。
opengl - 翻译四元数
(也许这对于数学堆栈交换更好?)
我有一条由骨头组成的链条。每根骨头都有一个带尖和尾巴的。以下代码在给定旋转的情况下计算其尖端的位置,并适当地设置链位置中的下一个链接:
如果旋转应该围绕对象坐标系的原点发生,则此方法有效。但是,如果我希望围绕对象中的其他任意点进行旋转怎么办?我不确定如何翻译四元数。最好的方法是什么?
(我正在使用 JOGL / OpenGL。)
3d - 什么是四元数旋转?
四元数旋转是否只是一个带有 X、Y、Z 的向量,对象将朝哪个方向旋转,以及一个使对象绕其轴旋转的滚动?
就这么简单吗?
这意味着如果您有 X=0、Z=0 和 Y=1,那么物体会朝上吗?
如果你有 Y=0、Z=0 和 X=1,那么物体会向右吗?
(假设 X 向右,Y 向上和 Z 深度)
math - 使用四元数沿球体表面移动
我正在编写一个 3D 游戏,其中用户控制第一人称相机,并且运动被限制在球体的内表面。我设法限制了运动,但我无法弄清楚如何使用四元数管理相机方向。理想情况下,相机向上矢量应该沿着球体的法线指向它的中心,并且用户应该能够自由地环顾四周——就好像我们总是在球体的底部,无论他移动到哪里。
c++ - 如何将四元数旋转转换为欧拉角?
我一直在互联网上搜索,但找不到将四元数符号中的旋转转换为欧拉角的方法。有办法吗?