问题标签 [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.
objective-c - 在 iOS 中使用触摸输入旋转 3D 对象
我正在开发一个 ios 应用程序,我需要通过在其上滑动手指来旋转 3d 矩阵(3D 对象)。我用于旋转的方法是
setRotationMatrix(浮动角度,浮动x,浮动y,浮动z,浮动*矩阵);
但是我不确定如何使用触摸的 x 和 y 位置值来正确旋转 3D 矩阵。这是我正在使用的代码
-(IBAction)handlePan:(UIPanGestureRecognizer *)recognizer {
这为我提供了 3D 对象的一些旋转,但它并不像应有的那样自然。任何帮助都感激不尽。谢谢。
opengl - 如何从旋转矩阵中获得轴角?
我需要从 openGL 旋转矩阵中获取一些数据。我需要获得等效的欧拉角(已经做过),等效的四元数(做过,但只是从互联网上复制的)和等效的轴角。
我不知道旋转矩阵是否可以表示为围绕某个向量的某个角度的单次旋转。这些是等价的吗?如果是,我怎样才能从另一个那里获得一个?
另外,我想更好地理解四元数的含义以及旋转矩阵的内部。我应该去哪里了解这个?
c# - 围绕一个点旋转
谁能帮我解决这个问题
我希望能够围绕静止的 3D 对象旋转 3D 对象。好吧,不会涉及任何运动,因为我只想在游戏开始后在它们的位置绘制对象,然后它们将在游戏的剩余时间内保持在那里。
例如,我有一个在 3D 空间中静止的对象 X。然后我有 2 个其他对象,Y1 和 Y2。这两个物体也是静止的,不能移动。所有 3 个对象都在同一 x 和 y 轴上。假设 X 位于 (0,0,0),Y1 位于 (0,0,-50)。我想从 Y1 绕 Y 轴以 45 度角绘制 Y2,但与 X 保持相同的距离。
任何人都可以请建议这样做的最佳方法吗?我尝试了以下方法,但这只是围绕其原点旋转对象。所以我想我必须围绕世界原点旋转它?这是怎么做到的?
math - 取消旋转矩阵中的角度
假设我有一个旋转矩阵,用于旋转 3D 模型。在将其应用于模型之前,是否可以将旋转矩阵的偏航设置为零?
问候,亚当。
android - 使用磁场计算旋转矩阵
在获取它包含的旋转矩阵值中,public static boolean getRotationMatrix (float[] R, float[] I, float[] gravity, float[] geomagnetic)
我该如何计算float[] gravity
?我找到了一个代码示例,它计算orientation
使用两者Accelerometer
和Magnetic field
我的问题是:
- 方向值是旋转矩阵值吗?
- 如果没有,那么我如何实现此代码以使用磁性获取旋转矩阵值?场地?
要获得旋转矩阵,我使用此代码
但问题是这getRotationMatrixFromVector
对传感器来说是未定义的。知道吗?
matrix - 如何展平 - 忽略方向余弦矩阵中的轴?
为什么你好。我有一个 3D 模型,其沿其 3 轴的起始角度是已知的。使用此模式将这些角度转换为方向余弦矩阵(信息可在此处找到):
随着时间的推移获得新的角度值,对应于模型方向的更新。为了考虑到这些新值,我以这种方式更新 DCM:
我想要什么以及如何做:现在是棘手的部分。我实际上只想要旋转矩阵的 Y 分量。为了在我的模型上应用运动,我需要将它展平,这样运动矢量就不会在空中或在地面上。为此,我只需从旋转矩阵中拉回 3 个角度并创建一个角度为 [0 Y 0] 的新角度。
我遇到的问题:当对模型应用旋转时,DCM 会更新。当检测到运动时,我将运动向量 [0 Yvalue 0] 乘以已展平的 DCM(根据前面的解释)。当瞬时旋转在 X 和 Z 分量中具有空值或接近空值时,结果非常好。但是一旦模型处于 X 和 Z 具有显着值的情况下,模型运动的“方向”就会出错。如果我应用旋转使其返回“只有 Y”的情况,它会再次开始变好。
可能出了什么问题:要么我的方向余弦矩阵是错误的,要么我用来展平矩阵的技术完全是愚蠢的。
感谢您的帮助,如果您能帮我解决这个问题,我将不胜感激!格雷格。
编辑:根据要求的示例
我的模型有 3 轴 X、Y 和 Z。这定义了模型静止时的 XYZ 约定。在起点 t0,我知道角度 dAx、dAy 和 dAz,它们允许我将模型从其原始配置旋转到它在 t0 处的配置。如果这让您感到困扰,假设模型在 t0 时处于静止状态,这没关系。
我创建 DCM 就像在图像中解释的那样(如果它从静止开始,让它成为一个单位矩阵)。
不时地对模型应用旋转。这些旋转也由 dAx、dAy 和 dAz 组成。因此,我通过将旧矩阵乘以新生成的矩阵来更新旋转矩阵 (DCM):newDCM = oldDCM * newanglesDCM。现在假设我希望模型在网格上从一个点移动到另一个点。例如,将网格想象成一条街道。无论模型是面向天空、侧面还是前面,我都希望运动是相同的:在路边,而不是在空中升起或潜入地面。如果我保持旋转矩阵原样,应用 [0 Y 0] 旋转将使它转到我不希望它去的地方。因此,我尝试通过展平 DCM 来找到我原来的旧 XZ 框架。然后我仍然有 Y 分量,所以我知道模型在街上的哪个位置移动。
想象一个角色,他的头是模特,走在外面。如果他看着建筑物的窗户并走路,他不会在空中走到窗户 - 他会走到建筑物的脚下。这正是我想做的:D
opengl - GL.Rotate 和 Matrix4.CreateRotationX 不同的输出
我尝试使用不同的旋转方式来旋转一些顶点——GL.Rotate、Matrix4.CreateRotationX 和 Matrix4.RotateX。令我惊讶的是,他们给出了不同的输出。这是创建三个矩阵并将它们输出到控制台的函数。
这是 ToRadians 函数
这是正常的吗?我该怎么做才能使结果相同?
编辑:这是输出
android - 从 RotationMatrix.getValues() 获取奇异变量或度数旋转
我正在使用本教程: http: //mobile.tutsplus.com/tutorials/android/android-sdk-creating-a-rotating-dialer/它为我提供了一个基于图像视图的旋转拨号器。但是我试图通过添加功能来扩展它。但是,为了添加此功能,我需要获取当前单击的位置。但是,由于它使用旋转矩阵来旋转图像视图,所以我无法获得一个单一的位置来分析用户点击的位置。有没有办法将旋转矩阵中的 9 个值压缩成一个变量来指示用户触摸的位置?
android - 360 度后停止图像旋转
我正在尝试将图像从其中心点旋转一圈,但我无法在所需位置停止,因为我可以进行旋转,但我想在360'(1 round)
.
旋转方式@
你的建议是可观的。
android - 从旋转矩阵中提取偏航、俯仰和滚动
我有一个传感器管理器,它rotationMatrix
根据设备磁力计和加速度计返回一个。我一直在尝试计算用户设备的偏航俯仰和滚动,但发现俯仰和滚动相互干扰并给出不准确的结果。有没有办法从 中提取设备的 YAW PITCH 和 ROLL rotationMatrix
?
编辑 试图在下面解释搅拌机的答案,我很感激但还没有,我试图从这样的旋转矩阵中获得角度:
我不知道我是否引用了矩阵的错误部分,但我没有得到我想的结果。
我希望以度为单位获得值,但我得到了奇怪的整数。
我的矩阵来自我的sensorManager
,看起来像这样:
设备正面朝上放在桌子上时的样品矩阵
回答