问题标签 [rotational-matrices]

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 回答
876 浏览

math - 如何找到点和线之间的单位向量?

我有三个已知的 3 维点:ABC

另外,我还有第四点,X.

X位于向量上AB,使得向量CX垂直于向量AB。所以AB · CX = 0

如何找到 CX 的单位向量?


这里的用例是我正在构建一个(平移的)旋转矩阵,其中原点是 A,z 轴通过 B,xz 平面通过 C,并且轴是正交的

我还有一个矢量对象,它提供点积和叉积函数供我使用。

0 投票
3 回答
8805 浏览

android - Android:理解函数remapCoordinateSystem

我一直在尝试理解这两行代码

我阅读了 的文档remapCoordinateSystem(),但是我迷路了。

谁能向我解释到底是做什么getRotationMatrixremapCoordinateSystem?特别是SensorManager.AXIS_XSensorManager.AXIS_MINUS_Z

0 投票
1 回答
6640 浏览

iphone - 使用滚动、俯仰和偏航或四元数或旋转矩阵从 CMAttitude 计算高度和方位角

我遇到了一个问题。我想将 iPhone 的 CMAttitude 信息转换为高度(0 到 90 度)和方位角(0 到 360 度)。我在谷歌上搜索并点击了一些讨论它的线程,但没有一个线程得到肯定的答案,而且大多数讨论四元数和欧拉角的文章都是太多的数学知识,无法塞进我的大脑!

是否有一些开源材料可以轻松完成这项任务?或者有人编写了代码来执行这种转换?

编辑:首先,抱歉这么抽象!

方位角是设备指向的地球表面上的方向。比如北 = 0 度,东北 = 45 度,东 = 90 度,南 = 180 度等等。范围在 0 度到 360 度之间:

在此处输入图像描述

高度是从地球平面到天空中物体的角度: 在此处输入图像描述

谢谢,

拉吉

0 投票
2 回答
1813 浏览

math - 根据原点更改前后的相机旋转/平移确定点位置

抱歉,如果这是一个愚蠢的问题,我对 3D 工作非常陌生。

我有许多针孔相机,它们具有 3x3 旋转矩阵和基于原点 (0,0,0) 的平移向量。

我正在使用的系统可以移动原点并旋转相机(尽管所有相机都保持相对),从而为每个相机生成一个新的旋转矩阵和平移向量,我可以访问它们。

那么我的问题是:给定一个在原始空间中具有 3D 位置的点,如何使用同一摄像机(或多个摄像机)的新旋转/平移来计算新空间中同一点的 3D 位置?

当我问问题时,有没有更有效的方法?

0 投票
1 回答
3842 浏览

iphone - glsl着色器中Z轴旋转矩阵的问题

我最近开始从头开始组装一个 OpenGL ES 1.1/2.0 2D 管道(仅限 iPhone)。此管道旨在供没有 3D 数学经验的工程师使用。

注释掉的是 X 和 Y 轴旋转矩阵,它们产生了它们应该得到的确切结果。Z 旋转矩阵似乎什么都不做。

顶点着色器

由于这将用于 2D 渲染并交给没有 3D 经验的工程师,我宁愿远离传递 MVP 矩阵,而只推送基本的缩放、旋转和平移变量(并跳过第 10 次编写部分矩阵库)。

自从我纠结于矩阵数学和着色器以来已经有一段时间了,所以我希望这是一个小错误。

谢谢你的帮助!

编辑/更新:

我发现后处理通道正在破坏角度。

我现在发现 Z 旋转似乎可以缩放四边形。我记得这是一个 n00b 问题,正在调查它......

我忘了提到我有一个便宜的临时投影矩阵

它的廉价破解,但我不确定它是否会使 Z 旋转变硬。

编辑#2:

我也无处可去尝试使用截锥体而不是正交并计算着色器之外的矩阵。

0 投票
2 回答
1546 浏览

java - LWJGL - 使用四元数和平移矩阵在 6DOF 相机中实现“滚动”的问题

我在这个问题上花了几个星期,似乎找不到合适的解决方案,需要一些建议。

我正在使用 LWJGL/Java 创建一个 Camera 类,并使用四元数来处理方位(偏航)、俯仰和滚动旋转。我希望这台相机能够处理 3D 空间中的所有 6 度运动并滚动。轴承、俯仰和滚动都是四元数。我将它们乘以“变化”四元数,并从中创建一个平移矩阵。我把它放在一个浮点缓冲区中,并将模型视图矩阵乘以包含旋转矩阵的缓冲区。

我可以让轴承和俯仰旋转正常工作,但是当我实施滚动时,我遇到了问题。主要是,围绕 Z 轴旋转(滚动)似乎不起作用。当我“滚动”相机时,它似乎围绕全局 Z 轴而不是本地相机方向轴滚动。根据我乘以四元数的顺序,我通常可以让 3 个中的 2 个工作,但我不能让它们一起工作。

由于它们都是独立工作的,我假设我的定向方法有问题,我将它们组合并构建一个旋转矩阵。我在粘贴整个类时遇到问题,所以这里是与轮换相关的方法和声明:

...

Vector3f、Quaternion 和 Matrix4f 都是 LWJGL 类,不是定制的。

所以我的问题是,给定代表轴承、俯仰和滚动的 3 个四元数,我如何修改 ModelView 矩阵以准确表示这些旋转?

编辑:我觉得这非常接近。请参阅 RiverC 评论中的要点链接。在旋转了这么多度之后,视图在滚动时恢复正常之前跳了很多。它的要点在那里,但它仍然略微偏离。

0 投票
1 回答
540 浏览

android - 为什么在使用 ROTATION_VECTOR 传感器之前克隆 Android 传感器值?

我注意到在几个使用旋转矢量传感器的教程中,mag 和 accel 值在使用 getRotationMatrix 之前被克隆。

例如,这里问题中的代码: Using getRotationMatrix and getOrientation in Android 2.1

但是,getRotationMatrix 不会更改 mag 和 accel 向量。那么克隆它们有什么意义呢?谢谢

0 投票
2 回答
884 浏览

opengl - 相同的标记位置,不同的旋转和平移矩阵 - OpenCV

我正在使用 OpenCV 开发增强现实标记检测程序,并且我正在为同一个标记获得两个不同的旋转和平移值

当相机稍微移动时,3D 模型会自动在这些状态之间切换,而无需我的控制。下面添加以上两种情况的截图。我希望 Image#1 是正确的。如何以及在哪里纠正这个问题?

我已经关注了如何在 Android 中将 OpenCV 旋转和平移矢量与 OpenGL ES 一起使用?为 OpenGL 创建投影矩阵。前任:

图片#1 在此处输入图像描述

图片 #2 在此处输入图像描述

额外的

如果有人建议我一种让茶壶坐在标记平面上的方法,我会很高兴。我知道我必须编辑旋转矩阵。但是最好的方法是什么?

0 投票
1 回答
437 浏览

wolfram-mathematica - 如何在 Mathematica 中为 2 个积分之和编写代码

我正在尝试快速解决以下问题:

我可以用这段代码快速得到答案:

但是,如果我需要解决以下问题(其中 a 和 b 是已知常量),我该如何管理此代码?

0 投票
1 回答
412 浏览

3d - 3D游戏引擎,获取绝对变换

我的引擎中有一个父场景节点和一个子节点。孩子的变换(位置、旋转和缩放)是相对于父母的。
现在我想知道孩子的绝对变换。我的意思是孩子对主坐标的相对变换。
有任何想法吗?
编辑:问题是我不在场景节点中存储矩阵。我只有 3 个向量。位置、旋转和缩放。