首页 文章
  • -1 votes
     answers
     views

    如何在3D中给定轴法线的2个向量之间计算有角度? [关闭]

    假设我有两个矢量A和B,以及一个轴(归一化矢量),我如何找到A和B之间的角度,使得A旋转后的角度(轴,角度)和B wrt与给定轴之间的角度差异旋转后,A不必等于B.基本上我想找到指定平面中A和B之间的角度差 . 注意:这与找到2个向量之间的最短角度不同,因为轴不是A和B之间的叉积 . 因此,技术here(以及许多SO答案)不适用 . 这需要在3D中工作 .
  • 0 votes
     answers
     views

    继续旋转场景节点,直到设备返回到起始位置

    在尝试使用场景工具包时,我正在使用 self.motionManager.deviceMotion.attitude.quaternion 在3D场景中旋转场景节点(相机) . 让我们说用户启动应用程序并且设备以某种方式倾斜,因此这个起始方向应该被计为休息点,并且在这个位置时不应该发生旋转 . 当用户倾斜设备(向左< - >向右和/或向上< - >向下)时,它应逐渐旋转,直...
  • 4 votes
     answers
     views

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

    鉴于加速度计具有9 DOF(加速度计,陀螺仪和磁力计),我想在加速度计读数中去除/补偿重力的影响(加速度计可以自由旋转) . 传感器给出相对于(磁)北,西和上参考系的四元数表示的方向 . 我发现这个http://www.varesano.net/blog/fabio/simple-gravity-compensation-9-dom-imus但是无法理解给定方程的基础 . 如何获得上述信息呢?
  • 1 votes
     answers
     views

    Three.js,相机围绕一个点旋转

    我'm trying to make a camera rotation and zoom around a point. I don' t想要使用 THREE.TrackBallControls 因为我看到它只在缩放时修改fov,它不是我想要的 . 我正在使用这个简单的等式:http://en.wikipedia.org/wiki/Sphere#Equations_in . 要计算球体上的点,此...
  • 0 votes
     answers
     views

    threejs:将相机平稳地旋转到物体上

    我刚刚开始研究three.js,我在编写一个函数时遇到了一些麻烦,该函数将对象位置(Vector3)和时间(以毫秒为单位)作为参数,并逐渐旋转摄像头以在此时面对它 . 基本上是内置lookAt方法的lerp版本 . 首先,我尝试使用tweenjs来获得平滑的旋转过渡 . 对于开始和结束参数,我创建了一个虚拟对象,并将其位置,旋转和四元数设置为与摄像机相同,然后我使用它上的lookAt函数面向对象,...
  • 1 votes
     answers
     views

    ThreeJS轨道控制 - 相对于设备方向

    我有一个ThreeJS场景,允许用户使用Orbit Controls通过他们的移动设备进行探索 . 场景开始时,它会自行定位 . 我需要让它相对于设备启动,这样当用户进入时,他们总能看到相同的东西 . 我想我可以通过将我的相机放在OrbitControl上,将我的场景对象放在另一个上来做到这一点 . 当用户单击按钮时,我将场景对象锁定到位,但使用OrbitControls保持摄像机 . 我面临的问...
  • 0 votes
     answers
     views

    复制摄像机视图 - DeviceOrientationControls到TrackballControls

    我正在尝试将视图从手机(使用DeviceOrientationControls)复制到桌面(使用TrackballControls) . 我正在通过中间服务器传递视图状态(摄像机位置和方向),并且该部分主要工作 . 我在桌面上设置相机旋转时遇到问题 . 同步摄像机以查看同一点,但桌面上的视图(从手机接收视图状态)围绕视角旋转 . 我绝对不完全理解四元数或旋转顺序 . 我尝试过应用这些,但很明显我不...
  • 1 votes
     answers
     views

    如何根据当前摄像机角度旋转 scenekit 中的节点

    我目前正在开发一个项目,我希望能够使用 UIPanGesture 根据摄像机的当前旋转来旋转节点。例如,用户正在查看附加到节点的几何体并决定旋转它。通常,几何旋转将基于(0,0,0)或(0,0,0,0),我希望能够沿 y 轴旋转,其中 Y 轴将是轴垂直于摄像机角度,从而将摄像机角度视为(0,0,0,0)。我最初的解决方案是旋转枢轴点以匹配摄像机角度,但我在 Scenekit 文档中没有看到任何允许...
  • 1 votes
     answers
     views

    SceneKit - SCNCamera Top-down 视图

    我是来自 2D SpriteKit 的 SceneKit 的新手,并试图弄清楚如何调整相机,使其处于面向世界的顶端。我的位置部分是正确的,但是在旋转时我会卡住。如果我调整X, Y or Z axis, nothing seems to happen, however on the W axis the slightest change (even 0.1`更高或更低)似乎将摄像机移向未知方向。我究...
  • 3 votes
     answers
     views

    GLKQuaternion 转换的意外结果(来自 CMQuaternion)

    我正在开发一款 iOS 应用,它将使用 CoreMotion 来计算运动范围。 由于万向节锁定,我很快就放弃了欧拉角。所以,现在我正在尝试使用四元数。 您可能知道,CMMotionManager通过CMDeviceMotion类报告设备运动数据。这里的相关属性(为了我的目的)是attitude属性,CMAttitude的一个实例。当然,您可以从中访问pitch,roll和yaw。在记录结果时我仍然...
  • 0 votes
     answers
     views

    无论设备方向如何,我如何获得水平旋转角度?

    当设备是人像时,我可以通过计算滚动值(根据 iOS Device Motion 的定义)获得水平旋转角度。 移动设备的 x,y,z-axis: 但是当设备处于横向时,y-axis 是水平的,x-axis 是垂直的。我怎样才能获得角度?音高值不正确。我试图在四元数中交换 x 和 y,但没有奏效。 而且,当设备处于纵向和横向中间时,如何获得角度,例如,您将设备倾斜大约 z-axis? 是否有统一的四元...
  • 0 votes
     answers
     views

    四元数的旋转角度

    我有一个 3D 场景,在假想的球体中我放置了很少的物体,现在我想在设备运动中旋转它们。 我使用球面坐标系并计算球体位置,如下所示: x = ρ * sin⁡ϕ * cos⁡θ y = ρ * sin⁡ϕ * sin⁡θ z = ρ * cos⁡ϕ. 另外,我使用角度(从 0 到 2_M_PI)水平旋转(在 z-x 中) 结果一切都很完美,直到我想从运动矩阵中使用四元数。 我可以提取...
  • 0 votes
     answers
     views
  • 1 votes
     answers
     views

    Unity - 陀螺仪 - 仅绕一轴旋转

    我假设它是Unity Space中的Z轴 . 我尝试使用 Input.gyro.attitude.eulerAngles.z ,但它没有't stay constant when tilting the device around the other axes, I want it to stay constant so that only the 481397 determines the ...
  • 1 votes
     answers
     views

    Unity X轴旋转怪癖

    我有一个脚本,按下按钮时旋转对象 . 旋转平面取决于在“下拉”菜单中选择的轴 . 该脚本对于Y轴和Z轴大多适用,但在X轴上具有意外行为 . 按住左旋转按钮时,音量将旋转至-90并“卡住” . 然后我按住右旋转按钮,再次卡住之前不会超过90 . 甚至更奇怪的是,经常在卡在特定方向并切换到另一个方向后,而不是从另一个方向返回的音量,它继续沿着它前进的方向,如果它没有被卡在第一位 . 这会导致左右旋转按...
  • 1 votes
     answers
     views

    围绕X轴旋转IMU,但所有3个角度都会发生变化

    我在使用IMU的欧拉角时遇到了麻烦 . 我有一个IMU,它提供四元数和欧拉角 . 像偏见等问题将由制造商完成,就像我的黑盒子一样 . 我必须相信它 . 我的问题如下:如果我围绕他的X轴旋转IMU,那么只有X角度应该改变它的值(例如滚动角度),并且无论我如何在之前的空间中定向IMU . 但如果我围绕X轴旋转它,我也会在其他两个角度上进行更改 . 这就像旋转不在IMU自己的坐标系中 .
  • 0 votes
     answers
     views

    Unity,在轴上旋转对象并返回到同一方向的起点

    我想以恒定速度在Y方向上旋转物体 . 当我停止时,我想以相同的方向旋转回Quaternion.identity . public bool spin; public float speed; private void Update() { if (spin) { transform.Rotate (-Vector3.up, Time.deltaTime * speed, ...
  • 0 votes
     answers
     views

    有关IMU传感器漂移校正的一些好资源有哪些?

    我正在用每个手指尖端的IMU单元和手掌上的一个IMU构建手套 . 我从IMU得到的是四元数测量 . 现在我面临着IMU测量的2个问题: IMU的参考框架不一样 . 如果你以物理方式旋转它们以使它们都以数字形式给出身份四元数,那么物理上的方向会略有不同 . 每个IMU的测量随着时间的推移而漂移 . 使用相同的物理方向,在一分钟的随机物理旋转后,它将为您提供略微不同的四元数测量 . 这两个...
  • 0 votes
     answers
     views

    我如何考虑物理和虚拟世界中的轮换?

    我有几个IMU(旋转设备),我试图将它们连接在手指上并制作手套 . 我感到困惑,因为我没有一个好的方法来考虑物理和虚拟世界中的旋转 . 现在,我正在考虑的方式是,在物理世界中,有一个世界坐标(XYZ) . IMU的旋转四元数可能基于此 . 我还认为每个IMU的物理世界坐标彼此略有不同(因为当它们指向相同的方向时,它们会给出略微不同的四元数值) . 在虚拟世界中,每个IMU都有另一个虚拟世界坐标系...
  • 0 votes
     answers
     views

    Unity Leap Motion - 手掌位置随VR中的头部旋转而变化

    我正在尝试使用手掌位置来获取距传感器原点(表面)的手距离,然后将其用于我编写的函数中,该函数比较一组边界内的位置(每个轴一个)以计算重量来自传感器的数据作为飞跃API内置的“置信度”变量非常糟糕 . 问题是每当我转过头时,轴似乎都会改变,这完全是我的范围 . 有没有办法可以中和旋转,使轴保持一致,即Z远离传感器,X左右,Y上下 . 如果我面向前方它完美地工作,因为轴是如此详细,但如果我看起来正确,...
  • 0 votes
     answers
     views

    如何在Tween /动画期间/之后避免相机跳转?

    我在THREE.js中创建相机Tween时遇到了一些麻烦,特别是在动画结束和开始时,似乎总是有一个摄像头“跳跃”,这意味着一旦动画开始并且一旦动画,相机就会闪烁结束 . 作为参考,我正在做的是: 相机俯瞰上面的场景 . 当用户点击场景的元素时,相机会放大它(通过TWEEN),当它足够接近时,OrbitControls目标会更改为所选元素的质心,并且自动旋转开始,因此用户会看到元素旋转在屏幕...
  • 5 votes
     answers
     views

    Unity3D Slerp旋转速度

    我正在使用Unity3D . 我想旋转一个物体面向鼠标指针的方向,但允许最大旋转速度,如“每秒最大100度” . 文档中有一个例子,但它没有做我想要的 .我认为Time.time应该是Time.deltaTime,我无法真正理解最后一个参数的作用 . 它应该是与起始向量相加的数字吗?http://docs.unity3d.com/Documentation/ScriptReference/Quat...

热门问题