Ссылка функций SceneKit
Этот документ описывает функции, используемые всюду по платформе SceneKit.
Несколько SceneKit функционируют работа с матрицами трансформации и векторами. Графика программируя векторы использования экстенсивно для представления позиций, normals, цветов и других структур данных, и это использует матрицы для применения трансформаций к векторам, таким как масштабирование, вращение, перспектива и преобразование координатного пространства.
Функции, управляющие векторными и матричными структурами, обрабатывают вводы как неизменные, возвращая новый вектор, представляющий результаты работы.
-
Возвращает новый трехкомпонентный вектор, создаваемый из отдельных значений компонентов.
Объявление
Swift
func SCNVector3Make(_
x
: CGFloat, _y
: CGFloat, _z
: CGFloat) -> SCNVector3Objective C
SCNVector3 SCNVector3Make ( CGFloat x, CGFloat y, CGFloat z );
Параметры
x
Первый компонент вектора.
y
Второй компонент вектора.
z
Третий компонент вектора.
Возвращаемое значение
Инициализированный
SCNVector3
структура.Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.8 и позже.
-
Возвращает новый четырехкомпонентный вектор, создаваемый из отдельных значений компонентов.
Объявление
Swift
func SCNVector4Make(_
x
: CGFloat, _y
: CGFloat, _z
: CGFloat, _w
: CGFloat) -> SCNVector4Objective C
SCNVector4 SCNVector4Make ( CGFloat x, CGFloat y, CGFloat z, CGFloat w );
Параметры
x
Первый компонент вектора.
y
Второй компонент вектора.
z
Третий компонент вектора.
w
Четвертый компонент вектора.
Возвращаемое значение
Инициализированный
SCNVector4
структура.Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.8 и позже.
-
Возвращает булево значение, указывающее, равны ли соответствующие компоненты двух векторов.
Объявление
Swift
func SCNVector3EqualToVector3(_
a
: SCNVector3, _b
: SCNVector3) -> BoolObjective C
bool SCNVector3EqualToVector3 ( SCNVector3 a, SCNVector3 b );
Параметры
a
Первый вектор.
b
Второй вектор.
Возвращаемое значение
Истина, если каждый компонент
a
точно равноb
.Обсуждение
Эта функция выполняет числовое (не поразрядно) сравнение каждой пары значений компонентов.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.8 и позже.
-
Возвращает булево значение, указывающее, равны ли соответствующие компоненты двух векторов.
Объявление
Swift
func SCNVector4EqualToVector4(_
a
: SCNVector4, _b
: SCNVector4) -> BoolObjective C
bool SCNVector4EqualToVector4 ( SCNVector4 a, SCNVector4 b );
Параметры
a
Первый вектор.
b
Второй вектор.
Возвращаемое значение
Истина, если каждый компонент
a
точно равноb
.Обсуждение
Эта функция выполняет числовое (не поразрядно) сравнение каждой пары значений компонентов.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.8 и позже.
-
Возвращает структуру вектора SceneKit с тремя элементами, соответствующую векторной структуре GLKit.
Объявление
Objective C
SCNVector3 SCNVector3FromGLKVector3 ( GLKVector3 vector );
Параметры
vector
Векторная структура GLKit с тремя элементами.
Возвращаемое значение
Структура вектора SceneKit с тремя элементами, представляющая тот же вектор как входной параметр.
Оператор импорта
Objective C
@import SceneKit;
Доступность
Доступный в OS X v10.9 и позже.
-
Возвращает векторную структуру GLKit с тремя элементами, соответствующую структуре вектора SceneKit.
Объявление
Objective C
GLKVector3 SCNVector3ToGLKVector3 ( SCNVector3 vector );
Параметры
vector
Структура вектора SceneKit с тремя элементами.
Возвращаемое значение
Векторная структура GLKit с тремя элементами, представляющая тот же вектор как входной параметр.
Оператор импорта
Objective C
@import SceneKit;
Доступность
Доступный в OS X v10.9 и позже.
-
Возвращает структуру вектора SceneKit с четырьмя элементами, соответствующую векторной структуре GLKit.
Объявление
Objective C
SCNVector4 SCNVector4FromGLKVector4 ( GLKVector4 vector );
Параметры
vector
Векторная структура GLKit с четырьмя элементами.
Возвращаемое значение
Структура вектора SceneKit с четырьмя элементами, представляющая тот же вектор как входной параметр.
Оператор импорта
Objective C
@import SceneKit;
Доступность
Доступный в OS X v10.9 и позже.
-
Возвращает векторную структуру GLKit с четырьмя элементами, соответствующую структуре вектора SceneKit.
Объявление
Objective C
GLKVector4 SCNVector4ToGLKVector4 ( SCNVector4 vector );
Параметры
vector
Структура вектора SceneKit с четырьмя элементами.
Возвращаемое значение
Векторная структура GLKit с четырьмя элементами, представляющая тот же вектор как входной параметр.
Оператор импорта
Objective C
@import SceneKit;
Доступность
Доступный в OS X v10.9 и позже.
-
Возвращает матрицу, описывающую переводческую трансформацию.
Объявление
Swift
func SCNMatrix4MakeTranslation(_
x
: CGFloat, _y
: CGFloat, _z
: CGFloat) -> SCNMatrix4Objective C
SCNMatrix4 SCNMatrix4MakeTranslation ( CGFloat x, CGFloat y, CGFloat z );
Параметры
x
Расстояние перевода в направлении оси X.
y
Расстояние перевода в направлении оси y.
z
Расстояние перевода в направлении оси z.
Возвращаемое значение
Новая матрица перевода.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.10 и позже.
-
Возвращает матрицу, описывающую трансформацию вращения.
Объявление
Swift
func SCNMatrix4MakeRotation(_
angle
: CGFloat, _x
: CGFloat, _y
: CGFloat, _z
: CGFloat) -> SCNMatrix4Objective C
SCNMatrix4 SCNMatrix4MakeRotation ( CGFloat angle, CGFloat x, CGFloat y, CGFloat z );
Параметры
angle
Сумма вращения, в радианах, измерилась против часовой стрелки вокруг оси вращения.
x
X-компонент оси вращения.
y
Y-компонент оси вращения.
z
Z-компонент оси вращения.
Возвращаемое значение
Новая матрица вращения.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.10 и позже.
-
Возвращает матрицу, описывающую трансформацию масштаба.
Объявление
Swift
func SCNMatrix4MakeScale(_
sx
: CGFloat, _sy
: CGFloat, _sz
: CGFloat) -> SCNMatrix4Objective C
SCNMatrix4 SCNMatrix4MakeScale ( CGFloat sx, CGFloat sy, CGFloat sz );
Параметры
sx
Масштабный коэффициент в направлении оси X.
sy
Масштабный коэффициент в направлении оси y.
sz
Масштабный коэффициент в направлении оси z.
Возвращаемое значение
Новая матрица масштаба.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.10 и позже.
-
Возвращает новую матрицу, создаваемую путем конкатенации указанной матрицы с переводческой трансформацией.
Объявление
Swift
func SCNMatrix4Translate(_
mat
: SCNMatrix4, _x
: CGFloat, _y
: CGFloat, _z
: CGFloat) -> SCNMatrix4Objective C
SCNMatrix4 SCNMatrix4Translate ( SCNMatrix4 mat, CGFloat x, CGFloat y, CGFloat z );
Параметры
mat
Матрица, которая будет объединена с transation.
x
Расстояние перевода в направлении оси X.
y
Расстояние перевода в направлении оси y.
z
Расстояние перевода в направлении оси z.
Возвращаемое значение
Новая матрица.
Обсуждение
Получающаяся трансформация состоит из указанного перевода, сопровождаемого трансформацией, представленной
mat
параметр.Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.10 и позже.
-
Возвращает новую матрицу, создаваемую путем конкатенации указанной матрицы с трансформацией вращения.
Объявление
Swift
func SCNMatrix4Rotate(_
mat
: SCNMatrix4, _angle
: CGFloat, _x
: CGFloat, _y
: CGFloat, _z
: CGFloat) -> SCNMatrix4Objective C
SCNMatrix4 SCNMatrix4Rotate ( SCNMatrix4 mat, CGFloat angle, CGFloat x, CGFloat y, CGFloat z );
Параметры
mat
Матрица, которая будет объединена с вращением.
angle
Сумма вращения, в радианах, измерилась против часовой стрелки вокруг оси вращения.
x
X-компонент оси вращения.
y
Y-компонент оси вращения.
z
Z-компонент оси вращения.
Возвращаемое значение
Новая матрица.
Обсуждение
Получающаяся трансформация состоит из указанного вращения, сопровождаемого трансформацией, представленной
mat
параметр.Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.10 и позже.
-
Возвращает новую матрицу, создаваемую путем конкатенации указанной матрицы с трансформацией масштаба.
Объявление
Swift
func SCNMatrix4Scale(_
mat
: SCNMatrix4, _x
: CGFloat, _y
: CGFloat, _z
: CGFloat) -> SCNMatrix4Objective C
SCNMatrix4 SCNMatrix4Scale ( SCNMatrix4 mat, CGFloat x, CGFloat y, CGFloat z );
Параметры
mat
Матрица, которая будет объединена с transation.
x
Масштабный коэффициент в направлении оси X.
y
Масштабный коэффициент в направлении оси y.
z
Масштабный коэффициент в направлении оси z.
Возвращаемое значение
Новая матрица.
Обсуждение
Получающаяся трансформация состоит из указанного масштаба, сопровождаемого трансформацией, представленной
mat
параметр.Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.10 и позже.
-
Возвращает инверсию указанной матрицы.
Объявление
Swift
func SCNMatrix4Invert(_
mat
: SCNMatrix4) -> SCNMatrix4Objective C
SCNMatrix4 SCNMatrix4Invert ( SCNMatrix4 mat );
Параметры
mat
Матрица, которая будет инвертирована.
Возвращаемое значение
Обратная матрица указанной матрицы или исходной матрицы, если это не является обратимым.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.10 и позже.
-
Возвращает продукт двух матриц.
Объявление
Swift
func SCNMatrix4Mult(_
matA
: SCNMatrix4, _matB
: SCNMatrix4) -> SCNMatrix4Objective C
SCNMatrix4 SCNMatrix4Mult ( SCNMatrix4 matA, SCNMatrix4 matB );
Параметры
matA
Множимое или оставленный операнд умножения матриц.
matB
Множитель или правильный операнд умножения матриц.
Возвращаемое значение
Матричное произведение
matA
иmatB
параметры.Обсуждение
Умножение матриц не является коммутативным. Как трансформация, результат умножения матрицы
A
матрицейB
трансформация, представленнаяB
сопровождаемый трансформацией, представленнойA
.Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.10 и позже.
-
Возвращает булево значение, указывающее, равны ли соответствующие элементы двух матриц.
Объявление
Swift
func SCNMatrix4EqualToMatrix4(_
matA
: SCNMatrix4, _matA
: SCNMatrix4) -> BoolObjective C
bool SCNMatrix4EqualToMatrix4 ( SCNMatrix4 matA, SCNMatrix4 matB );
Параметры
matA
Первая матрица, которая будет сравнена.
matA
Первая матрица, которая будет сравнена.
Возвращаемое значение
Истина, если каждый элемент в
matA
точно равно соответствующему элементу вmatB
.Обсуждение
Эта функция выполняет числовое (не поразрядно) сравнение каждой пары элементов.
Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.10 и позже.
-
Возвращает булево значение, указывающее, равна ли указанная матрица единичной матрице.
Объявление
Swift
func SCNMatrix4IsIdentity(_
mat
: SCNMatrix4) -> BoolObjective C
bool SCNMatrix4IsIdentity ( SCNMatrix4 mat );
Параметры
mat
Матрица, которая будет протестирована.
Возвращаемое значение
Истина, если элементы на диагонали матрицы
1.0
и все другие элементы0.0
.Оператор импорта
Objective C
@import SceneKit;
Swift
import SceneKit
Доступность
Доступный в OS X v10.10 и позже.
См. также
-
Возвращает соответствие матрицы SceneKit матрице GLKit.
Объявление
Objective C
SCNMatrix4 SCNMatrix4FromGLKMatrix4 ( GLKMatrix4 mat );
Параметры
mat
Матрица GLKit.
Возвращаемое значение
Матрица SceneKit представление той же 3D трансформации.
Оператор импорта
Objective C
@import SceneKit;
Доступность
Доступный в OS X v10.10 и позже.
-
Возвращает матрицу GLKit, соответствующую матрице SceneKit.
Объявление
Objective C
GLKMatrix4 SCNMatrix4ToGLKMatrix4 ( SCNMatrix4 mat );
Параметры
mat
Матрица SceneKit.
Возвращаемое значение
Матрица GLKit, представляющая ту же 3D трансформацию.
Оператор импорта
Objective C
@import SceneKit;
Доступность
Доступный в OS X v10.10 и позже.