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:
| Параметр | Тип | Описание |
|---|---|---|
| w | double | w‑компонент кватерниона |
| x | double | x‑компонент кватерниона |
| y | double | y‑компонент кватерниона |
| z | double | z‑компонент кватерниона |
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:
| Параметр | Тип | Описание |
|---|---|---|
| lhs | Quaternion | Левый кватернион |
| rhs | Quaternion | Правый кватернион |
Returns: Quaternion - Result quaternion
clone()
public Quaternion clone()
Клонировать текущий экземпляр
Returns: Quaternion
concat(Quaternion rhs)
public Quaternion concat(Quaternion rhs)
Конкатенировать два кватерниона.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| rhs | Quaternion |
Returns: Quaternion
conjugate()
public Quaternion conjugate()
Возвращает сопряжённый кватернион текущего кватерниона.
Returns: Quaternion - The conjugate quaternion.
copyFrom(Quaternion src)
public void copyFrom(Quaternion src)
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| src | Quaternion |
div(Quaternion lhs, double rhs)
public static Quaternion div(Quaternion lhs, double rhs)
Перегрузка оператора для /.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| lhs | Quaternion | Левый кватернион |
| rhs | double | Правый кватернион |
Returns: Quaternion - Result quaternion
dot(Quaternion q)
public double dot(Quaternion q)
Скалярное произведение.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| q | Quaternion | Кватернион |
Returns: double - значение Dot
equals(Object obj)
public boolean equals(Object obj)
Проверить, равны ли два кватерниона.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| obj | java.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:
| Параметр | Тип | Описание |
|---|---|---|
| a | double | Поворот по часовой стрелке в радианах |
| axis | Vector3 | Ось |
Returns: Quaternion - Created quaternion
fromEulerAngle(Vector3 eulerAngle)
public static Quaternion fromEulerAngle(Vector3 eulerAngle)
Создаёт кватернион из заданного угла Эйлера.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| eulerAngle | Vector3 | Угол Эйлера в радианах |
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:
| Параметр | Тип | Описание |
|---|---|---|
| orig | Vector3 | Исходное направление |
| dest | Vector3 | Целевое направление |
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:
| Параметр | Тип | Описание |
|---|---|---|
| t | float | Коэффициент для интерполяции. |
| from | Quaternion | Исходный кватернион. |
| to | Quaternion | Целевой кватернион. |
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:
| Параметр | Тип | Описание |
|---|---|---|
| lhs | Quaternion | Левый кватернион |
| rhs | Quaternion | Правый кватернион |
Returns: Quaternion - Result quaternion
mul(Quaternion q, Vector3 v)
public static Vector3 mul(Quaternion q, Vector3 v)
Перегрузка оператора для *
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| q | Quaternion | Кватернион вращения |
| v | Vector3 | Вектор для вращения |
Returns: Vector3 - Rotated vector
mul(Quaternion q, Vector4 v)
public static Vector4 mul(Quaternion q, Vector4 v)
Перегрузка оператора для *
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| q | Quaternion | Кватернион вращения |
| v | Vector4 | Вектор для вращения |
Returns: Vector4 - Rotated vector
mul(Quaternion lhs, double rhs)
public static Quaternion mul(Quaternion lhs, double rhs)
Перегрузка оператора для *
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| lhs | Quaternion | Левый кватернион |
| rhs | double | Правый кватернион |
Returns: Quaternion - Result quaternion
mul(Vector3 v, Quaternion q)
public static Vector3 mul(Vector3 v, Quaternion q)
Перегрузка оператора для *
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| v | Vector3 | Кватернион вращения |
| q | Quaternion | Вектор для вращения |
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:
| Параметр | Тип | Описание |
|---|---|---|
| lhs | Quaternion | Значение левой части. |
| rhs | Quaternion | Значение правой части. |
Returns: boolean - true, если все компоненты идентично равны.
op_ne(Quaternion lhs, Quaternion rhs)
public static boolean op_ne(Quaternion lhs, Quaternion rhs)
Оператор неравенства для кватерниона.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| lhs | Quaternion | Значение левой части. |
| rhs | Quaternion | Значение правой части. |
Returns: boolean - True, если два кватерниона не равны.
slerp(double t, Quaternion v1, Quaternion v2)
public static Quaternion slerp(double t, Quaternion v1, Quaternion v2)
Выполнить сферическую линейную интерполяцию между двумя значениями.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| t | double | t находится в диапазоне от 0 до 1 |
| v1 | Quaternion | Первое значение |
| v2 | Quaternion | Второе значение |
Returns: Quaternion
toAngleAxis(double[] angle, Vector3 axis)
public void toAngleAxis(double[] angle, Vector3 axis)
Разложить кватернион на угол и ось.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| угол | double[] | Угол вращения, в радианах. |
| axis | Vector3 | Ось, вокруг которой происходит вращение. |
toMatrix()
public Matrix4 toMatrix()
Преобразовать вращение, представленное кватернионом, в матрицу преобразования.
Returns: Matrix4 - The matrix representation of current quaternion.
toMatrix(Vector3 translation)
public Matrix4 toMatrix(Vector3 translation)
Преобразовать вращение, представленное кватернионом, в матрицу преобразования.
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| translation | Vector3 | Часть матрицы, отвечающая за трансляцию. |
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:
| Параметр | Тип | Описание |
|---|---|---|
| arg0 | long |
wait(long arg0, int arg1)
public final void wait(long arg0, int arg1)
Parameters:
| Параметр | Тип | Описание |
|---|---|---|
| arg0 | long | |
| arg1 | int |