quaternions

    2热度

    1回答

    我不太确定我的问题是否曾被问过。无论什么时候提出要求,都是根据特定的语言。 比方说,我有一个对象旋转表示为一个四元数q = {w,x,y,z}。 我想旋转这个四元数A弧度围绕y轴。由于四元数已经是一个旋转度量,我应该只是将另一个代表所需旋转的四元数加到(或乘)到q上?怎么会这样呢? 感谢您的帮助。

    1热度

    1回答

    我一直在开发一个基本的游戏引擎,只是为了学习这个过程,而且我的旋转函数遇到了问题。 它工作正常,除了对象收缩和似乎颠倒。 这是一个jsfiddle,说明了我的观点。 我认为这个问题会出现在代码中,但我并不积极。 function Rotation(vec, rot){ if(Math.acos((vec.x + vec.y + vec.z -1)/2) === 0) { return vec;

    0热度

    1回答

    调整取向 问题: 我在存在在给定的取向三维空间中的对象。我需要将对象重新定位到一个新的方向。我目前代表四元数的方向,尽管这不是必须的。 我基本上需要确定将身体定向到所需方向所需的角速度。 我目前正与什么看起来像如下: 伪代码: // 4x4 Matrix containing rotation and translation Matrix4 currentTransform = GetTrans

    1热度

    2回答

    (Python)我正在使用一个IMU(惯性测量单元)装上覆盖角度为[roll,pitch,yaw]的覆盆子pi。 该芯片似乎有一个硬件'零',无法校准,因此在我想要的软件。 即当我打开芯片时,我可能会读取theta = [10, 5, -80] *并想将其设置为我的'零'。 *角度的范围是+ - 180deg并且可以在拉德如果容易 我有一个粗的解决方法,但我的东西更优雅后: tare = [*re

    -1热度

    1回答

    我有一个脚本让玩家打开和关闭门,但是当我按下按钮关闭门时,它会关闭然后再次打开。我怀疑这是因为lerp不停止或什么。我怎样才能解决这个问题?怎么了? 谢谢! Door Script: using UnityEngine; using System.Collections; public class DoorHandler : MonoBehaviour { public bool is

    0热度

    1回答

    昨天我一直在试图解决以下问题:给定其全局旋转四元数和骨架状态,计算骨骼的局部旋转四元数。 我估计,全球四元数等于乘以骨的地方四元数父骨骼全球: 全球= globalParent *本地 几个简单的操作后,我得到了以下内容: 本地=(globalParent)-1 *全球 我做了这个等式一些测试,令我惊讶的是,它有时会得到正确的答案有时我会得到正确答案乘以-1。不是本地四元数的共轭,而是整个四元数乘

    1热度

    1回答

    我想学习三维程序设计,现在我试图了解如何使用四元数来围绕一个轴旋转矢量。 据我所知,要将一个向量v围绕轴a旋转,将两个向量转换为四元后,我们将v乘以a,然后乘以a的共轭。 (0,0,1)(或0,0,0,0,0)(0,0,0)(0,0,0) -1,取决于旋转的方向)。 我没有得到我期待的输出。 下面是代码: int main() { //I want to rotate thi

    1热度

    1回答

    在该项目中,我使用IMU传感器来跟踪真实玩家的手并将转换值应用到Unity内部的3D手上。 随着IMU设置Y轴相对于地球磁北极的方向,在游戏中,手在特定方向上初始化。 我想要的是计算IMU的给定Y值和3D手的原始Y旋转的偏移量,以便我可以将该值减去3D模型的Y旋转(这看起来像是玩家的初始Y旋转与3D手的)。代码如下:transform.Rotate(Vector3.up, offset, Spac

    0热度

    1回答

    经过一段时间,让摄像机移动全部解决后,是时候在我的three.js项目中添加移动了。首先,我只是尝试使用camera.translateZ(movementSpeed),但这会让相机飞起来,我想限制移动到x和z轴。基本上我计划简单地使用摄像机y旋转的余弦和正弦来找到z和x速度。这对于旋转的上半场来说工作得很好,但在下半场停止。有没有更好的方法来做到这一点,或者我可以以某种方式解决它? 你可以在ht

    2热度

    1回答

    我有在三维空间中的物体2,A & B和对象B父对象A. 这两个对象具有三维位置,以及表示它们的具体取向四元数。 我有翻译工作正常,所以无论何时A移动,B移动。 但是,我似乎无法从父母的方向得到正确应用于其子女。 可以说A的方向代表围绕X轴旋转90度。通过我的代码,对象B似乎出于某种原因旋转180度左右。 下面是关于发生了什么的图片。 以下是我正在试图产生针对任何特定顶点的向量,给孩子和家长的位置和