Quaternion

Inheritance: java.lang.Object

All Implemented Interfaces: com.aspose.threed.Struct, java.io.Serializable

public final class Quaternion implements Struct<Quaternion>, Serializable

Кватернион обычно используется для выполнения вращения в компьютерной графике.

Конструкторы

КонструкторОписание
Quaternion(double w, double x, double y, double z)Инициализирует новый экземпляр класса Quaternion.
Quaternion()

Поля

ПолеОписание
IDENTITYЕдиничный кватернион.
wКомпонент w.
xКомпонент x.
yКомпонент y.
zКомпонент z.

Методы

МетодОписание
add(Quaternion lhs, Quaternion rhs)Перегрузка оператора для +
clone()
concat(Quaternion rhs)Конкатенировать два кватерниона.
conjugate()Возвращает сопряжённый кватернион текущего кватерниона.
copyFrom(Quaternion src)
div(Quaternion lhs, double rhs)Перегрузка оператора для /.
dot(Quaternion q)Скалярное произведение.
equals(Object obj)Проверить, равны ли два кватерниона.
eulerAngles()Преобразует кватернион в вращение, представленное углами Эйлера. Все компоненты указаны в радианах.
fromAngleAxis(double a, Vector3 axis)Создаёт кватернион вокруг заданной оси и вращает по часовой стрелке.
fromEulerAngle(Vector3 eulerAngle)Создаёт кватернион из заданного угла Эйлера.
fromEulerAngle(double pitch, double yaw, double roll)Создаёт кватернион из заданного угла Эйлера.
fromRotation(Vector3 orig, Vector3 dest)Создаёт кватернион, вращающий из исходного направления в целевое.
getClass()
getLength()Получает длину кватерниона.
hashCode()Получает хеш‑код кватерниона.
interpolate(float t, Quaternion from, Quaternion to)Заполняет этот кватернион интерполированным значением между заданными аргументами кватернионов для параметра t в диапазоне от начального к конечному.
inverse()Возвращает обратный кватернион текущего кватерниона.
mul(Quaternion lhs, Quaternion rhs)Перегрузка оператора для *
mul(Quaternion q, Vector3 v)Перегрузка оператора для *
mul(Quaternion q, Vector4 v)Перегрузка оператора для *
mul(Quaternion lhs, double rhs)Перегрузка оператора для *
mul(Vector3 v, Quaternion q)Перегрузка оператора для *
normalize()Нормализовать кватернион.
notify()
notifyAll()
op_eq(Quaternion lhs, Quaternion rhs)Оператор равенства для кватерниона.
op_ne(Quaternion lhs, Quaternion rhs)Оператор неравенства для кватерниона.
slerp(double t, Quaternion v1, Quaternion v2)Выполнить сферическую линейную интерполяцию между двумя значениями.
toAngleAxis(double[] angle, Vector3 axis)Разложить кватернион на угол и ось.
toMatrix()Преобразовать вращение, представленное кватернионом, в матрицу преобразования.
toMatrix(Vector3 translation)Преобразовать вращение, представленное кватернионом, в матрицу преобразования.
toString()Получает строковое представление кватерниона.
wait()
wait(long arg0)
wait(long arg0, int arg1)

Quaternion(double w, double x, double y, double z)

public Quaternion(double w, double x, double y, double z)

Инициализирует новый экземпляр класса Quaternion.

Parameters:

ПараметрТипОписание
wdoublew‑компонент кватерниона
xdoublex‑компонент кватерниона
ydoubley‑компонент кватерниона
zdoublez‑компонент кватерниона

Quaternion()

public Quaternion()

IDENTITY

public static final Quaternion IDENTITY

Единичный кватернион.

w

public double w

Компонент w.

x

public double x

Компонент x.

y

public double y

Компонент y.

z

public double z

Компонент z.

add(Quaternion lhs, Quaternion rhs)

public static Quaternion add(Quaternion lhs, Quaternion rhs)

Перегрузка оператора для +

Parameters:

