问题标签 [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.
3d - 在 OGRE 中获取对象方向
我有一个有身体和头部的角色。头部作为骨头与身体相连,我已经知道骨头的名字。现在我想得到头部的方向?那可能吗?我试过这个,但它似乎不起作用:
我认为我应该乘以除单位 x 向量之外的其他值,所以我尝试了所有组合。在这种情况下(即史密斯实体),我使用 得到了正确答案-Vector3::UNIT_X
,所以我认为这是正确的解决方案。我尝试了其他实体,但未能得到正确答案。
任何的想法?
distance - 使用四元数的最近邻
给定一个四元数,我想在一组四元数中找到它最近的邻居。为此,我显然需要一种方法来比较两个四元数之间的“距离”。这种比较需要什么距离表示,它是如何计算的?
谢谢,
乔什
math - 四元数仍然有万向节锁
我没有使用欧拉角,而是使用四元数来表示和处理 3D 中立方体的旋转。虽然它可以解决云台锁定问题,但我仍然遇到这个问题。
我的代码是:
这些rotate
函数来自http://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation#Pseudo-code_for_rotating_using_a_quaternion_in_3D_space(翻译成 JavaScript)。
我想问题是由于我仍然使用轴的顺序(x y z
),这是云台锁定的主要问题。
如何以解决万向节锁定的方式实现四元数旋转?
提前致谢。
rotation - 如何修改四元数以使一个轴上的欧拉旋转为零?
我有两个节点,我只知道其中一个的旋转。
我想将节点 1 的旋转应用到节点 2,但将一个轴归零(用欧拉术语)。
如何?
latitude-longitude - 经度/纬度到四元数
我有一个经度和纬度,想把它转换成四元数,想知道我该怎么做?我想使用它,因为我有一个将地球投影到球体上的应用程序,我想从一个位置旋转到另一个位置。
最好的!
iphone - 使用滚动、俯仰和偏航或四元数或旋转矩阵从 CMAttitude 计算高度和方位角
我遇到了一个问题。我想将 iPhone 的 CMAttitude 信息转换为高度(0 到 90 度)和方位角(0 到 360 度)。我在谷歌上搜索并点击了一些讨论它的线程,但没有一个线程得到肯定的答案,而且大多数讨论四元数和欧拉角的文章都是太多的数学知识,无法塞进我的大脑!
是否有一些开源材料可以轻松完成这项任务?或者有人编写了代码来执行这种转换?
编辑:首先,抱歉这么抽象!
方位角是设备指向的地球表面上的方向。比如北 = 0 度,东北 = 45 度,东 = 90 度,南 = 180 度等等。范围在 0 度到 360 度之间:
高度是从地球平面到天空中物体的角度:
谢谢,
拉吉
math - 从四元数中提取偏航
我有一个旋转四元数,想提取关于上轴(偏航)的旋转角度。我正在使用 XNA,据我所知,没有内置功能。做这个的最好方式是什么?
感谢您的帮助,维纳图
java - 四元数比较?
四元数比较可以吗?我正在编写一个四元数的 Java 类,我想实现Comparable
接口以使用该Collections.sort(List<Quaternion>)
工具。我不是数学专家,我真的不明白我读到的关于四元数的东西。那么,谁能告诉我我可以覆盖compareTo
四元数的方法以及如何?
我的班级宣言:
c++ - SLERP & 骨骼动画插值帮助!
我的程序中的骨骼动画工作正常,但是我在为每个骨骼存储的4x4矩阵之间以线性方式在帧之间进行插值,即
除非矩阵中有大量旋转,否则这是可以的 - 模型在关键帧之间略微挤压。
因此,我制作了一个单独的插值算法,仅将4x4矩阵的旋转部分转换为四元数,执行 SLERP,并仅将矩阵的旋转部分替换为四元数的矩阵版本。对于矩阵的平移部分,我只是以线性方式对其进行插值。
看结果,这显然是错误的!!!:'(
如果你非常了解这一切(不像我自己),你可能会想“不!这不是你做的!” - 如果是这样,请告诉我我做错了什么!
我不知道如何处理矩阵的翻译部分,因为我只能找到告诉你如何在四元数和3x3矩阵之间来回转换的资源。
任何帮助都感激不尽!!!!
objective-c - 似乎仍然有一个使用四元数的万向节锁
我使用参考四元数保持对象的位置...
我使用以下代码从 2D xy 触摸滑动旋转参考四元数...
要旋转对象,我将以下代码应用于对象中的每个 Vector 点...
它使用以下方法...
我的问题是,当对象处于 180 度左右时,如果我在 x 方向上旋转它,我无法在 y 方向上移动它。相反,如果我在 y 方向上旋转它,在旋转大约 180 度时,我无法在 x 方向上移动它。不知道我做错了什么!
发布脚本...
作为对评论员的回答,目前的整个四元数类如下: