quaternions相关内容

使用四元数的最近邻居

鉴于四元数的值,我想在一组四元数中找到它的最接近的邻居.为此,我显然需要一种方法来比较两个四元数之间的“距离".这样的比较需要什么距离表示以及如何计算? 谢谢 乔什 解决方案 您的四元数只是3D空间中具有方向的一个点吗? 然后,两个四元数x1,y1,z1,w1和x2,y2,x2,w2之间的距离由下式给出: distance = sqrt((x1-x2)^2 + (y ..
发布时间:2020-05-16 23:25:32 其他开发

如何通过python或numpy将两个四元数相乘

我有两个四元数:Q1 = w0,x0,y0,z0和Q2 = w1,x1,y1,z1.我想通过使用NumPy或可以返回二维数组的Python函数将它们相乘.我在网上找到了一些由Christoph Gohlke编写的伪代码来进行这种乘法.我尝试了很多,但未能应用.有人可以帮我做这种乘法吗?伪代码在这里:` def quaternion_multiply(quaternion1, quaterni ..
发布时间:2020-05-13 19:21:49 Python

我可以在四元数中切换X Y Z吗?

我有一个Y轴为UP的坐标系.我需要将其转换为Z为UP的坐标系.我将旋转数存储在四元数中,所以我的问题是:如果我有四元数X,Y,Z,我可以用Z切换Y并得到Z实际为UP的结果吗? 解决方案 只需在四元数中交换两个轴?不,这不起作用,因为这会颠倒手性.但是,如果您翻转手性并否定四元数的实部,那么您将恢复原始手性.通常,您可以将其写为 Q'(Q,i'j'k')=ε i'j'k' Q w _w ..
发布时间:2020-05-07 19:01:18 其他开发

opengl矩阵旋转四元数

我正在尝试使多维数据集绕x和y轴进行简单旋转: 我想始终在x轴上旋转多维数据集x 并将多维数据集在y轴上旋转y,与x轴旋转无关 首先我天真地做了: glRotatef(x,1,0,0); glRotatef(y,0,1,0); 然后 但是首先旋转x然后旋转y 我想独立于x访问旋转y. 我开始研究四元数,所以我尝试了: Quaternion Rotation1 ..
发布时间:2020-05-07 18:53:33 其他开发

将对象的旋转定向到THREE.JS中的样条点切线

我正在使用 SplineCurve3 为了仅在X和Y轴上绘制一条线,我有一个立方体,通过使用spline.getPoint(t)沿该线成功设置了动画,其中t在时间上为0-1.我正在尝试通过点积通过Y的向上矢量将多维数据集定向到直线上. 几乎对齐,但略微对齐.我以为我会使用Y向量的点积和当前点的切线作为将四元数旋转到的角度. 这是我的渲染功能: function render() ..
发布时间:2020-05-07 18:38:39 其他开发

在代码中切换四元数的手征性?

我有四元数数据,我试图将其从右手的Y向上坐标空间切换到左手的Z向上坐标空间.通过阅读此书,我需要做的是switch the chirality. 我能找到的唯一信息是此 我不能把头缠住它. 说我的四元数为: public static float[] quat= new float[4](0.70711,0.70711,0,0); 在C#代码中,如何切换手性? 我 ..
发布时间:2020-05-06 11:45:33 C#/.NET

处理:使用四元数旋转3D对象适用于x轴,但不适用于y或z轴吗?

我正在根据来自串行设备的输入创建四元数.在“处理"中,我在下面的代码中绕x轴旋转.我的四元数对象接受输入并使用set函数设置值,欧拉角和规格化.数学有问题吗? 我注释掉了z和y的旋转,但是与x轴相比,基本上该对象旋转得不是很好,或者是抖动的,所以效果很好.我在下面的代码中做错了什么? 作为参考,下面的shape(model)行是使用loadShape加载的.obj文件中加载的3d对象, ..
发布时间:2020-05-06 11:40:16 Java开发

防止四元数绕某些轴旋转

我正在用鼠标编程相机控件.我希望用户能够向上或向下或向左或向右查找,但不能向一侧“倾斜".换句话说,我想允许Yaw和Pitch更改,但将Roll限制为0. 如何防止四元数绕某个轴旋转?当我只允许自己进行x轴旋转或y轴旋转时,一切正常,但是当由于某种原因同时允许两者旋转时,y旋转会受到影响并且相机会向侧面倾斜. 解决方案 如CNuts所述,串联多个偏航和俯仰旋转会导致侧倾旋转.但是,如 ..
发布时间:2020-05-06 11:39:13 C/C++开发

四元数和三轴

给出一个四元数q和三个3D向量(vx,vy,vz),它们形成坐标轴,它们可以沿任意方向定向,但彼此垂直,从而形成3d空间. 如何检查四元数q是否与某些3D向量(vx,vy,vz)朝相同的方向(或相反的方向)旋转? 解决方案 如果q =(w,x,y,z),其中w是“标量部分",而qv =(x,y,z)是“矢量部分", 那么您可以计算qv与每个基本向量vx,vy,vz之间的角度 使用点积 ..
发布时间:2020-05-06 11:25:27 其他开发

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

我使用slerp在表示旋转的两个四元数之间进行插值.然后将得到的旋转提取为欧拉角,以馈入图形库.这种作品,但是我有以下问题;沿左箭头所示的绿色箭头方向绕两个(一个很好的)轴旋转时 此处 旋转很快跳来跳去,从相反的位置向相反的视觉方向旋转,如右框架中的红色箭头所示. 从数学角度看,这可能是合乎逻辑的(尽管对我而言并非如此),但这是不希望的.围绕多个轴旋转时,始终遵循绿色箭头,直到插 ..
发布时间:2020-05-06 11:16:34 其他开发

找出两个四元数之间的旋转差以校准两个坐标系

我需要将四元数流数据偏移一定数量.为此,我计划获取2之间的差,然后将第一个偏移第二个. 我很难找到两者之间的区别. 使用此转换器. 我正在运行以下代码: public void convertQuat180() { Quaternion q = new Quaternion(0.65328f, 0.2706f, 0.65328f, -0.2706f); //45,1 ..
发布时间:2020-05-06 11:10:19 C#/.NET

如何插值旋转?

我有两个描述旋转的向量;开始旋转A和目标旋转B.如何最好地将因子A插值A逼近B? 当需要内插多个维度(即产生不希望的旋转)时,对向量使用简单的lerp无效.也许可以根据旋转向量构建四元数并使用slerp.但是,如何才能从生成的四元数中提取一个描述新旋转的矢量? 谢谢. 解决方案 由于我似乎不太了解您的问题,因此这里有一些 from numpy import * from nu ..
发布时间:2020-05-06 11:04:05 其他开发

从四元数中提取偏航

我有一个旋转四元数,并且想要提取绕Up轴(偏航角)的旋转角度.我正在使用XNA,据我所知,没有内置功能.最好的方法是什么? 感谢您的帮助, 韦纳图 解决方案 旋转的四元数表示形式是轴线和角度的变化.因此,如果绕轴 x , y , z 旋转 r 弧度,则四元数 q 是: q[0] = cos(r/2); q[1] = sin(r/2)*x; q[2] = sin(r/2)*y; ..
发布时间:2020-05-06 10:57:49 其他开发

四元数"lookAt"功能

我正在努力解决以下问题.我正在使用骨骼动画,所以我希望玩家的头部跟随空间中的另一个对象.我的上轴是+ Z,前轴是+ Y,四元数的大小以W为单位.我尝试对gluLookAt使用mesa代码,并使用3x3矩阵转换为四元数,但是它不能按预期工作所以我走了另一个方向... 到目前为止,我获得了以下代码,该代码“几乎"在至少播放器的头部朝着正确方向旋转(但是X角度似乎影响Y旋转轴)的情况下起作用,但是 ..
发布时间:2020-05-06 10:45:49 其他开发

两个四元数之间的差异

已解决 我正在用引擎制作3D门户系统(例如Portal游戏).每个门户网站都有其自己的方向,保存在四元数中.要在其中一个门户中渲染虚拟场景,我需要计算两个四元数之间的差异,并将结果用于旋转虚拟场景. 在左墙上创建第一个门户时,在右墙上创建第二个门户时,从一个方向到另一个方向的旋转将仅在一个轴上进行,但是例如,当第一个门户将在地板上创建时,第二个在右墙上,一个到另一个的旋转可能是在两个轴 ..
发布时间:2020-05-06 10:43:01 其他开发

两个四元数之间的“差异"

我在Ogre工作,但这是一个普遍的四元数问题. 我有一个对象,最初将旋转四元数Q1应用于该对象.稍后,我想像最初将对象旋转另一个四元数Q2一样. 如何计算四元数,该四元数将采用已经旋转Q1的对象并将其对齐,就好像我所做的只是将Q2应用于初始/默认方向一样?我一直在看,但是我不确定这是否只对 orientation 有用,而不是对 rotations 有用吗? 解决方案 听起来您 ..
发布时间:2020-05-06 10:37:21 其他开发

加速度计数据中的重力补偿

给出一个具有9 DOF的加速度计(加速度计,陀螺仪和磁力计)我想消除/补偿重力对加​​速度计读数的影响(加速度计可以自由旋转).传感器以四元数表示形式给出相对于(磁性)北,西和上参考系的方向. 我找到了这个 http://www.varesano .net/blog/fabio/simple-gravity-compensation-9-dom-imus 但无法理解给定方程式的基础. ..
发布时间:2020-05-06 10:37:15 其他开发