类 Quaternion
java.lang.Object
org.hipparchus.complex.Quaternion
- 所有已实现的接口:
-
Serializable
This class implements 四元数 (哈密顿的超复数)。
此类的实例保证是不可变的。
- 另请参阅:
-
字段概要
字段修饰符和类型字段说明static final Quaternionistatic final Quaternion单位四元数。static final Quaternionjstatic final Quaternionkstatic final Quaternion零四元数。 -
构造器概要
构造器构造器说明Quaternion(double[] v) 从向量构建一个纯四元数(假设标量部分为零)。Quaternion(double scalar, double[] v) 从标量和向量部分构建四元数。Quaternion(double a, double b, double c, double d) 从其组件构建四元数。 -
方法概要
修饰符和类型方法说明add(Quaternion q) 计算实例和另一个四元数的和。static Quaternionadd(Quaternion q1, Quaternion q2) 计算两个四元数的和。double计算实例与四元数的点积。static doubledotProduct(Quaternion q1, Quaternion q2) 计算两个四元数的点积。booleanbooleanequals(Quaternion q, double eps) 检查此实例是否在给定容差内等于另一个四元数。返回此实例的共轭四元数。返回此实例的逆。doublegetNorm()计算四元数的范数。返回四元数的极坐标形式。doublegetQ0()获取四元数的第一个分量(标量部分)。doublegetQ1()获取四元数的第二个分量(向量部分的第一个分量)。doublegetQ2()获取四元数的第三个分量(向量部分的第二个分量)。doublegetQ3()获取四元数的第四个分量(向量部分的第三个分量)。double获取四元数的标量部分。double[]获取四元数的向量部分的三个分量。inthashCode()booleanisPureQuaternion(double eps) 检查实例是否在给定容差内为纯四元数。booleanisUnitQuaternion(double eps) 检查实例是否在给定容差内为单位四元数。multiply(double alpha) 将实例乘以一个标量。返回实例与四元数的哈密顿乘积。static Quaternionmultiply(Quaternion q1, Quaternion q2) 返回两个四元数的哈密顿乘积。计算规范化的四元数(实例的单位向量)。四元数的范数不能为零。从实例中减去一个四元数。static Quaternionsubtract(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
-