类 FieldLine<T extends CalculusFieldElement<T>>

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

public class FieldLine<T extends CalculusFieldElement<T>> extends Object
该类表示三维空间中的直线。

每条定向直线与一个坐标(abscissa)相关联,该坐标是直线上的一个坐标。坐标为0的点是原点在直线上的正交投影,另一种等效的表达方式是说它是距离原点最近的直线上的点。坐标随着直线方向增加。

  • 构造器详细资料

    • FieldLine

      public FieldLine(FieldVector3D<T> p1, FieldVector3D<T> p2, double tolerance) throws MathIllegalArgumentException
      从两个点构建一条直线。
      参数:
      p1 - 属于直线的第一个点(可以是任意点)
      p2 - 属于直线的第二个点(可以是任意点,与p1不同)
      tolerance - 被视为相同点的容差
      抛出:
      MathIllegalArgumentException - 如果点相等
    • FieldLine

      public FieldLine(FieldLine<T> line)
      复制构造函数。

      创建的实例与原始实例完全独立,是深拷贝。

      参数:
      line - 要复制的直线
  • 方法详细资料

    • reset

      public void reset(FieldVector3D<T> p1, FieldVector3D<T> p2) throws MathIllegalArgumentException
      将实例重置为从两个点构建的状态。
      参数:
      p1 - 属于直线的第一个点(可以是任意点)
      p2 - 属于直线的第二个点(可以是任意点,与p1不同)
      抛出:
      MathIllegalArgumentException - 如果点相等
    • getTolerance

      public double getTolerance()
      获取被视为相同点的容差。
      返回:
      被视为相同点的容差
    • revert

      public FieldLine<T> revert()
      获取方向相反的直线。
      返回:
      一个新实例,方向相反
    • getDirection

      public FieldVector3D<T> getDirection()
      获取归一化的方向向量。
      返回:
      归一化的方向向量
    • getOrigin

      public FieldVector3D<T> getOrigin()
      获取距离原点最近的直线点。
      返回:
      距离原点最近的直线点
    • getAbscissa

      public T getAbscissa(FieldVector3D<T> point)
      获取点相对于直线的坐标。

      如果点的投影和框架原点的投影是同一点,则坐标为0。

      参数:
      point - 要检查的点
      返回:
      点的坐标
    • getAbscissa

      public T getAbscissa(Vector3D point)
      获取点相对于直线的坐标。

      如果点的投影和框架原点的投影是同一点,则坐标为0。

      参数:
      point - 要检查的点
      返回:
      点的坐标
    • pointAt

      public FieldVector3D<T> pointAt(T abscissa)
      从直线获取一个点。
      参数:
      abscissa - 点的期望坐标
      返回:
      属于直线的一个点,在指定的坐标处
    • pointAt

      public FieldVector3D<T> pointAt(double abscissa)
      从直线获取一个点。
      参数:
      abscissa - 点的期望坐标
      返回:
      属于直线的一个点,在指定的坐标处
    • isSimilarTo

      public boolean isSimilarTo(FieldLine<T> line)
      检查实例是否与另一条直线相似。

      如果它们包含相同的点,则认为直线相似。这并不意味着它们相等,因为它们可能具有相反的方向。

      参数:
      line - 用于比较实例的直线
      返回:
      如果直线相似则为true
    • contains

      public boolean contains(FieldVector3D<T> p)
      检查实例是否包含一个点。
      参数:
      p - 要检查的点
      返回:
      如果p属于直线则为true
    • contains

      public boolean contains(Vector3D p)
      检查实例是否包含一个点。
      参数:
      p - 要检查的点
      返回:
      如果p属于直线则为true
    • distance

      public T distance(FieldVector3D<T> p)
      计算实例与一个点之间的距离。
      参数:
      p - 要检查的点
      返回:
      实例与点之间的距离
    • distance

      public T distance(Vector3D p)
      计算实例与一个点之间的距离。
      参数:
      p - 要检查的点
      返回:
      实例与点之间的距离
    • distance

      public T distance(FieldLine<T> line)
      计算实例与另一条直线之间的最短距离。
      参数:
      line - 用于比较实例的直线
      返回:
      实例与直线之间的最短距离
    • closestPoint

      public FieldVector3D<T> closestPoint(FieldLine<T> line)
      计算实例到另一条直线最近的点。
      参数:
      line - 用于比较实例的直线
      返回:
      实例到另一条直线最近的点
    • intersection

      public FieldVector3D<T> intersection(FieldLine<T> line)
      获取实例与另一条直线的交点。
      参数:
      line - 另一条直线
      返回:
      实例与另一条直线的交点,如果没有交点则返回null