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单位四元数。
ww 分量。
xx 分量。
yy 分量。
zz 分量。

方法

方法描述
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)在 from 与 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:

参数类型描述
wdouble四元数的 w 分量
xdouble四元数的 x 分量
ydouble四元数的 y 分量
zdouble四元数的 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:

参数类型描述
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 - 点积值

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)

在 from 与 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: 布尔 - 如果两个四元数不相等则为 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:

参数类型描述
angledouble[]旋转角度,以弧度为单位。
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