Ссылка GLKQuaternion
GLKQuaternion
тип определяет структуру, представляющую кватернион. Кватернион определяется скалярным компонентом s
и вектор XYZ v
. Кватернионы часто используются в графике, программируя как компактное представление вращения объекта в трех измерениях.
Управляющие функции GLKQuaternion
структуры обрабатывают вводы как неизменные, вместо этого возвращая новый кватернион, которые представляют результаты работы.
-
Возвращает кватернион, создаваемый из его отдельных компонентов.
Объявление
Objective C
GLKQuaternion GLKQuaternionMake ( float x, float y, float z, float w );
Параметры
x
x
компонент кватерниона.y
y
компонент кватерниона.z
z
компонент кватерниона.w
w
компонент кватерниона.Возвращаемое значение
Новый кватернион.
Оператор импорта
Objective C
@import GLKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Возвращает кватернион, создаваемый из массива компонентов.
Объявление
Objective C
GLKQuaternion GLKQuaternionMakeWithArray ( float values[4] );
Параметры
float values[4]
Четыре компонента, включающие новый кватернион.
Возвращаемое значение
Новый кватернион.
Оператор импорта
Objective C
@import GLKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Возвращает кватернион, создаваемый из вектора и скаляра.
Объявление
Objective C
GLKQuaternion GLKQuaternionMakeWithVector3 ( GLKVector3 vector, float scalar );
Параметры
vector
Векторная часть нового кватерниона.
scalar
Скалярная часть нового кватерниона.
Возвращаемое значение
Новый кватернион.
Оператор импорта
Objective C
@import GLKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Создает кватернион, представляющий вращение вокруг оси.
Объявление
Objective C
GLKQuaternion GLKQuaternionMakeWithAngleAndAxis ( float radians, float x, float y, float z );
Параметры
radians
Угол вращения в радианах (положительный угол против часовой стрелки).
x
x
компонент оси.y
y
компонент оси.z
z
компонент оси.Возвращаемое значение
Новый кватернион.
Оператор импорта
Objective C
@import GLKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Создает кватернион, представляющий вращение вокруг оси.
Объявление
Objective C
GLKQuaternion GLKQuaternionMakeWithAngleAndVector3Axis ( float radians, GLKVector3 axisVector );
Параметры
radians
Угол вращения в радианах (положительный угол против часовой стрелки).
axisVector
Ось вращения.
Возвращаемое значение
Новый кватернион.
Оператор импорта
Objective C
@import GLKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Создает кватернион из матрицы вращения.
Объявление
Objective C
GLKQuaternion GLKQuaternionMakeWithMatrix3 ( GLKMatrix3 matrix );
Параметры
matrix
Матрица вращения для преобразования в кватернион.
Возвращаемое значение
Новый кватернион.
Оператор импорта
Objective C
@import GLKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Создает кватернион из матрицы вращения.
Объявление
Objective C
GLKQuaternion GLKQuaternionMakeWithMatrix4 ( GLKMatrix4 matrix );
Параметры
matrix
Матрица вращения для преобразования в кватернион.
Возвращаемое значение
Новый кватернион.
Оператор импорта
Objective C
@import GLKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Возвращает длину кватерниона.
Объявление
Objective C
float GLKQuaternionLength ( GLKQuaternion quaternion );
Параметры
quaternion
Кватернион.
Возвращаемое значение
Длина кватерниона.
Оператор импорта
Objective C
@import GLKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Возвращает ось вращения кватерниона.
Объявление
Objective C
GLKVector3 GLKQuaternionAxis ( GLKQuaternion quaternion );
Параметры
quaternion
Кватернион.
Возвращаемое значение
Ось вращения.
Оператор импорта
Objective C
@import GLKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Возвращает угол вращения кватерниона.
Объявление
Objective C
float GLKQuaternionAngle ( GLKQuaternion quaternion );
Параметры
quaternion
Кватернион.
Возвращаемое значение
Угол вращения в радианах (положительный угол против часовой стрелки).
Оператор импорта
Objective C
@import GLKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Возвращает нормализованную версию кватерниона.
Объявление
Objective C
GLKQuaternion GLKQuaternionNormalize ( GLKQuaternion quaternion );
Параметры
quaternion
Кватернион.
Возвращаемое значение
Новый кватернион, нормализованный для имения длины
1.0
.Оператор импорта
Objective C
@import GLKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Возвращает инверсию кватерниона.
Объявление
Objective C
GLKQuaternion GLKQuaternionInvert ( GLKQuaternion quaternion );
Параметры
quaternion
Кватернион.
Возвращаемое значение
Новый кватернион, который является инверсией исходного кватерниона.
Оператор импорта
Objective C
@import GLKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Возвращает сопряженный из кватерниона.
Объявление
Objective C
GLKQuaternion GLKQuaternionConjugate ( GLKQuaternion quaternion );
Параметры
quaternion
Кватернион.
Возвращаемое значение
Новый кватернион, который является сопряженным из исходного кватерниона.
Обсуждение
Сопряженный из кватерниона имеет то же скалярное значение, но зеркально отражаются знаки векторных компонентов.
Оператор импорта
Objective C
@import GLKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Возвращает сумму двух кватернионов.
Объявление
Objective C
GLKQuaternion GLKQuaternionAdd ( GLKQuaternion quaternionLeft, GLKQuaternion quaternionRight );
Параметры
quaternionLeft
Первый кватернион.
quaternionRight
Второй кватернион.
Возвращаемое значение
Новый кватернион.
Оператор импорта
Objective C
@import GLKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Возвращает различие между двумя кватернионами.
Объявление
Objective C
GLKQuaternion GLKQuaternionSubtract ( GLKQuaternion quaternionLeft, GLKQuaternion quaternionRight );
Параметры
quaternionLeft
Уменьшаемое.
quaternionRight
Вычитаемое.
Возвращаемое значение
Новый кватернион.
Оператор импорта
Objective C
@import GLKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Возвращает продукт двух кватернионов.
Объявление
Objective C
GLKQuaternion GLKQuaternionMultiply ( GLKQuaternion quaternionLeft, GLKQuaternion quaternionRight );
Параметры
quaternionLeft
Первый кватернион.
quaternionRight
Второй кватернион.
Возвращаемое значение
Новый кватернион.
Оператор импорта
Objective C
@import GLKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Возвращает сферическую линейную интерполяцию двух кватернионов.
Объявление
Objective C
GLKQuaternion GLKQuaternionSlerp ( GLKQuaternion quaternionStart, GLKQuaternion quaternionEnd, float t );
Параметры
quaternionStart
Начальная точка.
quaternionEnd
Конечная точка.
t
Коэффициент интерполяции.
Возвращаемое значение
Новый кватернион. Когда
t=0
, результатом является кватернион запуска. Когдаt=1.0
, результатом является кватернион конца. Для любого другого значенияt
, результатом является сферическая линейная интерполяция между этими двумя кватернионами.Оператор импорта
Objective C
@import GLKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Возвращает новый вектор, вычисляющийся путем применения вращения кватерниона к вектору.
Объявление
Objective C
GLKVector3 GLKQuaternionRotateVector3 ( GLKQuaternion quaternion, GLKVector3 vector );
Параметры
quaternion
Кватернион.
vector
Исходный вектор.
Возвращаемое значение
Новый вектор.
Оператор импорта
Objective C
@import GLKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Применяет вращение кватерниона к массиву векторов.
Объявление
Objective C
void GLKQuaternionRotateVector3Array ( GLKQuaternion quaternion, GLKVector3 *vectors, size_t vectorCount );
Параметры
quaternion
Кватернион.
vectors
На записи, массиве входных векторов. По возврату, массиву выходных векторов.
vectorCount
Число векторов в массиве.
Оператор импорта
Objective C
@import GLKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Возвращает новый вектор, вычисленный путем применения вращения кватерниона к вектору.
Объявление
Objective C
GLKVector4 GLKQuaternionRotateVector4 ( GLKQuaternion quaternion, GLKVector4 vector );
Параметры
quaternion
Кватернион.
vector
Исходный вектор.
Возвращаемое значение
Новый вектор.
Оператор импорта
Objective C
@import GLKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Применяет вращение кватерниона к массиву векторов.
Объявление
Objective C
void GLKQuaternionRotateVector4Array ( GLKQuaternion quaternion, GLKVector4 *vectors, size_t vectorCount );
Параметры
quaternion
Кватернион.
vectors
На записи, массиве входных векторов. По возврату, массиву выходных векторов.
vectorCount
Число векторов в массиве.
Оператор импорта
Objective C
@import GLKit;
Доступность
Доступный в OS X v10.8 и позже.
-
Представление кватерниона.
Объявление
Objective C
union _GLKQuaternion { struct { GLKVector3 v; float s; }; struct { float x, y, z, w; }; float q[4]; } typedef union _GLKQuaternion GLKQuaternion;
Поля
v
Векторная часть кватерниона.
s
Скалярный компонент кватерниона.
x
x
компонент векторной части кватерниона.y
y
компонент векторной части кватерниона.z
z
компонент векторной части кватерниона.w
Скалярный компонент кватерниона.
q
Компоненты кватерниона, выраженного как массив элементов.
Доступность
Доступный в OS X v10.8 и позже.