问题标签 [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.

0 投票
1 回答
2013 浏览

iphone - 使用四元数的 iPhone GLGravity 示例

GLGravity iPhone 示例展示了如何使用加速度计和 OpenGL 遭受 Gimbal Lock 问题。我想知道是否有任何代码可以使用四元数旋转而不是欧拉角?任何帮助将不胜感激,我长期以来一直在努力解决这个问题,但没有成功......

0 投票
1 回答
397 浏览

quaternions - 如何通过我的 1 轴陀螺仪获得四元数?

我的问题是,我的设备中有一个 1 轴陀螺仪和一个 3 轴加速度计。我设法通过加速度计得到四元数,但我不知道如何用陀螺仪做到这一点。

我希望能够通过我的陀螺仪(角速率信息)从中得到一个四元数。

0 投票
1 回答
1411 浏览

c++ - 四元数相机和射弹矢量

在我们的软件中,我们有一个基于鼠标移动的摄像头,其核心是四分之一。

我们想从这个位置发射射弹,我们可以这样做,但是我们想使用相机来瞄准。射弹采用一个向量,它将在每个游戏帧中添加到其位置。

我们如何从给定的相机/四元数中获取这样的向量?

0 投票
4 回答
11925 浏览

math - How to interpolate rotations?

I have two vectors describing rotations; a start rotation A and a target rotation B. How would I best go about interpolating A by a factor F to approach B?

Using a simple lerp on the vectors fails to work when more than one dimension needs to be interpolated (i.e. produces undesirable rotations). Maybe building quaternions from the rotation vectors and using slerp is the way to go. But how, then, could I extract a vector describing the new rotation from the resulting quaternion?

Thanks in advance.

0 投票
2 回答
5171 浏览

math - 使用四元数插值旋转时的翻转问题

我使用 slerp 在表示旋转的两个四元数之间进行插值。然后将生成的旋转提取为欧拉角,以输入图形库。这种作品,但我有以下问题;沿绿色箭头方向围绕两个(一个工作正常)轴旋转时,如左框架所示

这里

旋转很快就会跳来跳去,从相反的位置旋转到相反的视觉方向,如右图中的红色箭头所示。

从数学的角度来看,这可能是合乎逻辑的(尽管对我来说不是),但这是不受欢迎的。当围绕多个轴旋转时,如何实现没有视觉翻转和方向改变的插值,始终遵循绿色箭头直到插值完成?

提前致谢。

0 投票
1 回答
293 浏览

wpf - 如何确定显示 3D 平面的哪一侧?

这是一个 3d n00b 问题。

我正在开发一个 WPF 控件,它实现了 Silverlight 的 PerspectiveTransform 功能的基础知识,允许在三个轴中的任何一个上旋转 2D 平面。它工作得很好。但是,我对确定飞机后部是否显示所需的数学有点犹豫。我现在弄清楚这一点的天真代码是:

但是,当任一轴上的旋转在 +-270 和 +-360 之间时,这将失败。

底层变换是使用四元数对象进行实际旋转,它具有很好的 Axis 和 Angle 属性,所以我猜如果我知道如何使用它,我可以使用它。

0 投票
3 回答
2576 浏览

c++ - C ++ / openGL:使用四元数将QUAD旋转到一个点

当我在某个位置有一个 QUAD 时,如何旋转它以使其法线指向给定点?想象一下彩色块只是矩形四边形,那么这张图片就有点我的意思了。四边形都以指向球体中心的方式定向。

替代文字 http://emrahgunduz.com/wp-content/uploads/2009/01/material_id_gui-600x364.jpg

也许这第二张图片显示了我正在尝试做的更多事情: alt text http://img689.imageshack.us/img689/3130/screenshot20100708at555.png

我正在使用 openGL / C++(和 Eigen lib)。我有这个代码来绘制一个简单的四边形:

更新 17-07 亲爱的读者,

只是通过旋转四边形获得了一点点。我正在随机定位几个四边形,然后look_at使用以下回复中的描述使用此代码将它们旋转到 vector3f:

结果如下所示: 替代文字

正如你所看到的,我快到了,虽然四边形的旋转仍然有点“奇怪”。我看到下面带有彩色四边形的图像,您可以清楚地看到旋转的差异。如何旋转四边形以得到与下面的彩色球体相同的结果?

0 投票
4 回答
8293 浏览

opengl - opengl矩阵旋转四元数

我试图做一个立方体绕 x 和 y 轴的简单旋转:

我想始终将立方体在 x 轴上旋转 x 量,并将立方体在 y 轴上旋转 y 量,与 x 轴旋转无关

首先我天真地做了:

然后

但是首先在 x 上旋转然后在 yi 上旋转想要独立于 x 访问在 y 上旋转。

我开始研究四元数,所以我尝试了:

这几乎完全完成了连续 2 次 glRotates 所完成的工作......所以我认为我错过了一个或 2 步。

四元数是要走的路还是我应该使用不同的东西?如果四元数是可行的方法,我可以添加哪些步骤来使立方体独立于每个轴旋转。我认为其他人也有同样的问题: Rotating OpenGL scene in 2 axes

0 投票
4 回答
1775 浏览

math - 限制相机间距

当我只有相机四元数时,如何有效地限制相机间距?我是否必须转换为欧拉角,然后再转换为四元数,还是有其他方法?

0 投票
1 回答
1204 浏览

math - 四元数和三轴

给定一个四元数 q,和三个 3D 向量(vx, vy, vz),它们形成坐标轴,可以任意方向定向,但都相互垂直,从而形成一个 3d 空间。

如何检查四元数 q 是否旋转到与某些 3D 向量(vx、vy、vz)相同的方向(或相反的方向)?