问题标签 [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.
math - 如何找到点和线之间的单位向量?
我有三个已知的 3 维点:A
、B
和C
。
另外,我还有第四点,X
.
X
位于向量上AB
,使得向量CX
垂直于向量AB
。所以AB · CX = 0
如何找到 CX 的单位向量?
这里的用例是我正在构建一个(平移的)旋转矩阵,其中原点是 A,z 轴通过 B,xz 平面通过 C,并且轴是正交的
我还有一个矢量对象,它提供点积和叉积函数供我使用。
android - Android:理解函数remapCoordinateSystem
我一直在尝试理解这两行代码
我阅读了 的文档remapCoordinateSystem()
,但是我迷路了。
谁能向我解释到底是做什么getRotationMatrix
的remapCoordinateSystem
?特别是SensorManager.AXIS_X
,SensorManager.AXIS_MINUS_Z
?
iphone - 使用滚动、俯仰和偏航或四元数或旋转矩阵从 CMAttitude 计算高度和方位角
我遇到了一个问题。我想将 iPhone 的 CMAttitude 信息转换为高度(0 到 90 度)和方位角(0 到 360 度)。我在谷歌上搜索并点击了一些讨论它的线程,但没有一个线程得到肯定的答案,而且大多数讨论四元数和欧拉角的文章都是太多的数学知识,无法塞进我的大脑!
是否有一些开源材料可以轻松完成这项任务?或者有人编写了代码来执行这种转换?
编辑:首先,抱歉这么抽象!
方位角是设备指向的地球表面上的方向。比如北 = 0 度,东北 = 45 度,东 = 90 度,南 = 180 度等等。范围在 0 度到 360 度之间:
高度是从地球平面到天空中物体的角度:
谢谢,
拉吉
math - 根据原点更改前后的相机旋转/平移确定点位置
抱歉,如果这是一个愚蠢的问题,我对 3D 工作非常陌生。
我有许多针孔相机,它们具有 3x3 旋转矩阵和基于原点 (0,0,0) 的平移向量。
我正在使用的系统可以移动原点并旋转相机(尽管所有相机都保持相对),从而为每个相机生成一个新的旋转矩阵和平移向量,我可以访问它们。
那么我的问题是:给定一个在原始空间中具有 3D 位置的点,如何使用同一摄像机(或多个摄像机)的新旋转/平移来计算新空间中同一点的 3D 位置?
当我问问题时,有没有更有效的方法?
iphone - glsl着色器中Z轴旋转矩阵的问题
我最近开始从头开始组装一个 OpenGL ES 1.1/2.0 2D 管道(仅限 iPhone)。此管道旨在供没有 3D 数学经验的工程师使用。
注释掉的是 X 和 Y 轴旋转矩阵,它们产生了它们应该得到的确切结果。Z 旋转矩阵似乎什么都不做。
顶点着色器
由于这将用于 2D 渲染并交给没有 3D 经验的工程师,我宁愿远离传递 MVP 矩阵,而只推送基本的缩放、旋转和平移变量(并跳过第 10 次编写部分矩阵库)。
自从我纠结于矩阵数学和着色器以来已经有一段时间了,所以我希望这是一个小错误。
谢谢你的帮助!
编辑/更新:
我发现后处理通道正在破坏角度。
我现在发现 Z 旋转似乎可以缩放四边形。我记得这是一个 n00b 问题,正在调查它......
我忘了提到我有一个便宜的临时投影矩阵
它的廉价破解,但我不确定它是否会使 Z 旋转变硬。
编辑#2:
我也无处可去尝试使用截锥体而不是正交并计算着色器之外的矩阵。
java - LWJGL - 使用四元数和平移矩阵在 6DOF 相机中实现“滚动”的问题
我在这个问题上花了几个星期,似乎找不到合适的解决方案,需要一些建议。
我正在使用 LWJGL/Java 创建一个 Camera 类,并使用四元数来处理方位(偏航)、俯仰和滚动旋转。我希望这台相机能够处理 3D 空间中的所有 6 度运动并滚动。轴承、俯仰和滚动都是四元数。我将它们乘以“变化”四元数,并从中创建一个平移矩阵。我把它放在一个浮点缓冲区中,并将模型视图矩阵乘以包含旋转矩阵的缓冲区。
我可以让轴承和俯仰旋转正常工作,但是当我实施滚动时,我遇到了问题。主要是,围绕 Z 轴旋转(滚动)似乎不起作用。当我“滚动”相机时,它似乎围绕全局 Z 轴而不是本地相机方向轴滚动。根据我乘以四元数的顺序,我通常可以让 3 个中的 2 个工作,但我不能让它们一起工作。
由于它们都是独立工作的,我假设我的定向方法有问题,我将它们组合并构建一个旋转矩阵。我在粘贴整个类时遇到问题,所以这里是与轮换相关的方法和声明:
...
Vector3f、Quaternion 和 Matrix4f 都是 LWJGL 类,不是定制的。
所以我的问题是,给定代表轴承、俯仰和滚动的 3 个四元数,我如何修改 ModelView 矩阵以准确表示这些旋转?
编辑:我觉得这非常接近。请参阅 RiverC 评论中的要点链接。在旋转了这么多度之后,视图在滚动时恢复正常之前跳了很多。它的要点在那里,但它仍然略微偏离。
android - 为什么在使用 ROTATION_VECTOR 传感器之前克隆 Android 传感器值?
我注意到在几个使用旋转矢量传感器的教程中,mag 和 accel 值在使用 getRotationMatrix 之前被克隆。
例如,这里问题中的代码: Using getRotationMatrix and getOrientation in Android 2.1
但是,getRotationMatrix 不会更改 mag 和 accel 向量。那么克隆它们有什么意义呢?谢谢
opengl - 相同的标记位置,不同的旋转和平移矩阵 - OpenCV
我正在使用 OpenCV 开发增强现实标记检测程序,并且我正在为同一个标记获得两个不同的旋转和平移值。
当相机稍微移动时,3D 模型会自动在这些状态之间切换,而无需我的控制。下面添加以上两种情况的截图。我希望 Image#1 是正确的。如何以及在哪里纠正这个问题?
我已经关注了如何在 Android 中将 OpenCV 旋转和平移矢量与 OpenGL ES 一起使用?为 OpenGL 创建投影矩阵。前任:
图片#1
图片 #2
额外的
如果有人建议我一种让茶壶坐在标记平面上的方法,我会很高兴。我知道我必须编辑旋转矩阵。但是最好的方法是什么?
wolfram-mathematica - 如何在 Mathematica 中为 2 个积分之和编写代码
我正在尝试快速解决以下问题:
我可以用这段代码快速得到答案:
但是,如果我需要解决以下问题(其中 a 和 b 是已知常量),我该如何管理此代码?
3d - 3D游戏引擎,获取绝对变换
我的引擎中有一个父场景节点和一个子节点。孩子的变换(位置、旋转和缩放)是相对于父母的。
现在我想知道孩子的绝对变换。我的意思是孩子对主坐标的相对变换。
有任何想法吗?
编辑:问题是我不在场景节点中存储矩阵。我只有 3 个向量。位置、旋转和缩放。