java.lang.Object
org.hipparchus.geometry.euclidean.twod.Segment

public class Segment extends Object
Simple container for a two-points segment.
  • Constructor Details

    • Segment

      public Segment(Vector2D start, Vector2D end, double tolerance)
      Build a segment.
      Parameters:
      start - start point of the segment
      end - end point of the segment
      tolerance - of the line.
    • Segment

      public Segment(Vector2D start, Vector2D end, Line line)
      Build a segment.
      Parameters:
      start - start point of the segment
      end - end point of the segment
      line - line containing the segment
  • Method Details

    • getStart

      public Vector2D getStart()
      Get the start point of the segment.
      Returns:
      start point of the segment
    • getEnd

      public Vector2D getEnd()
      Get the end point of the segment.
      Returns:
      end point of the segment
    • getLine

      public Line getLine()
      Get the line containing the segment.
      Returns:
      line containing the segment
    • getLength

      public double getLength()
      Get the length of the line segment.
      Returns:
      line segment length.
    • distance

      public double distance(Vector2D p)
      Calculates the shortest distance from a point to this line segment.

      If the perpendicular extension from the point to the line does not cross in the bounds of the line segment, the shortest distance to the two end points will be returned.

      Algorithm adapted from: Thread @ Codeguru
      Parameters:
      p - to check
      Returns:
      distance between the instance and the point