ПараметрТипОписание
lhsQuaternionЛевый кватернион
rhsQuaternionПравый кватернион

Returns: Quaternion - Result quaternion

clone()

public Quaternion clone()

Клонировать текущий экземпляр

Returns: Quaternion

concat(Quaternion rhs)

public Quaternion concat(Quaternion rhs)

Конкатенировать два кватерниона.

Parameters:

ПараметрТипОписание
rhsQuaternion

Returns: Quaternion

conjugate()

public Quaternion conjugate()

Возвращает сопряжённый кватернион текущего кватерниона.

Returns: Quaternion - The conjugate quaternion.

copyFrom(Quaternion src)

public void copyFrom(Quaternion src)

Parameters:

ПараметрТипОписание
srcQuaternion

div(Quaternion lhs, double rhs)

public static Quaternion div(Quaternion lhs, double rhs)

Перегрузка оператора для /.

Parameters:

ПараметрТипОписание
lhsQuaternionЛевый кватернион
rhsdoubleПравый кватернион

Returns: Quaternion - Result quaternion

dot(Quaternion q)

public double dot(Quaternion q)

Скалярное произведение.

Parameters:

ПараметрТипОписание
qQuaternionКватернион

Returns: double - значение Dot

equals(Object obj)

public boolean equals(Object obj)

Проверить, равны ли два кватерниона.

Parameters:

ПараметрТипОписание
objjava.lang.ObjectОбъект для проверки равенства.

Returns: boolean - true, если все компоненты идентично равны.

eulerAngles()

public Vector3 eulerAngles()

Преобразует кватернион в вращение, представленное углами Эйлера. Все компоненты указаны в радианах.

Returns: Vector3 - Result vector

fromAngleAxis(double a, Vector3 axis)

public static Quaternion fromAngleAxis(double a, Vector3 axis)

Создаёт кватернион вокруг заданной оси и вращает по часовой стрелке.

Parameters:

ПараметрТипОписание
adoubleПоворот по часовой стрелке в радианах
axisVector3Ось

Returns: Quaternion - Created quaternion

fromEulerAngle(Vector3 eulerAngle)

public static Quaternion fromEulerAngle(Vector3 eulerAngle)

Создаёт кватернион из заданного угла Эйлера.

Parameters:

ПараметрТипОписание
eulerAngleVector3Угол Эйлера в радианах

Returns: Quaternion - Created quaternion

fromEulerAngle(double pitch, double yaw, double roll)

public static Quaternion fromEulerAngle(double pitch, double yaw, double roll)

Создаёт кватернион из заданного угла Эйлера.

Parameters:

ПараметрТипОписание
тангажdoubleТангаж в радианах
рысканьеdoubleРысканье в радианах
кренdoubleКрен в радианах

Returns: Quaternion - Created quaternion

fromRotation(Vector3 orig, Vector3 dest)

public static Quaternion fromRotation(Vector3 orig, Vector3 dest)

Создаёт кватернион, вращающий из исходного направления в целевое.

Parameters:

ПараметрТипОписание
origVector3Исходное направление
destVector3Целевое направление

Returns: Quaternion - Created quaternion

getClass()

public final native Class<?> getClass()

Returns: java.lang.Class

getLength()

public double getLength()

Получает длину кватерниона.

Returns: double - длина кватерниона

hashCode()

public int hashCode()

Получает хеш‑код кватерниона.

Returns: int - Хеш‑код Quaternion

interpolate(float t, Quaternion from, Quaternion to)

public static Quaternion interpolate(float t, Quaternion from, Quaternion to)

Заполняет этот кватернион интерполированным значением между заданными аргументами кватернионов для параметра t в диапазоне от начального к конечному.

Parameters:

ПараметрТипОписание
tfloatКоэффициент для интерполяции.
fromQuaternionИсходный кватернион.
toQuaternionЦелевой кватернион.

Returns: Quaternion - The interpolated quaternion.

inverse()

public Quaternion inverse()

Возвращает обратный кватернион текущего кватерниона.

Returns: Quaternion - Inverse quaternion.

