接口 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 VblendArithmeticallyWith(Vector<S, V> other, double blendingValue) 算术地混合此实例与另一个实例。double根据L1范数计算实例与另一个向量之间的距离。doubledistanceInf(Vector<S, V> v) 根据L∞范数计算实例与另一个向量之间的距离。doubledistanceSq(Vector<S, V> v) 计算实例与另一个向量之间的距离的平方。doubledotProduct(Vector<S, V> v) 计算实例和另一个向量的点积。doublegetNorm()获取向量的L2范数。doublegetNorm1()获取向量的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]之间
-