【发布时间】:2019-03-17 01:04:41
【问题描述】:
我对 SCNNode 的“旋转”和“方向”感到很困惑。在 Apple 的文档中,它们的定义非常相似:
orientation:节点的方向,用四元数表示。动画。
rotation:节点的方向,表示为围绕轴的旋转角度。动画。
苹果文档说: 旋转、eulerAngles 和方向属性都会影响节点变换属性的旋转方面。对这些属性之一的任何更改都会反映在其他属性中。
所以他们有点控制相同的东西,但使用不同的格式?这是我目前的理解。但是怎么做?它们都是 SCNVector4 类型。我了解旋转,但我不确定如何设置方向以及它有何不同。
(编辑)
我只是尝试通过 SCNNode() 创建一个默认节点并打印出它的旋转和方向:
旋转: SCNVector4(x: 0.0, y: 0.0, z: 0.0, w: 0.0)
方向: SCNVector4(x: 0.0, y: 0.0, z: 0.0, w: 1.0)
我仍然不确定为什么会有 1.0。 E.comm 提到它保留了四元数的定义,但 w 表示 SCNVector4 中用于旋转的旋转度数。所以我不确定它为什么会在那里,因为我没有在我的代码中旋转节点。
【问题讨论】:
-
这取决于用例。有时,其中一种格式有利于您的计算。当你需要它时,你会明白的。
-
嗨,@E.Coms,我再次编辑了我的问题,您介意再看一下吗?
-
Xx +yy + zz +ww =1 。检查四元数的定义。
-
我不是在问为什么它是一个有效的四元数。这些值(即 x、y、z、w)代表什么?旋转还是和 SCNVector4 一样吗?
-
然后检查齐次平面。和正常的