mul(Quaternion lhs, Quaternion rhs)

public static Quaternion mul(Quaternion lhs, Quaternion rhs)

Перегрузка оператора для *

Parameters:

ПараметрТипОписание
lhsQuaternionЛевый кватернион
rhsQuaternionПравый кватернион

Returns: Quaternion - Result quaternion

mul(Quaternion q, Vector3 v)

public static Vector3 mul(Quaternion q, Vector3 v)

Перегрузка оператора для *

Parameters:

ПараметрТипОписание
qQuaternionКватернион вращения
vVector3Вектор для вращения

Returns: Vector3 - Rotated vector

mul(Quaternion q, Vector4 v)

public static Vector4 mul(Quaternion q, Vector4 v)

Перегрузка оператора для *

Parameters:

ПараметрТипОписание
qQuaternionКватернион вращения
vVector4Вектор для вращения

Returns: Vector4 - Rotated vector

mul(Quaternion lhs, double rhs)

public static Quaternion mul(Quaternion lhs, double rhs)

Перегрузка оператора для *

Parameters:

ПараметрТипОписание
lhsQuaternionЛевый кватернион
rhsdoubleПравый кватернион

Returns: Quaternion - Result quaternion

mul(Vector3 v, Quaternion q)

public static Vector3 mul(Vector3 v, Quaternion q)

Перегрузка оператора для *

Parameters:

ПараметрТипОписание
vVector3Кватернион вращения
qQuaternionВектор для вращения

Returns: Vector3 - Rotated vector

normalize()

public Quaternion normalize()

Нормализовать кватернион.

Returns: Quaternion - Normalized quaternion.

notify()

public final native void notify()

notifyAll()

public final native void notifyAll()

op_eq(Quaternion lhs, Quaternion rhs)

public static boolean op_eq(Quaternion lhs, Quaternion rhs)

Оператор равенства для кватерниона.

Parameters:

ПараметрТипОписание
lhsQuaternionЗначение левой части.
rhsQuaternionЗначение правой части.

Returns: boolean - true, если все компоненты идентично равны.

op_ne(Quaternion lhs, Quaternion rhs)

public static boolean op_ne(Quaternion lhs, Quaternion rhs)

Оператор неравенства для кватерниона.

Parameters:

ПараметрТипОписание
lhsQuaternionЗначение левой части.
rhsQuaternionЗначение правой части.

Returns: boolean - True, если два кватерниона не равны.

slerp(double t, Quaternion v1, Quaternion v2)

public static Quaternion slerp(double t, Quaternion v1, Quaternion v2)

Выполнить сферическую линейную интерполяцию между двумя значениями.

Parameters:

ПараметрТипОписание
tdoublet находится в диапазоне от 0 до 1
v1QuaternionПервое значение
v2QuaternionВторое значение

Returns: Quaternion

toAngleAxis(double[] angle, Vector3 axis)

public void toAngleAxis(double[] angle, Vector3 axis)

Разложить кватернион на угол и ось.

Parameters:

ПараметрТипОписание
уголdouble[]Угол вращения, в радианах.
axisVector3Ось, вокруг которой происходит вращение.

toMatrix()

public Matrix4 toMatrix()

Преобразовать вращение, представленное кватернионом, в матрицу преобразования.

Returns: Matrix4 - The matrix representation of current quaternion.

toMatrix(Vector3 translation)

public Matrix4 toMatrix(Vector3 translation)

Преобразовать вращение, представленное кватернионом, в матрицу преобразования.

Parameters:

ПараметрТипОписание
translationVector3Часть матрицы, отвечающая за трансляцию.

Returns: Matrix4 - The matrix representation of current quaternion.

toString()

public String toString()

Получает строковое представление кватерниона.

Returns: java.lang.String - Строка объекта

wait()

public final void wait()

wait(long arg0)

public final void wait(long arg0)

Parameters:

ПараметрТипОписание
arg0long

wait(long arg0, int arg1)

public final void wait(long arg0, int arg1)

Parameters:

ПараметрТипОписание
arg0long
arg1int