类 Quaternion
java.lang.Object
org.hipparchus.complex.Quaternion
- 所有已实现的接口:
-
Serializable
This class implements 四元数 (哈密顿的超复数)。
此类的实例保证是不可变的。
- 另请参阅:
-
字段概要
修饰符和类型字段说明static final Quaternion
istatic final Quaternion
单位四元数。static final Quaternion
jstatic final Quaternion
kstatic final Quaternion
零四元数。 -
构造器概要
构造器说明Quaternion
(double[] v) 从向量构建一个纯四元数(假设标量部分为零)。Quaternion
(double scalar, double[] v) 从标量和向量部分构建四元数。Quaternion
(double a, double b, double c, double d) 从其组件构建四元数。 -
方法概要
修饰符和类型方法说明add
(Quaternion q) 计算实例和另一个四元数的和。static Quaternion
add
(Quaternion q1, Quaternion q2) 计算两个四元数的和。double
计算实例与四元数的点积。static double
dotProduct
(Quaternion q1, Quaternion q2) 计算两个四元数的点积。boolean
boolean
equals
(Quaternion q, double eps) 检查此实例是否在给定容差内等于另一个四元数。返回此实例的共轭四元数。返回此实例的逆。double
getNorm()
计算四元数的范数。返回四元数的极坐标形式。double
getQ0()
获取四元数的第一个分量(标量部分)。double
getQ1()
获取四元数的第二个分量(向量部分的第一个分量)。double
getQ2()
获取四元数的第三个分量(向量部分的第二个分量)。double
getQ3()
获取四元数的第四个分量(向量部分的第三个分量)。double
获取四元数的标量部分。double[]
获取四元数的向量部分的三个分量。int
hashCode()
boolean
isPureQuaternion
(double eps) 检查实例是否在给定容差内为纯四元数。boolean
isUnitQuaternion
(double eps) 检查实例是否在给定容差内为单位四元数。multiply
(double alpha) 将实例乘以一个标量。返回实例与四元数的哈密顿乘积。static Quaternion
multiply
(Quaternion q1, Quaternion q2) 返回两个四元数的哈密顿乘积。计算规范化的四元数(实例的单位向量)。四元数的范数不能为零。从实例中减去一个四元数。static Quaternion
subtract
(Quaternion q1, Quaternion q2) 减去两个四元数。toString()
-
字段详细资料
-
IDENTITY
单位四元数。 -
ZERO
零四元数。 -
I
i -
J
j -
K
k
-
-
构造器详细资料
-
Quaternion
public Quaternion(double a, double b, double c, double d) 从其组件构建四元数。- 参数:
-
a
- 标量分量。 -
b
- 第一个向量分量。 -
c
- 第二个向量分量。 -
d
- 第三个向量分量。
-
Quaternion
从标量和向量部分构建四元数。- 参数:
-
scalar
- 四元数的标量部分。 -
v
- 四元数的向量部分的分量。 - 抛出:
-
MathIllegalArgumentException
- 如果数组长度不为3。
-
Quaternion
public Quaternion(double[] v) 从向量构建一个纯四元数(假设标量部分为零)。- 参数:
-
v
- 纯四元数的向量部分的分量。
-
-
方法详细资料
-
getConjugate
返回此实例的共轭四元数。- 返回:
- 共轭四元数
-
multiply
返回两个四元数的哈密顿乘积。- 参数:
-
q1
- 第一个四元数。 -
q2
- 第二个四元数。 - 返回:
-
以
q1
和q2
的顺序返回乘积。
-
multiply
返回实例与四元数的哈密顿乘积。- 参数:
-
q
- 四元数。 - 返回:
-
以此实例与
q
的顺序返回乘积。
-
add
计算两个四元数的和。- 参数:
-
q1
- 四元数。 -
q2
- 四元数。 - 返回:
-
q1
和q2
的和。
-
add
计算实例和另一个四元数的和。- 参数:
-
q
- 四元数。 - 返回:
-
此实例和
q
的和
-
subtract
减去两个四元数。- 参数:
-
q1
- 第一个四元数。 -
q2
- 第二个四元数。 - 返回:
-
q1
和q2
之间的差异。
-
subtract
从实例中减去一个四元数。- 参数:
-
q
- 四元数。 - 返回:
-
此实例与
q
之间的差异。
-
dotProduct
计算两个四元数的点积。- 参数:
-
q1
- 四元数。 -
q2
- 四元数。 - 返回:
-
q1
和q2
的点积。
-
dotProduct
计算实例与四元数的点积。- 参数:
-
q
- 四元数。 - 返回:
-
此实例与
q
的点积。
-
getNorm
public double getNorm()计算四元数的范数。- 返回:
- 范数。
-
normalize
计算规范化的四元数(实例的单位向量)。四元数的范数不能为零。- 返回:
- 一个规范化的四元数。
- 抛出:
-
MathIllegalArgumentException
- 如果四元数的范数为零。
-
equals
-
hashCode
public int hashCode() -
equals
检查此实例是否在给定容差内等于另一个四元数。- 参数:
-
q
- 用于比较当前四元数的四元数。 -
eps
- 容差。 - 返回:
-
如果每个分量在允许的绝对误差内相等,则返回
true
。
-
isUnitQuaternion
public boolean isUnitQuaternion(double eps) 检查实例是否在给定容差内为单位四元数。- 参数:
-
eps
- 容差(绝对误差)。 - 返回:
-
如果范数在给定容差内为1,则返回
true
,否则返回false
。
-
isPureQuaternion
public boolean isPureQuaternion(double eps) 检查实例是否在给定容差内为纯四元数。- 参数:
-
eps
- 容差(绝对误差)。 - 返回:
-
如果四元数的标量部分为零,则返回
true
。
-
getPositivePolarForm
返回四元数的极坐标形式。- 返回:
- 具有正标量部分的单位四元数。
-
getInverse
返回此实例- 返回:
- 逆。
- 抛出:
-
MathIllegalArgumentException
- 如果四元数的范数(平方)为零。
-
getQ0
public double getQ0()获取四元数的第一个分量(标量部分)。- 返回:
- 标量部分。
-
getQ1
public double getQ1()获取四元数的第二个分量(向量部分的第一个分量)。- 返回:
- 向量部分的第一个分量。
-
getQ2
public double getQ2()获取四元数的第三个分量(向量部分的第二个分量)。- 返回:
- 向量部分的第二个分量。
-
getQ3
public double getQ3()获取四元数的第四个分量(向量部分的第三个分量)。- 返回:
- 向量部分的第三个分量。
-
getScalarPart
public double getScalarPart()获取四元数的标量部分。- 返回:
- 标量部分。
- 另请参阅:
-
getVectorPart
public double[] getVectorPart()获取四元数的向量部分的三个分量。- 返回:
- 向量部分。
- 另请参阅:
-
multiply
将实例乘以标量。- 参数:
-
alpha
- 标量因子。 - 返回:
- 缩放后的四元数。
-
toString
-