接口 Vector<S extends Space,V extends Vector<S,V>>
- 类型参数:
-
S
- 空间的类型。 -
V
- 实现此接口的向量的类型。
- 所有超级接口:
-
Blendable<Vector<S,
,V>> Point<S>
,Serializable
public interface Vector<S extends Space,V extends Vector<S,V>> extends Point<S>, Blendable<Vector<S,V>>
此接口表示向量空间中的通用向量或仿射空间中的点。
- 另请参阅:
-
方法概要
修饰符和类型方法说明将缩放向量添加到实例。将向量添加到实例。default V
blendArithmeticallyWith
(Vector<S, V> other, double blendingValue) 算术地混合此实例与另一个实例。double
根据L1范数计算实例与另一个向量之间的距离。double
distanceInf
(Vector<S, V> v) 根据L∞范数计算实例与另一个向量之间的距离。double
distanceSq
(Vector<S, V> v) 计算实例与另一个向量之间的距离的平方。double
dotProduct
(Vector<S, V> v) 计算实例和另一个向量的点积。double
getNorm()
获取向量的L2范数。double
getNorm1()
获取向量的L1范数。double
获取向量的L∞范数。double
获取向量的范数的平方。getZero()
获取向量空间的零向量或仿射空间的原点。boolean
如果此向量的任何坐标为无穷大且没有NaN,则返回true;否则返回false。negate()
获取实例的相反向量。default V
获取与实例对齐的归一化向量。scalarMultiply
(double a) 将实例乘以标量。从实例中减去缩放的向量。从实例中减去向量。toString
(NumberFormat format) 获取此向量的字符串表示。
-
方法详细资料
-
getZero
V getZero()获取向量空间的零向量或仿射空间的原点。- 返回:
- 向量空间的零向量或仿射空间的原点
-
getNorm1
double getNorm1()获取向量的L1范数。- 返回:
- 向量的L1范数
-
getNorm
double getNorm()获取向量的L2范数。- 返回:
- 向量的欧几里德范数
-
getNormSq
double getNormSq()获取向量的范数的平方。- 返回:
- 向量的欧几里德范数的平方
-
getNormInf
double getNormInf()获取向量的L∞范数。- 返回:
- 向量的L∞范数
-
add
将向量添加到实例。- 参数:
-
v
- 要添加的向量 - 返回:
- 一个新向量
-
add
将缩放的向量添加到实例。- 参数:
-
factor
- 添加之前应用于v的比例因子 -
v
- 要添加的向量 - 返回:
- 一个新向量
-
subtract
从实例中减去向量。- 参数:
-
v
- 要减去的向量 - 返回:
- 一个新向量
-
subtract
从实例中减去缩放的向量。- 参数:
-
factor
- 减去之前应用于v的比例因子 -
v
- 要减去的向量 - 返回:
- 一个新向量
-
negate
V negate()获取实例的相反向量。- 返回:
- 一个与实例相反的新向量
-
normalize
获取与实例对齐的归一化向量。- 返回:
- 一个新的归一化向量
- 抛出:
-
MathRuntimeException
- 如果范数为零
-
scalarMultiply
将实例乘以标量。- 参数:
-
a
- 标量 - 返回:
- 一个新向量
-
isInfinite
boolean isInfinite()如果此向量的任何坐标为无穷大且没有NaN,则返回true;否则返回false。- 返回:
- 如果此向量的任何坐标为无穷大且没有NaN,则返回true;否则返回false
-
distance1
根据L1范数计算实例与另一个向量之间的距离。调用此方法等效于调用:
q.subtract(p).getNorm1()
,只是不会构建中间向量- 参数:
-
v
- 第二个向量 - 返回:
- 根据L1范数,实例与p之间的距离
-
distanceInf
根据L∞范数计算实例与另一个向量之间的距离。调用此方法等效于调用:
q.subtract(p).getNormInf()
,只是不会构建中间向量- 参数:
-
v
- 第二个向量 - 返回:
- 根据L∞范数,实例与p之间的距离
-
distanceSq
计算实例与另一个向量之间的距离的平方。调用此方法等效于调用:
q.subtract(p).getNormSq()
,只是不会构建中间向量- 参数:
-
v
- 第二个向量 - 返回:
- 实例与p之间的距离的平方
-
dotProduct
计算实例和另一个向量的点积。- 参数:
-
v
- 第二个向量 - 返回:
- 点积 this.v
-
toString
获取此向量的字符串表示。- 参数:
-
format
- 组件的自定义格式 - 返回:
- 此向量的字符串表示
-
blendArithmeticallyWith
default V blendArithmeticallyWith(Vector<S, V> other, double blendingValue) throws MathIllegalArgumentException算术地混合此实例与另一个实例。- 指定者:
-
blendArithmeticallyWith
在接口中Blendable<S extends Space>
- 参数:
-
other
- 要算术混合的另一个实例 -
blendingValue
- 来自smoothstep函数B(x)的值。预期在[0:1]之间,否则将抛出异常。 - 返回:
- this * (1 - B(x)) + other * B(x)
- 抛出:
-
MathIllegalArgumentException
- 如果混合值不在[0:1]之间
-