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 分量。 |
方法
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 - 点积值
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)
在 from 与 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: 布尔 - 如果两个四元数不相等则为 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:
| 参数 | 类型 | 描述 |
|---|---|---|
| angle | 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 |