接口 Vector<S extends Space,V extends Vector<S,V>>

类型参数:
S - 空间的类型。
V - 实现此接口的向量的类型。
所有超级接口:
Blendable<Vector<S,V>>, Point<S>, Serializable
所有已知实现类:
Vector1D, Vector2D, Vector3D

public interface Vector<S extends Space,V extends Vector<S,V>> extends Point<S>, Blendable<Vector<S,V>>
此接口表示向量空间中的通用向量或仿射空间中的点。
另请参阅:
  • 方法概要

    修饰符和类型
    方法
    说明
    V
    add(double factor, Vector<S,V> v)
    将缩放向量添加到实例。
    V
    add(Vector<S,V> v)
    将向量添加到实例。
    default V
    blendArithmeticallyWith(Vector<S,V> other, double blendingValue)
    算术地混合此实例与另一个实例。
    double
    根据L1范数计算实例与另一个向量之间的距离。
    double
    根据L范数计算实例与另一个向量之间的距离。
    double
    计算实例与另一个向量之间的距离的平方。
    double
    计算实例和另一个向量的点积。
    double
    获取向量的L2范数。
    double
    获取向量的L1范数。
    double
    获取向量的L范数。
    double
    获取向量的范数的平方。
    V
    获取向量空间的零向量或仿射空间的原点。
    boolean
    如果此向量的任何坐标为无穷大且没有NaN,则返回true;否则返回false。
    V
    negate()
    获取实例的相反向量。
    default V
    获取与实例对齐的归一化向量。
    V
    scalarMultiply(double a)
    将实例乘以标量。
    V
    subtract(double factor, Vector<S,V> v)
    从实例中减去缩放的向量。
    V
    从实例中减去向量。
    获取此向量的字符串表示。

    从接口继承的方法 org.hipparchus.geometry.Point

    distance, getSpace, isNaN
  • 方法详细资料

    • getZero

      V getZero()
      获取向量空间的零向量或仿射空间的原点。
      返回:
      向量空间的零向量或仿射空间的原点
    • getNorm1

      double getNorm1()
      获取向量的L1范数。
      返回:
      向量的L1范数
    • getNorm

      double getNorm()
      获取向量的L2范数。
      返回:
      向量的欧几里德范数
    • getNormSq

      double getNormSq()
      获取向量的范数的平方。
      返回:
      向量的欧几里德范数的平方
    • getNormInf

      double getNormInf()
      获取向量的L范数。
      返回:
      向量的L范数
    • add

      V add(Vector<S,V> v)
      将向量添加到实例。
      参数:
      v - 要添加的向量
      返回:
      一个新向量
    • add

      V add(double factor, Vector<S,V> v)
      将缩放的向量添加到实例。
      参数:
      factor - 添加之前应用于v的比例因子
      v - 要添加的向量
      返回:
      一个新向量
    • subtract

      V subtract(Vector<S,V> v)
      从实例中减去向量。
      参数:
      v - 要减去的向量
      返回:
      一个新向量
    • subtract

      V subtract(double factor, Vector<S,V> v)
      从实例中减去缩放的向量。
      参数:
      factor - 减去之前应用于v的比例因子
      v - 要减去的向量
      返回:
      一个新向量
    • negate

      V negate()
      获取实例的相反向量。
      返回:
      一个与实例相反的新向量
    • normalize

      default V normalize() throws MathRuntimeException
      获取与实例对齐的归一化向量。
      返回:
      一个新的归一化向量
      抛出:
      MathRuntimeException - 如果范数为零
    • scalarMultiply

      V scalarMultiply(double a)
      将实例乘以标量。
      参数:
      a - 标量
      返回:
      一个新向量
    • isInfinite

      boolean isInfinite()
      如果此向量的任何坐标为无穷大且没有NaN,则返回true;否则返回false。
      返回:
      如果此向量的任何坐标为无穷大且没有NaN,则返回true;否则返回false
    • distance1

      double distance1(Vector<S,V> v)
      根据L1范数计算实例与另一个向量之间的距离。

      调用此方法等效于调用:q.subtract(p).getNorm1(),只是不会构建中间向量

      参数:
      v - 第二个向量
      返回:
      根据L1范数,实例与p之间的距离
    • distanceInf

      double distanceInf(Vector<S,V> v)
      根据L范数计算实例与另一个向量之间的距离。

      调用此方法等效于调用:q.subtract(p).getNormInf(),只是不会构建中间向量

      参数:
      v - 第二个向量
      返回:
      根据L范数,实例与p之间的距离
    • distanceSq

      double distanceSq(Vector<S,V> v)
      计算实例与另一个向量之间的距离的平方。

      调用此方法等效于调用:q.subtract(p).getNormSq(),只是不会构建中间向量

      参数:
      v - 第二个向量
      返回:
      实例与p之间的距离的平方
    • dotProduct

      double dotProduct(Vector<S,V> v)
      计算实例和另一个向量的点积。
      参数:
      v - 第二个向量
      返回:
      点积 this.v
    • toString

      String toString(NumberFormat format)
      获取此向量的字符串表示。
      参数:
      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]之间