- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我使用以下代码从以弧度为单位的 XYZ 欧拉角生成四元数:
c1 = Math.cos( x / 2 )
c2 = Math.cos( y / 2 )
c3 = Math.cos( z / 2 )
s1 = Math.sin( x / 2 )
s2 = Math.sin( y / 2 )
s3 = Math.sin( z / 2 )
quaternion = [
c1 * c2 * c3 - s1 * s2 * s3,
s1 * c2 * c3 + c1 * s2 * s3,
c1 * s2 * c3 - s1 * c2 * s3,
c1 * c2 * s3 + s1 * s2 * c3,
]
来自: http://www.euclideanspace.com/maths/geometry/rotations/conversions/eulerToQuaternion/index.htm
这会产生一个四元数,它首先围绕 z 轴旋转,然后是 y,最后是 x 轴 - Z-Y-X。是否可以更改此公式,使其以不同的顺序绕轴旋转?我正在寻找的是相反的,所以 X-Y-Z。
最佳答案
如果有人感兴趣...
是的,你可以,结果这次我只需要交换加号和减号就可以得到 X-Y-Z 订单(传统上写成 ZYX)。像这样...
[
c1 * c2 * c3 + s1 * s2 * s3,
s1 * c2 * c3 - c1 * s2 * s3,
c1 * s2 * c3 + s1 * c2 * s3,
c1 * c2 * s3 - s1 * s2 * c3
]
Three.js 在函数 THREE.Quaternion.setFromEuler 中包含各种 xyz 顺序的不同公式的完整列表
关于math - 将欧拉角转换为四元数时更改 XYZ 顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50011864/
我有一个第一人称相机 Controller 实现如下: float rotSpeed = 20.0f; xRotation += deltaPos.y * rotSpeed * Time.deltaT
我正在编写一个程序,它加载一个包含场景描述的文件,然后使用 OpenGL 显示它。我将 GLM 用于我的所有数学运算。场景文件中的旋转以四元数格式存储。我的场景管理系统以欧拉角的形式对对象进行旋转,这
我想要实现的效果是从相机的 pointOfView 位置指向一个箭头,在 x 和 z 轴上与场景(和重力)对齐,但指向与相机相同的方向。它可能看起来像这样: 现在,我将其欧拉角 x 和 z 设置为 0
我是一名优秀的程序员,十分优秀!