类 FieldVector3D<T extends CalculusFieldElement<T>>
- 类型参数:
-
T
- 字段元素的类型
- 所有已实现的接口:
-
Serializable
,FieldBlendable<FieldVector3D<T>,
T>
CalculusFieldElement
重新实现的Vector3D
。
此类的实例保证是不可变的。
- 另请参阅:
-
构造器概要
构造器说明FieldVector3D
(double a, FieldVector3D<T> u) 乘法构造器。FieldVector3D
(double a1, FieldVector3D<T> u1, double a2, FieldVector3D<T> u2) 线性构造器。FieldVector3D
(double a1, FieldVector3D<T> u1, double a2, FieldVector3D<T> u2, double a3, FieldVector3D<T> u3) 线性构造器。FieldVector3D
(double a1, FieldVector3D<T> u1, double a2, FieldVector3D<T> u2, double a3, FieldVector3D<T> u3, double a4, FieldVector3D<T> u4) 线性构造器。FieldVector3D
(Field<T> field, Vector3D v) 从Vector3D
构建一个FieldVector3D
。FieldVector3D
(T[] v) 简单构造器。FieldVector3D
(T a, FieldVector3D<T> u) 乘法构造器。FieldVector3D
(T a1, FieldVector3D<T> u1, T a2, FieldVector3D<T> u2) 线性构造器。FieldVector3D
(T a1, FieldVector3D<T> u1, T a2, FieldVector3D<T> u2, T a3, FieldVector3D<T> u3) 线性构造器。FieldVector3D
(T a1, FieldVector3D<T> u1, T a2, FieldVector3D<T> u2, T a3, FieldVector3D<T> u3, T a4, FieldVector3D<T> u4) 线性构造器。FieldVector3D
(T a, Vector3D u) 乘法构造器。FieldVector3D
(T a1, Vector3D u1, T a2, Vector3D u2) 线性构造器。线性构造器。线性构造器。FieldVector3D
(T alpha, T delta) 简单构造器。FieldVector3D
(T x, T y, T z) 简单构造器。 -
方法概要
修饰符和类型方法说明add
(double factor, FieldVector3D<T> v) 将缩放向量添加到实例。将缩放向量添加到实例。add
(FieldVector3D<T> v) 将向量添加到实例。将向量添加到实例。add
(T factor, FieldVector3D<T> v) 将缩放向量添加到实例。将缩放向量添加到实例。static <T extends CalculusFieldElement<T>>
Tangle
(FieldVector3D<T> v1, FieldVector3D<T> v2) 计算两个向量之间的角距离。static <T extends CalculusFieldElement<T>>
Tangle
(FieldVector3D<T> v1, Vector3D v2) 计算两个向量之间的角距离。static <T extends CalculusFieldElement<T>>
Tangle
(Vector3D v1, FieldVector3D<T> v2) 计算两个向量之间的角距离。blendArithmeticallyWith
(FieldVector3D<T> other, T blendingValue) 与另一个实例算术混合。计算实例与另一个向量的叉积。static <T extends CalculusFieldElement<T>>
FieldVector3D<T> crossProduct
(FieldVector3D<T> v1, FieldVector3D<T> v2) 计算两个向量的叉积。static <T extends CalculusFieldElement<T>>
FieldVector3D<T> crossProduct
(FieldVector3D<T> v1, Vector3D v2) 计算两个向量的叉积。计算实例与另一个向量的叉积。static <T extends CalculusFieldElement<T>>
FieldVector3D<T> crossProduct
(Vector3D v1, FieldVector3D<T> v2) 计算两个向量的叉积。distance
(FieldVector3D<T> v) 根据L2范数计算实例与另一个向量之间的距离。static <T extends CalculusFieldElement<T>>
Tdistance
(FieldVector3D<T> v1, FieldVector3D<T> v2) 根据L2范数计算两个向量之间的距离。static <T extends CalculusFieldElement<T>>
Tdistance
(FieldVector3D<T> v1, Vector3D v2) 根据L2范数计算两个向量之间的距离。根据L2范数计算实例与另一个向量之间的距离。static <T extends CalculusFieldElement<T>>
Tdistance
(Vector3D v1, FieldVector3D<T> v2) 根据L2范数计算两个向量之间的距离。distance1
(FieldVector3D<T> v) 根据L1范数计算实例与另一个向量之间的距离。static <T extends CalculusFieldElement<T>>
Tdistance1
(FieldVector3D<T> v1, FieldVector3D<T> v2) 根据L1范数计算两个向量之间的距离。static <T extends CalculusFieldElement<T>>
Tdistance1
(FieldVector3D<T> v1, Vector3D v2) 根据L1范数计算两个向量之间的距离。根据L1范数计算实例与另一个向量之间的距离。static <T extends CalculusFieldElement<T>>
Tdistance1
(Vector3D v1, FieldVector3D<T> v2) 根据L1范数计算两个向量之间的距离。根据L∞范数计算实例与另一个向量之间的距离。static <T extends CalculusFieldElement<T>>
TdistanceInf
(FieldVector3D<T> v1, FieldVector3D<T> v2) 根据L∞范数计算两个向量之间的距离。static <T extends CalculusFieldElement<T>>
TdistanceInf
(FieldVector3D<T> v1, Vector3D v2) 根据L∞范数计算两个向量之间的距离。根据L∞范数计算实例与另一个向量之间的距离。static <T extends CalculusFieldElement<T>>
TdistanceInf
(Vector3D v1, FieldVector3D<T> v2) 根据L∞范数计算两个向量之间的距离。distanceSq
(FieldVector3D<T> v) 计算实例与另一个向量之间的距离的平方。static <T extends CalculusFieldElement<T>>
TdistanceSq
(FieldVector3D<T> v1, FieldVector3D<T> v2) 计算两个向量之间的距离的平方。static <T extends CalculusFieldElement<T>>
TdistanceSq
(FieldVector3D<T> v1, Vector3D v2) 计算两个向量之间的距离的平方。计算实例与另一个向量之间的距离的平方。static <T extends CalculusFieldElement<T>>
TdistanceSq
(Vector3D v1, FieldVector3D<T> v2) 计算两个向量之间的距离的平方。dotProduct
(FieldVector3D<T> v) 计算实例和另一个向量的点积。static <T extends CalculusFieldElement<T>>
TdotProduct
(FieldVector3D<T> v1, FieldVector3D<T> v2) 计算两个向量的点积。static <T extends CalculusFieldElement<T>>
TdotProduct
(FieldVector3D<T> v1, Vector3D v2) 计算两个向量的点积。计算实例和另一个向量的点积。static <T extends CalculusFieldElement<T>>
TdotProduct
(Vector3D v1, FieldVector3D<T> v2) 计算两个向量的点积。boolean
检查两个3D向量是否相等。getAlpha()
获取向量的方位角。getDelta()
获取向量的仰角。static <T extends CalculusFieldElement<T>>
FieldVector3D<T> 获取第一个规范向量的相反向量(坐标:-1, 0, 0)。static <T extends CalculusFieldElement<T>>
FieldVector3D<T> 获取第二个规范向量的相反向量(坐标:0, -1, 0)。static <T extends CalculusFieldElement<T>>
FieldVector3D<T> 获取第三个规范向量的相反向量(坐标:0, 0, -1)。static <T extends CalculusFieldElement<T>>
FieldVector3D<T> 获取所有坐标均设置为NaN的向量。static <T extends CalculusFieldElement<T>>
FieldVector3D<T> getNegativeInfinity
(Field<T> field) 获取所有坐标均设置为负无穷大的向量。getNorm()
获取向量的L2范数。getNorm1()
获取向量的L1范数。获取向量的L∞范数。获取向量的范数的平方。static <T extends CalculusFieldElement<T>>
FieldVector3D<T> 获取第一个规范向量(坐标:1, 0, 0)。static <T extends CalculusFieldElement<T>>
FieldVector3D<T> 获取第二个规范向量(坐标:0, 1, 0)。static <T extends CalculusFieldElement<T>>
FieldVector3D<T> 获取第三个规范向量(坐标:0, 0, 1)。static <T extends CalculusFieldElement<T>>
FieldVector3D<T> getPositiveInfinity
(Field<T> field) 获取所有坐标均设置为正无穷大的向量。getX()
获取向量的横坐标。getY()
获取向量的纵坐标。getZ()
获取向量的高度。static <T extends CalculusFieldElement<T>>
FieldVector3D<T> 获取零向量(坐标:0, 0, 0)。int
hashCode()
获取3D向量的哈希码。boolean
如果此向量的任何坐标为无穷大且没有NaN,则返回true;否则返回false。boolean
isNaN()
如果此向量的任何坐标为NaN,则返回true;否则返回false。negate()
获取实例的相反向量。获取与实例对齐的归一化向量。获取与实例正交的向量。scalarMultiply
(double a) 将实例乘以标量。scalarMultiply
(T a) 将实例乘以标量。subtract
(double factor, FieldVector3D<T> v) 从实例中减去一个缩放向量。从实例中减去一个缩放向量。subtract
(FieldVector3D<T> v) 从实例中减去一个向量。从实例中减去一个向量。subtract
(T factor, FieldVector3D<T> v) 从实例中减去一个缩放向量。从实例中减去一个缩放向量。T[]
toArray()
将向量坐标作为三维数组返回。toString()
获取此向量的字符串表示。toString
(NumberFormat format) 获取此向量的字符串表示。转换为没有额外字段部分的常量向量。
-
构造器详细资料
-
FieldVector3D
简单构造器。根据坐标构建一个向量- 参数:
-
x
- 横坐标 -
y
- 纵坐标 -
z
- 高度 - 另请参阅:
-
FieldVector3D
简单构造器。根据坐标构建一个向量- 参数:
-
v
- coordinates array - 抛出:
-
MathIllegalArgumentException
- if array does not have 3 elements - 另请参阅:
-
FieldVector3D
Simple constructor. Build a vector from its azimuthal coordinates- 参数:
-
alpha
- azimuth (α) around Z (0 is +X, π/2 is +Y, π is -X and 3π/2 is -Y) -
delta
- elevation (δ) above (XY) plane, from -π/2 to +π/2 - 另请参阅:
-
FieldVector3D
Multiplicative constructor. Build a vector from another one and a scale factor. The vector built will be a * u- 参数:
-
a
- scale factor -
u
- base (unscaled) vector
-
FieldVector3D
Multiplicative constructor. Build a vector from another one and a scale factor. The vector built will be a * u- 参数:
-
a
- scale factor -
u
- base (unscaled) vector
-
FieldVector3D
Multiplicative constructor. Build a vector from another one and a scale factor. The vector built will be a * u- 参数:
-
a
- scale factor -
u
- base (unscaled) vector
-
FieldVector3D
Linear constructor. Build a vector from two other ones and corresponding scale factors. The vector built will be a1 * u1 + a2 * u2- 参数:
-
a1
- first scale factor -
u1
- first base (unscaled) vector -
a2
- second scale factor -
u2
- second base (unscaled) vector
-
FieldVector3D
Linear constructor. Build a vector from two other ones and corresponding scale factors. The vector built will be a1 * u1 + a2 * u2- 参数:
-
a1
- first scale factor -
u1
- first base (unscaled) vector -
a2
- second scale factor -
u2
- second base (unscaled) vector
-
FieldVector3D
Linear constructor. Build a vector from two other ones and corresponding scale factors. The vector built will be a1 * u1 + a2 * u2- 参数:
-
a1
- first scale factor -
u1
- first base (unscaled) vector -
a2
- second scale factor -
u2
- second base (unscaled) vector
-
FieldVector3D
public FieldVector3D(T a1, FieldVector3D<T> u1, T a2, FieldVector3D<T> u2, T a3, FieldVector3D<T> u3) Linear constructor. Build a vector from three other ones and corresponding scale factors. The vector built will be a1 * u1 + a2 * u2 + a3 * u3- 参数:
-
a1
- first scale factor -
u1
- first base (unscaled) vector -
a2
- second scale factor -
u2
- second base (unscaled) vector -
a3
- third scale factor -
u3
- third base (unscaled) vector
-
FieldVector3D
Linear constructor. Build a vector from three other ones and corresponding scale factors. The vector built will be a1 * u1 + a2 * u2 + a3 * u3- 参数:
-
a1
- first scale factor -
u1
- first base (unscaled) vector -
a2
- second scale factor -
u2
- second base (unscaled) vector -
a3
- third scale factor -
u3
- third base (unscaled) vector
-
FieldVector3D
public FieldVector3D(double a1, FieldVector3D<T> u1, double a2, FieldVector3D<T> u2, double a3, FieldVector3D<T> u3) Linear constructor. Build a vector from three other ones and corresponding scale factors. The vector built will be a1 * u1 + a2 * u2 + a3 * u3- 参数:
-
a1
- first scale factor -
u1
- first base (unscaled) vector -
a2
- second scale factor -
u2
- second base (unscaled) vector -
a3
- third scale factor -
u3
- third base (unscaled) vector
-
FieldVector3D
public FieldVector3D(T a1, FieldVector3D<T> u1, T a2, FieldVector3D<T> u2, T a3, FieldVector3D<T> u3, T a4, FieldVector3D<T> u4) Linear constructor. Build a vector from four other ones and corresponding scale factors. The vector built will be a1 * u1 + a2 * u2 + a3 * u3 + a4 * u4- 参数:
-
a1
- first scale factor -
u1
- first base (unscaled) vector -
a2
- second scale factor -
u2
- second base (unscaled) vector -
a3
- third scale factor -
u3
- third base (unscaled) vector -
a4
- fourth scale factor -
u4
- fourth base (unscaled) vector
-
FieldVector3D
Linear constructor. Build a vector from four other ones and corresponding scale factors. The vector built will be a1 * u1 + a2 * u2 + a3 * u3 + a4 * u4- 参数:
-
a1
- first scale factor -
u1
- first base (unscaled) vector -
a2
- second scale factor -
u2
- second base (unscaled) vector -
a3
- third scale factor -
u3
- third base (unscaled) vector -
a4
- fourth scale factor -
u4
- fourth base (unscaled) vector
-
FieldVector3D
public FieldVector3D(double a1, FieldVector3D<T> u1, double a2, FieldVector3D<T> u2, double a3, FieldVector3D<T> u3, double a4, FieldVector3D<T> u4) Linear constructor. Build a vector from four other ones and corresponding scale factors. The vector built will be a1 * u1 + a2 * u2 + a3 * u3 + a4 * u4- 参数:
-
a1
- first scale factor -
u1
- first base (unscaled) vector -
a2
- second scale factor -
u2
- second base (unscaled) vector -
a3
- third scale factor -
u3
- third base (unscaled) vector -
a4
- fourth scale factor -
u4
- fourth base (unscaled) vector
-
FieldVector3D
Build aFieldVector3D
from aVector3D
.- 参数:
-
field
- field for the components -
v
- vector to convert
-
-
方法详细资料
-
getZero
Get null vector (coordinates: 0, 0, 0).- 类型参数:
-
T
- the type of the field elements - 参数:
-
field
- field for the components - 返回:
- a new vector
-
getPlusI
Get first canonical vector (coordinates: 1, 0, 0).- 类型参数:
-
T
- the type of the field elements - 参数:
-
field
- field for the components - 返回:
- a new vector
-
getMinusI
Get opposite of the first canonical vector (coordinates: -1, 0, 0).- 类型参数:
-
T
- the type of the field elements - 参数:
-
field
- field for the components - 返回:
- a new vector
-
getPlusJ
Get second canonical vector (coordinates: 0, 1, 0).- 类型参数:
-
T
- the type of the field elements - 参数:
-
field
- field for the components - 返回:
- a new vector
-
getMinusJ
Get opposite of the second canonical vector (coordinates: 0, -1, 0).- 类型参数:
-
T
- the type of the field elements - 参数:
-
field
- field for the components - 返回:
- a new vector
-
getPlusK
Get third canonical vector (coordinates: 0, 0, 1).- 类型参数:
-
T
- the type of the field elements - 参数:
-
field
- field for the components - 返回:
- a new vector
-
getMinusK
Get opposite of the third canonical vector (coordinates: 0, 0, -1).- 类型参数:
-
T
- the type of the field elements - 参数:
-
field
- field for the components - 返回:
- a new vector
-
getNaN
Get a vector with all coordinates set to NaN.- 类型参数:
-
T
- the type of the field elements - 参数:
-
field
- field for the components - 返回:
- a new vector
-
getPositiveInfinity
public static <T extends CalculusFieldElement<T>> FieldVector3D<T> getPositiveInfinity(Field<T> field) Get a vector with all coordinates set to positive infinity.- 类型参数:
-
T
- the type of the field elements - 参数:
-
field
- field for the components - 返回:
- a new vector
-
getNegativeInfinity
public static <T extends CalculusFieldElement<T>> FieldVector3D<T> getNegativeInfinity(Field<T> field) Get a vector with all coordinates set to negative infinity.- 类型参数:
-
T
- the type of the field elements - 参数:
-
field
- field for the components - 返回:
- a new vector
-
getX
Get the abscissa of the vector.- 返回:
- abscissa of the vector
- 另请参阅:
-
getY
Get the ordinate of the vector.- 返回:
- ordinate of the vector
- 另请参阅:
-
getZ
Get the height of the vector.- 返回:
- height of the vector
- 另请参阅:
-
toArray
Get the vector coordinates as a dimension 3 array.- 返回:
- vector coordinates
- 另请参阅:
-
toVector3D
将向量转换为不带额外字段部分的常量向量。- 返回:
- 一个常量向量
-
getNorm1
获取向量的L1范数。- 返回:
- 向量的L1范数
-
getNorm
获取向量的L2范数。- 返回:
- 向量的欧几里德范数
-
getNormSq
获取向量的范数的平方。- 返回:
- 向量的欧几里德范数的平方
-
getNormInf
获取向量的L∞范数。- 返回:
- 向量的L∞范数
-
getAlpha
获取向量的方位角。- 返回:
- 向量的方位角(α),介于-π和+π之间
- 另请参阅:
-
getDelta
获取向量的仰角。- 返回:
- 向量的仰角(δ),介于-π/2和+π/2之间
- 另请参阅:
-
add
将一个向量添加到实例。- 参数:
-
v
- 要添加的向量 - 返回:
- 一个新向量
-
add
将一个向量添加到实例。- 参数:
-
v
- 要添加的向量 - 返回:
- 一个新向量
-
add
将一个缩放的向量添加到实例。- 参数:
-
factor
- 添加到v之前应用的比例因子 -
v
- 要添加的向量 - 返回:
- 一个新向量
-
add
将一个缩放的向量添加到实例。- 参数:
-
factor
- 添加到v之前应用的比例因子 -
v
- 要添加的向量 - 返回:
- 一个新向量
-
add
将一个缩放的向量添加到实例。- 参数:
-
factor
- 添加到v之前应用的比例因子 -
v
- 要添加的向量 - 返回:
- 一个新向量
-
add
将一个缩放的向量添加到实例。- 参数:
-
factor
- 添加到v之前应用的比例因子 -
v
- 要添加的向量 - 返回:
- 一个新向量
-
subtract
从实例中减去一个向量。- 参数:
-
v
- 要减去的向量 - 返回:
- 一个新向量
-
subtract
从实例中减去一个向量。- 参数:
-
v
- 要减去的向量 - 返回:
- 一个新向量
-
subtract
从实例中减去一个缩放的向量。- 参数:
-
factor
- 减去v之前应用的比例因子 -
v
- 要减去的向量 - 返回:
- 一个新向量
-
subtract
从实例中减去一个缩放的向量。- 参数:
-
factor
- 减去v之前应用的比例因子 -
v
- 要减去的向量 - 返回:
- 一个新向量
-
subtract
从实例中减去一个缩放的向量。- 参数:
-
factor
- 减去v之前应用的比例因子 -
v
- 要减去的向量 - 返回:
- 一个新向量
-
subtract
从实例中减去一个缩放的向量。- 参数:
-
factor
- 减去v之前应用的比例因子 -
v
- 要减去的向量 - 返回:
- 一个新向量
-
normalize
获取与实例对齐的归一化向量。- 返回:
- 一个新的归一化向量
- 抛出:
-
MathRuntimeException
- 如果范数为零
-
orthogonal
获取与实例正交的向量。有无限多个与实例正交的归一化向量。该方法几乎是任意选择的。当需要计算一个其中一个轴方向预定义的参考框架时,这是有用的。以下示例显示了如何构建一个具有k轴与已知向量u对齐的参考框架:
Vector3D k = u.normalize(); Vector3D i = k.orthogonal(); Vector3D j = Vector3D.crossProduct(k, i);
- 返回:
- 一个新的与实例正交的归一化向量
- 抛出:
-
MathRuntimeException
- 如果实例的范数为null
-
angle
public static <T extends CalculusFieldElement<T>> T angle(FieldVector3D<T> v1, FieldVector3D<T> v2) throws MathRuntimeException 计算两个向量之间的角分离。该方法使用点积计算两个向量之间的角分离,对于相距较远的向量使用叉积,对于几乎对齐的向量使用叉积。这样可以在所有情况下都获得很好的精度,即使对于非常接近的向量也是如此。
- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
v1
- 第一个向量 -
v2
- 第二个向量 - 返回:
- v1和v2之间的角分离
- 抛出:
-
MathRuntimeException
- 如果任一向量的范数为null
-
angle
public static <T extends CalculusFieldElement<T>> T angle(FieldVector3D<T> v1, Vector3D v2) throws MathRuntimeException 计算两个向量之间的角分离。该方法使用点积计算两个向量之间的角分离,对于相距较远的向量使用叉积,对于几乎对齐的向量使用叉积。这样可以在所有情况下都获得很好的精度,即使对于非常接近的向量也是如此。
- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
v1
- 第一个向量 -
v2
- 第二个向量 - 返回:
- v1和v2之间的角分离
- 抛出:
-
MathRuntimeException
- 如果任一向量的范数为null
-
angle
public static <T extends CalculusFieldElement<T>> T angle(Vector3D v1, FieldVector3D<T> v2) throws MathRuntimeException 计算两个向量之间的角分离。该方法使用点积计算两个向量之间的角分离,对于相距较远的向量使用叉积,对于几乎对齐的向量使用叉积。这样可以在所有情况下都获得很好的精度,即使对于非常接近的向量也是如此。
- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
v1
- 第一个向量 -
v2
- 第二个向量 - 返回:
- v1和v2之间的角分离
- 抛出:
-
MathRuntimeException
- 如果任一向量的范数为null
-
negate
获取实例的相反向量。- 返回:
- 一个与实例相反的新向量
-
scalarMultiply
将实例乘以一个标量。- 参数:
-
a
- 标量 - 返回:
- 一个新向量
-
scalarMultiply
将实例乘以一个标量。- 参数:
-
a
- 标量 - 返回:
- 一个新向量
-
isNaN
public boolean isNaN()如果这个向量的任何坐标是NaN,则返回true;否则返回false- 返回:
- 如果这个向量的任何坐标是NaN,则返回true;否则返回false
-
isInfinite
public boolean isInfinite()如果这个向量的任何坐标是无穷大且没有NaN,则返回true;否则返回false- 返回:
- 如果这个向量的任何坐标是无穷大且没有NaN,则返回true;否则返回false
-
equals
测试两个3D向量是否相等。如果两个3D向量的所有坐标完全相同,并且它们的任何一个
实部
都不是NaN
,则认为这两个3D向量是相等的。NaN
坐标被认为全局影响向量并彼此相等 - 即,如果3D向量的任一(或所有)坐标的实部是NaN
,则3D向量是NaN
。 -
hashCode
public int hashCode()获取3D向量的哈希码。所有NaN值具有相同的哈希码。
- 覆盖:
-
-
dotProduct
Compute the dot-product of the instance and another vector.The implementation uses specific multiplication and addition algorithms to preserve accuracy and reduce cancellation effects. It should be very accurate even for nearly orthogonal vectors.
- 参数:
-
v
- 第二个向量 - 返回:
- 点积 this.v
- 另请参阅:
-
dotProduct
计算该向量与另一个向量的点积。该实现使用特定的乘法和加法算法来保持精度并减少抵消效应。即使对于几乎正交的向量,它也应该非常精确。
- 参数:
-
v
- 第二个向量 - 返回:
- 点积 this.v
- 另请参阅:
-
crossProduct
计算该向量与另一个向量的叉积。- 参数:
-
v
- 另一个向量 - 返回:
- 叉积 this ^ v 作为新的Vector3D
-
crossProduct
计算该向量与另一个向量的叉积。- 参数:
-
v
- 另一个向量 - 返回:
- 叉积 this ^ v 作为新的Vector3D
-
distance1
计算根据L1范数计算的该向量与另一个向量之间的距离。调用此方法等效于调用:
q.subtract(p).getNorm1()
,只是不会构建中间向量- 参数:
-
v
- 第二个向量 - 返回:
- 根据L1范数计算的该向量与p之间的距离
-
distance1
计算根据L1范数计算的该向量与另一个向量之间的距离。调用此方法等效于调用:
q.subtract(p).getNorm1()
,只是不会构建中间向量- 参数:
-
v
- 第二个向量 - 返回:
- 根据L1范数计算的该向量与p之间的距离
-
distance
计算根据L2范数计算的该向量与另一个向量之间的距离。调用此方法等效于调用:
q.subtract(p).getNorm()
,只是不会构建中间向量- 参数:
-
v
- 第二个向量 - 返回:
- 根据L2范数计算的该向量与p之间的距离
-
distance
计算根据L2范数计算的该向量与另一个向量之间的距离。调用此方法等效于调用:
q.subtract(p).getNorm()
,只是不会构建中间向量- 参数:
-
v
- 第二个向量 - 返回:
- 根据L2范数计算的该向量与p之间的距离
-
distanceInf
计算根据L∞范数计算的该向量与另一个向量之间的距离。调用此方法等效于调用:
q.subtract(p).getNormInf()
,只是不会构建中间向量- 参数:
-
v
- 第二个向量 - 返回:
- 根据L∞范数计算的该向量与p之间的距离
-
distanceInf
计算根据L∞范数计算的该向量与另一个向量之间的距离。调用此方法等效于调用:
q.subtract(p).getNormInf()
,只是不会构建中间向量- 参数:
-
v
- 第二个向量 - 返回:
- 根据L∞范数计算的该向量与p之间的距离
-
distanceSq
计算该向量与另一个向量之间的距离的平方。调用此方法等效于调用:
q.subtract(p).getNormSq()
,只是不会构建中间向量- 参数:
-
v
- 第二个向量 - 返回:
- 该向量与p之间距离的平方
-
distanceSq
计算该向量与另一个向量之间的距离的平方。调用此方法等效于调用:
q.subtract(p).getNormSq()
,只是不会构建中间向量- 参数:
-
v
- 第二个向量 - 返回:
- 该向量与p之间距离的平方
-
dotProduct
public static <T extends CalculusFieldElement<T>> T dotProduct(FieldVector3D<T> v1, FieldVector3D<T> v2) 计算两个向量的点积。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
v1
- 第一个向量 -
v2
- 第二个向量 - 返回:
- 点积 v1.v2
-
dotProduct
计算两个向量的点积。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
v1
- 第一个向量 -
v2
- 第二个向量 - 返回:
- 点积 v1.v2
-
dotProduct
计算两个向量的点积。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
v1
- 第一个向量 -
v2
- 第二个向量 - 返回:
- 点积 v1.v2
-
crossProduct
public static <T extends CalculusFieldElement<T>> FieldVector3D<T> crossProduct(FieldVector3D<T> v1, FieldVector3D<T> v2) 计算两个向量的叉积。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
v1
- 第一个向量 -
v2
- 第二个向量 - 返回:
- 叉积 v1 ^ v2 作为新的Vector
-
crossProduct
public static <T extends CalculusFieldElement<T>> FieldVector3D<T> crossProduct(FieldVector3D<T> v1, Vector3D v2) 计算两个向量的叉积。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
v1
- 第一个向量 -
v2
- 第二个向量 - 返回:
- 叉积 v1 ^ v2 作为新的Vector
-
crossProduct
public static <T extends CalculusFieldElement<T>> FieldVector3D<T> crossProduct(Vector3D v1, FieldVector3D<T> v2) 计算两个向量的叉积。- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
v1
- 第一个向量 -
v2
- 第二个向量 - 返回:
- 叉积 v1 ^ v2 作为新的Vector
-
distance1
public static <T extends CalculusFieldElement<T>> T distance1(FieldVector3D<T> v1, FieldVector3D<T> v2) 计算根据L1范数计算的两个向量之间的距离。调用此方法等效于调用:
v1.subtract(v2).getNorm1()
,只是不会构建中间向量- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
v1
- 第一个向量 -
v2
- 第二个向量 - 返回:
- 根据L1范数计算的v1和v2之间的距离
-
distance1
计算根据L1范数计算的两个向量之间的距离。调用此方法等效于调用:
v1.subtract(v2).getNorm1()
,只是不会构建中间向量- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
v1
- 第一个向量 -
v2
- 第二个向量 - 返回:
- 根据L1范数计算的v1和v2之间的距离
-
distance1
计算根据L1范数计算的两个向量之间的距离。调用此方法等效于调用:
v1.subtract(v2).getNorm1()
,只是不会构建中间向量- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
v1
- 第一个向量 -
v2
- 第二个向量 - 返回:
- 根据L1范数计算的v1和v2之间的距离
-
distance
public static <T extends CalculusFieldElement<T>> T distance(FieldVector3D<T> v1, FieldVector3D<T> v2) 计算根据L2范数计算的两个向量之间的距离。调用此方法等效于调用:
v1.subtract(v2).getNorm()
,只是不会构建中间向量- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
v1
- 第一个向量 -
v2
- 第二个向量 - 返回:
- 根据L2范数计算的v1和v2之间的距离
-
distance
计算根据L2范数计算的两个向量之间的距离。调用此方法等效于调用:
v1.subtract(v2).getNorm()
,只是不会构建中间向量- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
v1
- 第一个向量 -
v2
- 第二个向量 - 返回:
- 根据L2范数计算的v1和v2之间的距离
-
distance
计算根据L2范数计算的两个向量之间的距离。调用此方法等效于调用:
v1.subtract(v2).getNorm()
,只是不会构建中间向量- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
v1
- 第一个向量 -
v2
- 第二个向量 - 返回:
- 根据L2范数计算的v1和v2之间的距离
-
distanceInf
public static <T extends CalculusFieldElement<T>> T distanceInf(FieldVector3D<T> v1, FieldVector3D<T> v2) 计算根据L∞范数计算的两个- 类型参数:
-
T
- the type of the field elements - 参数:
-
v1
- first vector -
v2
- second vector - 返回:
- the distance between v1 and v2 according to the L∞ norm
-
distanceInf
Compute the distance between two vectors according to the L∞ norm.Calling this method is equivalent to calling:
v1.subtract(v2).getNormInf()
except that no intermediate vector is built- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
v1
- 第一个向量 -
v2
- 第二个向量 - 返回:
- 根据L∞范数计算v1和v2之间的距离
-
distanceInf
计算两个向量根据L∞范数的距离。调用此方法等同于调用:
v1.subtract(v2).getNormInf()
,只是不会构建中间向量- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
v1
- 第一个向量 -
v2
- 第二个向量 - 返回:
- 根据L∞范数计算v1和v2之间的距离
-
distanceSq
public static <T extends CalculusFieldElement<T>> T distanceSq(FieldVector3D<T> v1, FieldVector3D<T> v2) 计算两个向量之间的距离的平方。调用此方法等同于调用:
v1.subtract(v2).getNormSq()
,只是不会构建中间向量- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
v1
- 第一个向量 -
v2
- 第二个向量 - 返回:
- v1和v2之间距离的平方
-
distanceSq
计算两个向量之间的距离的平方。调用此方法等同于调用:
v1.subtract(v2).getNormSq()
,只是不会构建中间向量- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
v1
- 第一个向量 -
v2
- 第二个向量 - 返回:
- v1和v2之间距离的平方
-
distanceSq
计算两个向量之间的距离的平方。调用此方法等同于调用:
v1.subtract(v2).getNormSq()
,只是不会构建中间向量- 类型参数:
-
T
- 字段元素的类型 - 参数:
-
v1
- 第一个向量 -
v2
- 第二个向量 - 返回:
- v1和v2之间距离的平方
-
toString
获取此向量的字符串表示形式。 -
toString
获取此向量的字符串表示形式。- 参数:
-
format
- 组件的自定义格式 - 返回:
- 此向量的字符串表示形式
-
blendArithmeticallyWith
public FieldVector3D<T> blendArithmeticallyWith(FieldVector3D<T> other, T blendingValue) throws MathIllegalArgumentException 与另一个实例进行算术混合。- 指定者:
-
blendArithmeticallyWith
在接口中FieldBlendable<FieldVector3D<T extends CalculusFieldElement<T>>,
T extends CalculusFieldElement<T>> - 参数:
-
other
- 与之进行算术混合的另一个实例 -
blendingValue
- 来自smoothstep函数B(x)的值。预期在[0:1]之间,否则将抛出异常。 - 返回:
- this * (1 - B(x)) + other * B(x)
- 抛出:
-
MathIllegalArgumentException
- 如果混合值不在[0:1]之间
-