eulerAngles
свойство экземпляра используется для ориентации узла, выраженное в углах pitch
, yaw
и roll
в радианах.
var eulerAngles: SCNVector3 { get set }
Порядоккомпоненты следующие:
- Pitch (
X
компонент) - это вращение вокруг оси X
- Yaw (
Y
компонент) - это вращение вокруг оси Y
- Roll (
Z
компонент) - это вращение вокруг оси Z
Использовать eulerAngles
свойство экземпляра намного проще, чем Поворот 4
x 4
Матрица .Платформы ARKit и SceneKit используют 4
x 4
Матрицы преобразования для перевода, вращения, масштабирования и сдвига 3D-объектов.Давайте посмотрим, как они работают:
Идентичность 4
x 4
Матрица имеет 16 элементов внутри:

Между этимиДля шестнадцати элементов существует 6 различных коэффициентов сдвига:
shear XY
shear XZ
shear YX
shear YZ
shear ZX
shear ZY
В Матрице сдвига они следующие:

Потому что в этой Матрице Rotation coefficients
вообще нет , шесть Shear coefficients
вместе с тремя Scale coefficients
позволяют вращать трехмерные объекты вокруг X
, Y
и Z
с помощью магической тригонометрии (sin
и cos
).
Вот пример того, как вращать трехмерный объект (CCW) вокруг своей оси Z
с использованием элементов Shear и Scale:

Посмотрите на 3 различных шаблона вращения (Pitch, Yaw и Roll), используя элементы Shear и Scale:

Перевод 4
x 4
Матрица выглядит следующим образом:

Надеюсь, это поможет.