Ссылка типов данных SceneKit
Этот документ описывает типы данных, найденные в платформе SceneKit.
-
Представление трехкомпонентного вектора.
Объявление
Swift
struct SCNVector3 { var x: CGFloat var y: CGFloat var z: CGFloat }
Поля
x
Первый компонент в векторе.
y
Второй компонент в векторе.
z
Третий компонент в векторе.
Обсуждение
SceneKit использует трехкомпонентные векторы для множества целей, таких как описание узла или позиций вершины, поверхность normals, и масштаб или перевод преобразовывают. Различные векторные компоненты должны быть интерпретированы на основе контекста, в котором используется вектор.
Доступность
Доступный в OS X v10.8 и позже.
-
Представление четырехкомпонентного вектора.
Объявление
Swift
struct SCNVector4 { var x: CGFloat var y: CGFloat var z: CGFloat var w: CGFloat }
Поля
x
Первый компонент в векторе.
y
Второй компонент в векторе.
z
Третий компонент в векторе.
w
Четвертый компонент в векторе.
Обсуждение
SceneKit использует четырехкомпонентные векторы для представления многократных видов данных:
Вращение угла оси или крутящий момент.
x
,y
, иz
поля содержат нормализованный x-, y-, и z-компоненты оси вращения, иw
поле содержит угол вращения, в радианах или величине крутящего момента, в ньютон-метрах.Значение цвета (или диапазон).
x
,y
,z
, иw
поля содержат красный, зеленый, синий цвет, и альфа-компоненты цвета или ширина цветного диапазона изменения в каждом компоненте.
Доступность
Доступный в OS X v10.8 и позже.
-
Представление кватерниона.
Обсуждение
Кватернион является математической конструкцией, полезной для описания вращений в трехмерном пространстве. Несмотря на то, что его реализация отличается от того из вектора с 4 компонентами, Вы указываете значение кватерниона с помощью тех же полей в качестве
SCNVector4
структура.SceneKit использует кватернионы модуля (те, компоненты которых удовлетворяют уравнению
x*x + y*y + z*z + w*w == 1
) дляorientation
свойство узлов.Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.10 и позже.
-
Представление 4 x 4 матрицы.
Объявление
Swift
typealias SCNMatrix4 = CATransform3D
Objective C
typedef struct SCNMatrix4 { float m11, m12, m13, m14; float m21, m22, m23, m24; float m31, m32, m33, m34; float m41, m42, m43, m44; } SCNMatrix4;
Обсуждение
SceneKit использует матрицы для представления трансформаций координатного пространства, которые поочередно могут представлять объединенную позицию, вращение или ориентацию и масштаб объекта в трехмерном пространстве. Матричные структуры SceneKit находятся в порядке развертывания по столбцам, таким образом, они подходят для передачи OpenGL APIs, принимающий параметры матрицы.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.10 и позже.