类 FieldVector2D<T extends CalculusFieldElement<T>>

java.lang.Object
org.hipparchus.geometry.euclidean.twod.FieldVector2D<T>
类型参数:
T - 字段元素的类型

public class FieldVector2D<T extends CalculusFieldElement<T>> extends Object
这个类是使用CalculusFieldElement重新实现的Vector2D类。

此类的实例保证是不可变的。

从以下版本开始:
1.6
  • 构造器详细资料

    • FieldVector2D

      public FieldVector2D(T x, T y)
      简单构造函数。根据其坐标构建向量
      参数:
      x - 横坐标
      y - 纵坐标
      另请参阅:
    • FieldVector2D

      public FieldVector2D(T[] v) throws MathIllegalArgumentException
      简单构造函数。根据其坐标构建向量
      参数:
      v - 坐标数组
      抛出:
      MathIllegalArgumentException - 如果数组不具有2个元素
      另请参阅:
    • FieldVector2D

      public FieldVector2D(T a, FieldVector2D<T> u)
      乘法构造函数:从另一个向量和一个比例因子构建向量。构建的向量将为a * u
      参数:
      a - 比例因子
      u - 基础(未缩放)向量
    • FieldVector2D

      public FieldVector2D(T a, Vector2D u)
      乘法构造函数:从另一个向量和一个比例因子构建向量。构建的向量将为a * u
      参数:
      a - 比例因子
      u - 基础(未缩放)向量
    • FieldVector2D

      public FieldVector2D(double a, FieldVector2D<T> u)
      乘法构造函数:从另一个向量和一个比例因子构建向量。构建的向量将为a * u
      参数:
      a - 比例因子
      u - 基础(未缩放)向量
    • FieldVector2D

      public FieldVector2D(T a1, FieldVector2D<T> u1, T a2, FieldVector2D<T> u2)
      线性构造函数:从另外两个向量和相应的比例因子构建向量。构建的向量将为a1 * u1 + a2 * u2
      参数:
      a1 - 第一个比例因子
      u1 - 第一个基础(未缩放)向量
      a2 - 第二个比例因子
      u2 - 第二个基础(未缩放)向量
    • FieldVector2D

      public FieldVector2D(T a1, Vector2D u1, T a2, Vector2D u2)
      线性构造函数。从另外两个向量和对应的比例因子构建一个向量。构建的向量将为 a1 * u1 + a2 * u2
      参数:
      a1 - 第一个比例因子
      u1 - 第一个基础(未缩放)向量
      a2 - 第二个比例因子
      u2 - 第二个基础(未缩放)向量
    • FieldVector2D

      public FieldVector2D(double a1, FieldVector2D<T> u1, double a2, FieldVector2D<T> u2)
      线性构造函数。从另外两个向量和对应的比例因子构建一个向量。构建的向量将为 a1 * u1 + a2 * u2
      参数:
      a1 - 第一个比例因子
      u1 - 第一个基础(未缩放)向量
      a2 - 第二个比例因子
      u2 - 第二个基础(未缩放)向量
    • FieldVector2D

      public FieldVector2D(T a1, FieldVector2D<T> u1, T a2, FieldVector2D<T> u2, T a3, FieldVector2D<T> u3)
      线性构造函数。从另外三个向量和对应的比例因子构建一个向量。构建的向量将为 a1 * u1 + a2 * u2 + a3 * u3
      参数:
      a1 - 第一个比例因子
      u1 - 第一个基础(未缩放)向量
      a2 - 第二个比例因子
      u2 - 第二个基础(未缩放)向量
      a3 - 第三个比例因子
      u3 - 第三个基础(未缩放)向量
    • FieldVector2D

      public FieldVector2D(T a1, Vector2D u1, T a2, Vector2D u2, T a3, Vector2D u3)
      线性构造函数。从另外三个向量和对应的比例因子构建一个向量。构建的向量将为 a1 * u1 + a2 * u2 + a3 * u3
      参数:
      a1 - 第一个比例因子
      u1 - 第一个基础(未缩放)向量
      a2 - 第二个比例因子
      u2 - 第二个基础(未缩放)向量
      a3 - 第三个比例因子
      u3 - 第三个基础(未缩放)向量
    • FieldVector2D

      public FieldVector2D(double a1, FieldVector2D<T> u1, double a2, FieldVector2D<T> u2, double a3, FieldVector2D<T> u3)
      线性构造函数。从另外三个向量和对应的比例因子构建一个向量。构建的向量将为 a1 * u1 + a2 * u2 + a3 * u3
      参数:
      a1 - 第一个比例因子
      u1 - 第一个基础(未缩放)向量
      a2 - 第二个比例因子
      u2 - 第二个基础(未缩放)向量
      a3 - 第三个比例因子
      u3 - 第三个基础(未缩放)向量
    • FieldVector2D

      public FieldVector2D(T a1, FieldVector2D<T> u1, T a2, FieldVector2D<T> u2, T a3, FieldVector2D<T> u3, T a4, FieldVector2D<T> u4)
      线性构造函数。从另外四个向量和对应的比例因子构建一个向量。构建的向量将为 a1 * u1 + a2 * u2 + a3 * u3 + a4 * u4
      参数:
      a1 - 第一个比例因子
      u1 - 第一个基础(未缩放)向量
      a2 - 第二个比例因子
      u2 - 第二个基础(未缩放)向量
      a3 - 第三个比例因子
      u3 - 第三个基础(未缩放)向量
      a4 - 第四个比例因子
      u4 - 第四个基础(未缩放)向量
    • FieldVector2D

      public FieldVector2D(T a1, Vector2D u1, T a2, Vector2D u2, T a3, Vector2D u3, T a4, Vector2D u4)
      线性构造函数。从另外四个向量和对应的比例因子构建一个向量。构建的向量将为 a1 * u1 + a2 * u2 + a3 * u3 + a4 * u4
      参数:
      a1 - 第一个比例因子
      u1 - 第一个基础(未缩放)向量
      a2 - 第二个比例因子
      u2 - 第二个基础(未缩放)向量
      a3 - 第三个比例因子
      u3 - 第三个基础(未缩放)向量
      a4 - 第四个比例因子
      u4 - 第四个基础(未缩放)向量
    • FieldVector2D

      public FieldVector2D(double a1, FieldVector2D<T> u1, double a2, FieldVector2D<T> u2, double a3, FieldVector2D<T> u3, double a4, FieldVector2D<T> u4)
      线性构造函数。从另外四个向量和对应的比例因子构建一个向量。构建的向量将为 a1 * u1 + a2 * u2 + a3 * u3 + a4 * u4
      参数:
      a1 - 第一个比例因子
      u1 - 第一个基础(未缩放)向量
      a2 - 第二个比例因子
      u2 - 第二个基础(未缩放)向量
      a3 - 第三个比例因子
      u3 - 第三个基础(未缩放)向量
      a4 - 第四个比例因子
      u4 - 第四个基础(未缩放)向量
    • FieldVector2D

      public FieldVector2D(Field<T> field, Vector2D v)
      FieldVector2D构建一个Vector2D
      参数:
      field - 组件的字段
      v - 要转换的向量
  • 方法详细资料

    • getZero

      public static <T extends CalculusFieldElement<T>> FieldVector2D<T> getZero(Field<T> field)
      获取空向量(坐标:0, 0)。
      类型参数:
      T - 字段元素的类型
      参数:
      field - 组件的字段
      返回:
      一个新的向量
    • getPlusI

      public static <T extends CalculusFieldElement<T>> FieldVector2D<T> getPlusI(Field<T> field)
      获取第一个规范向量(坐标:1, 0)。
      类型参数:
      T - 字段元素的类型
      参数:
      field - 组件的字段
      返回:
      一个新的向量
    • getMinusI

      public static <T extends CalculusFieldElement<T>> FieldVector2D<T> getMinusI(Field<T> field)
      获取第一个规范向量的相反向量(坐标:-1)。
      类型参数:
      T - 字段元素的类型
      参数:
      field - 组件的字段
      返回:
      一个新的向量
    • getPlusJ

      public static <T extends CalculusFieldElement<T>> FieldVector2D<T> getPlusJ(Field<T> field)
      获取第二个规范向量(坐标:0, 1)。
      类型参数:
      T - 字段元素的类型
      参数:
      field - 组件的字段
      返回:
      一个新的向量
    • getMinusJ

      public static <T extends CalculusFieldElement<T>> FieldVector2D<T> getMinusJ(Field<T> field)
      获取第二个规范向量的相反向量(坐标:0, -1)。
      类型参数:
      T - 字段元素的类型
      参数:
      field - 组件的字段
      返回:
      一个新的向量
    • getNaN

      public static <T extends CalculusFieldElement<T>> FieldVector2D<T> getNaN(Field<T> field)
      获取所有坐标都设置为NaN的向量。
      类型参数:
      T - 字段元素的类型
      参数:
      field - 组件的字段
      返回:
      一个新的向量
    • getPositiveInfinity

      public static <T extends CalculusFieldElement<T>> FieldVector2D<T> getPositiveInfinity(Field<T> field)
      获取所有坐标都设置为正无穷大的向量。
      类型参数:
      T - 字段元素的类型
      参数:
      field - 组件的字段
      返回:
      一个新的向量
    • getNegativeInfinity

      public static <T extends CalculusFieldElement<T>> FieldVector2D<T> getNegativeInfinity(Field<T> field)
      获取所有坐标都设置为负无穷大的向量。
      类型参数:
      T - 字段元素的类型
      参数:
      field - 组件的字段
      返回:
      一个新的向量
    • getX

      public T getX()
      获取向量的横坐标。
      返回:
      向量的横坐标
      另请参阅:
    • getY

      public T getY()
      获取向量的纵坐标。
      返回:
      向量的纵坐标
      另请参阅:
    • toArray

      public T[] toArray()
      将向量坐标作为二维数组返回。
      返回:
      向量坐标
      另请参阅:
    • toVector2D

      public Vector2D toVector2D()
      转换为没有额外字段部分的常量向量。
      返回:
      一个常量向量
    • getNorm1

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

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

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

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

      public FieldVector2D<T> add(FieldVector2D<T> v)
      将一个向量添加到实例中。
      参数:
      v - 要添加的向量
      返回:
      一个新的向量
    • add

      public FieldVector2D<T> add(Vector2D v)
      将一个向量添加到实例中。 </
      参数:
      v - vector to add
      返回:
      a new vector
    • add

      public FieldVector2D<T> add(T factor, FieldVector2D<T> v)
      Add a scaled vector to the instance.
      参数:
      factor - scale factor to apply to v before adding it
      v - vector to add
      返回:
      a new vector
    • add

      public FieldVector2D<T> add(T factor, Vector2D v)
      Add a scaled vector to the instance.
      参数:
      factor - scale factor to apply to v before adding it
      v - vector to add
      返回:
      a new vector
    • add

      public FieldVector2D<T> add(double factor, FieldVector2D<T> v)
      Add a scaled vector to the instance.
      参数:
      factor - scale factor to apply to v before adding it
      v - vector to add
      返回:
      a new vector
    • add

      public FieldVector2D<T> add(double factor, Vector2D v)
      Add a scaled vector to the instance.
      参数:
      factor - scale factor to apply to v before adding it
      v - vector to add
      返回:
      a new vector
    • subtract

      public FieldVector2D<T> subtract(FieldVector2D<T> v)
      Subtract a vector from the instance.
      参数:
      v - vector to subtract
      返回:
      a new vector
    • subtract

      public FieldVector2D<T> subtract(Vector2D v)
      Subtract a vector from the instance.
      参数:
      v - vector to subtract
      返回:
      a new vector
    • subtract

      public FieldVector2D<T> subtract(T factor, FieldVector2D<T> v)
      Subtract a scaled vector from the instance.
      参数:
      factor - 在减去之前应用于v的比例因子
      v - 要减去的向量
      返回:
      一个新的向量
    • subtract

      public FieldVector2D<T> subtract(T factor, Vector2D v)
      从实例中减去一个经过缩放的向量。
      参数:
      factor - 在减去之前应用于v的比例因子
      v - 要减去的向量
      返回:
      一个新的向量
    • subtract

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

      public FieldVector2D<T> subtract(double factor, Vector2D v)
      从实例中减去一个经过缩放的向量。
      参数:
      factor - 在减去之前应用于v的比例因子
      v - 要减去的向量
      返回:
      一个新的向量
    • normalize

      public FieldVector2D<T> normalize() throws MathRuntimeException
      获取与实例对齐的归一化向量。
      返回:
      一个新的归一化向量
      抛出:
      MathRuntimeException - 如果范数为零
    • angle

      public static <T extends CalculusFieldElement<T>> T angle(FieldVector2D<T> v1, FieldVector2D<T> v2) throws MathRuntimeException
      计算两个向量之间的角分离。

      此方法使用点积计算两个向量之间的角分离,对于相距很远的向量使用叉积,对于几乎对齐的向量使用叉积。这样可以在所有情况下获得很好的精度,即使对于非常接近的向量也是如此。

      类型参数:
      T - 字段元素的类型
      参数:
      v1 - 第一个向量
      v2 - 第二个向量
      返回:
      v1和v2之间的角分离
      抛出:
      MathRuntimeException - 如果任一向量的范数为零
    • angle

      public static <T extends CalculusFieldElement<T>> T angle(FieldVector2D<T> v1, Vector2D v2) throws MathRuntimeException
      计算两个向量之间的角分离。

      此方法使用点积计算两个向量之间的角分离,对于相距很远的向量使用叉积,对于几乎对齐的向量使用叉积。这样可以在所有情况下获得很好的精度,即使对于非常接近的向量也是如此。

      类型参数:
      T - 字段元素的类型
      参数:
      v1 - 第一个向量
      v2 - 第二个向量
      返回:
      v1和v2之间的角分离
      抛出:
      MathRuntimeException - 如果任一向量的范数为零
    • angle

      public static <T extends CalculusFieldElement<T>> T angle(Vector2D v1, FieldVector2D<T> v2) throws MathRuntimeException
      计算两个向量之间的角分离。

      此方法使用点积计算两个向量之间的角分离,对于相距很远的向量使用叉积,对于几乎对齐的向量使用叉积。这样可以在所有情况下获得很好的精度,即使对于非常接近的向量也是如此。

      类型参数:
      T - 字段元素的类型
      参数:
      v1 - 第一个向量
      v2 - 第二个向量
      返回:
      v1和v2之间的角分离
      抛出:
      MathRuntimeException - 如果任一向量的范数为零
    • negate

      public FieldVector2D<T> negate()
      获取实例的相反向量。
      返回:
      一个与实例相反的新向量
    • scalarMultiply

      public FieldVector2D<T> scalarMultiply(T a)
      将实例乘以一个标量。
      参数:
      a - 标量
      返回:
      一个新的向量
    • scalarMultiply

      public FieldVector2D<T> scalarMultiply(double a)
      将实例乘以一个标量。
      参数:
      a - 标量
      返回:
      一个新的向量
    • isNaN

      public boolean isNaN()
      如果此向量的任何坐标为NaN,则返回true;否则返回false
      返回:
      如果此向量的任何坐标为NaN,则返回true;否则返回false
    • isInfinite

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

      public boolean equals(Object other)
      测试两个2D向量是否相等。

      如果两个2D向量的所有坐标完全相同,并且它们的任何实部都不是NaN,则认为两个2D向量相等。

      NaN坐标被认为全局影响向量并彼此相等 - 即,如果3D向量的坐标的任一(或全部)实部为NaN,则2D向量为NaN

      覆盖:
      equals 在类中 Object
      参数:
      other - 要测试是否与此相等的对象
      返回:
      如果两个2D向量对象相等,则返回true;如果对象为null、不是FieldVector2D的实例或不等于此FieldVector2D实例,则返回false
    • hashCode

      public int hashCode()
      获取3D向量的哈希码。

      所有NaN值具有相同的哈希码。

      覆盖:
      hashCode 在类中 Object
      返回:
      此对象的哈希码值
    • distance1

      public T distance1(FieldVector2D<T> v)
      根据L1范数计算实例与另一个向量之间的距离。

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

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

      public T distance1(Vector2D v)
      根据L1范数计算实例与另一个向量之间的距离。

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

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

      public T distance(FieldVector2D<T> v)
      根据L2范数计算实例与另一个向量之间的距离。

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

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

      public T distance(Vector2D v)
      根据L2范数计算实例与另一个向量之间的距离。

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

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

      public T distanceInf(FieldVector2D<T> v)
      根据L范数计算实例与另一个向量之间的距离。

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

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

      public T distanceInf(Vector2D v)
      根据L范数计算实例与另一个向量之间的距离。

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

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

      public T distanceSq(FieldVector2D<T> v)
      计算实例与另一个向量之间的距离的平方。

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

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

      public T distanceSq(Vector2D v)
      计算实例与另一个向量之间的距离的平方。

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

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

      public T dotProduct(FieldVector2D<T> v)
      计算实例与另一个向量的点积。

      该实现使用特定的乘法和加法算法来保持精度并减少抵消效应。即使对于几乎正交的向量,它也应该非常准确。

      参数:
      v - 第二个向量
      返回:
      点积this.v
      另请参阅:
    • dotProduct

      public T dotProduct(Vector2D v)
      计算实例与另一个向量的点积。

      该实现使用特定的乘法和加法算法来保持精度并减少抵消效应。即使对于几乎正交的向量,它也应该非常准确。

      参数:
      v - 第二个向量
      返回:
      点积 this.v
      另请参阅:
    • crossProduct

      public T crossProduct(FieldVector2D<T> p1, FieldVector2D<T> p2)
      计算实例和给定点的叉积。

      叉积可用于确定点相对于由(p1, p2)形成的直线的位置,计算如下:\[ P = (x_2 - x_1)(y_3 - y_1) - (y_2 - y_1)(x_3 - x_1) \] 其中 \(p3 = (x_3, y_3)\) 是这个实例。

      如果结果为0,则点共线,即位于一条直线 L 上;如果为正,则该点位于(p1, p2)形成的直线的左侧,否则位于右侧。

      参数:
      p1 - 直线的第一个点
      p2 - 直线的第二个点
      返回:
      叉积
      另请参阅:
    • crossProduct

      public T crossProduct(Vector2D p1, Vector2D p2)
      计算实例和给定点的叉积。

      叉积可用于确定点相对于由(p1, p2)形成的直线的位置,计算如下:\[ P = (x_2 - x_1)(y_3 - y_1) - (y_2 - y_1)(x_3 - x_1) \] 其中 \(p3 = (x_3, y_3)\) 是这个实例。

      如果结果为0,则点共线,即位于一条直线 L 上;如果为正,则该点位于(p1, p2)形成的直线的左侧,否则位于右侧。

      参数:
      p1 - 直线的第一个点
      p2 - 直线的第二个点
      返回:
      叉积
      另请参阅:
    • distance1

      public static <T extends CalculusFieldElement<T>> T distance1(FieldVector2D<T> p1, FieldVector2D<T> p2)
      计算两个向量之间的距离,根据 L2 范数。

      调用此方法等同于调用:p1.subtract(p2).getNorm(),只是不会构建中间向量

      类型参数:
      T - 字段元素的类型
      参数:
      p1 - 第一个向量
      p2 - 第二个向量
      返回:
      根据 L2 范数的 p1 和 p2 之间的距离
    • distance1

      public static <T extends CalculusFieldElement<T>> T distance1(FieldVector2D<T> p1, Vector2D p2)
      计算两个向量之间的距离,根据 L2 范数。

      调用此方法等同于调用:p1.subtract(p2).getNorm(),只是不会构建中间向量

      类型参数:
      T - 字段元素的类型
      参数:
      p1 - 第一个向量
      p2 - 第二个向量
      返回:
      根据 L2 范数的 p1 和 p2 之间的距离
    • distance1

      public static <T extends CalculusFieldElement<T>> T distance1(Vector2D p1, FieldVector2D<T> p2)
      计算两个向量之间的距离,根据 L2 范数。

      调用此方法等同于调用:p1.subtract(p2).getNorm(),只是不会构建中间向量

      类型参数:
      T - 字段元素的类型
      参数:
      p1 - 第一个向量
      p2 - 第二个向量
      返回:
      根据 L2 范数的 p1 和 p2 之间的距离
    • distance

      public static <T extends CalculusFieldElement<T>> T distance(FieldVector2D<T> p1, FieldVector2D<T> p2)
      计算两个向量之间的距离,根据 L2 范数。

      调用此方法等同于调用:p1.subtract(p2).getNorm(),只是不会构建中间向量

      类型参数:
      T - 字段元素的类型
      参数:
      p1 - 第一个向量
      p2 - 第二个向量
      返回:
      根据 L2 范数的 p1 和 p2 之间的距离
    • distance

      public static <T extends CalculusFieldElement<T>> T distance(FieldVector2D<T> p1, Vector2D p2)
      计算两个向量之间的距离,根据 L2 范数。

      调用此方法等同于调用:p1.subtract(p2).getNorm(),只是不会构建中间向量

      类型参数:
      T - 字段元素的类型
      参数:
      p1 - 第一个向量
      p2 - 第二个向量
      返回:
      根据 L2 范数的 p1 和 p2 之间的距离
    • distance

      public static <T extends CalculusFieldElement<T>> T distance(Vector2D p1, FieldVector2D<T> p2)
      计算两个向量之间的距离,根据 L2 范数。

      调用此方法等同于调用:p1.subtract(p2).getNorm(),只是不会构建中间向量

      类型参数:
      T - 字段元素的类型
      参数:
      p1 - 第一个向量
      p2 - 第二个向量
      返回:
      根据 L2 范数的 p1 和 p2 之间的距离
    • distanceInf

      public static <T extends CalculusFieldElement<T>> T distanceInf(FieldVector2D<T> p1, FieldVector2D<T> p2)
      计算两个向量之间的距离,根据 L 范数。

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

      类型参数:
      T - 字段元素的类型
      参数:
      p1 - 第一个向量
      p2 - 第二个向量
      返回:
      根据 L 范数的 p1 和 p2 之间的距离
    • distanceInf

      public static <T extends CalculusFieldElement<T>> T distanceInf(FieldVector2D<T> p1, Vector2D p2)
      计算两个向量之间的距离,根据 L 范数。

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

      类型参数:
      T - 字段元素的类型
      参数:
      p1 - 第一个向量
      p2 - 第二个向量
      返回:
      根据 L 范数的 p1 和 p2 之间的距离
    • distanceInf

      public static <T extends CalculusFieldElement<T>> T distanceInf(Vector2D p1, FieldVector2D<T> p2)
      计算两个向量之间的距离,根据 L 范数。

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

      类型参数:
      T - 字段元素的类型
      参数:
      p1 - 第一个向量
      p2 - 第二个向量
      返回:
      根据 L 范数的 p1 和 p2 之间的距离
    • distanceSq

      public static <T extends CalculusFieldElement<T>> T distanceSq(FieldVector2D<T> p1, FieldVector2D<T> p2)
      计算两个向量之间的距离的平方。

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

      类型参数:
      T - 字段元素的类型
      参数:
      p1 - 第一个向量
      p2 - 第二个向量
      返回:
      p1 和 p2 之间距离的平方
    • distanceSq

      public static <T extends CalculusFieldElement<T>> T distanceSq(FieldVector2D<T> p1, Vector2D p2)
      计算两个向量之间的距离的平方。

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

      类型参数:
      T - 字段元素的类型
      参数:
      p1 - 第一个向量
      p2 - 第二个向量
      返回:
      p1 和 p2 之间距离的平方
    • distanceSq

      public static <T extends CalculusFieldElement<T>> T distanceSq(Vector2D p1, FieldVector2D<T> p2)
      计算两个向量之间的距离的平方。

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

      类型参数:
      T - 字段元素的类型
      参数:
      p1 - 第一个向量
      p2 - 第二个向量
      返回:
      p1 和 p2 之间距离的平方
    • orientation

      public static <T extends CalculusFieldElement<T>> T orientation(FieldVector2D<T> p, FieldVector2D<T> q, FieldVector2D<T> r)
      计算三个点的方向。
      类型参数:
      T - 字段元素的类型
      参数:
      p - 三元组的第一个向量
      q - 三元组的第二个向量
      r - 三元组的第三个向量
      返回:
      如果 (p, q, r) 定义为逆时针定向三角形,则为正值,如果 (p, q, r) 定义为顺时针定向三角形,则为负值,如果 (p, q, r) 共线或某些点相等,则为0
      从以下版本开始:
      1.2
    • toString

      public String toString()
      获取此向量的字符串表示形式。
      覆盖:
      toString 在类中 Object
      返回:
      此向量的字符串表示形式
    • toString

      public String toString(NumberFormat format)
      获取此向量的字符串表示形式。
      参数:
      format - 组件的自定义格式
      返回:
      此向量的字符串表示形式