Class DirectedLineSegment

java.lang.Object
pi.graphics.geom.DirectedLineSegment

public class DirectedLineSegment extends Object
Eine gerichtete Strecke, die durch zwei Punkte definiert ist: den Ursprung und das Ziel.

Die Strecke liegt auf einer Linie, die durch diese beiden Punkte festgelegt ist.

Since:
0.42.0
Author:
Josef Friedrich
  • Constructor Details

    • DirectedLineSegment

      public DirectedLineSegment(Vector from, Vector to)
      Erstellt ein neue gerichtete Strecke zwischen zwei Punkten.
      Parameters:
      from - Der Ursprung.
      to - Das Ziel.
      Since:
      0.42.0
  • Method Details

    • from

      @Getter public Vector from()
      Gibt den Ursprung zurück.
      Returns:
      Der Ursprung.
      Since:
      0.42.0
    • from

      @Setter public DirectedLineSegment from(Vector from)
      Setzt den Ursprung.
      Parameters:
      from - Der Ursprung.
      Returns:
      Eine Referenz auf die eigene Instanz der gerichteten Strecke, damit nach dem Erbauer/Builder-Entwurfsmuster die Eigenschaften der Strecke durch aneinander gekettete Setter festgelegt werden können, z.B. lineSegment.from(..).to(..).
      Since:
      0.42.0
    • to

      @Getter public Vector to()
      Gibt das Ziel zurück.
      Returns:
      Das Ziel.
      Since:
      0.42.0
    • to

      Setzt das Ziel.
      Parameters:
      to - Das Ziel.
      Returns:
      Eine Referenz auf die eigene Instanz der gerichteten Strecke, damit nach dem Erbauer/Builder-Entwurfsmuster die Eigenschaften der Strecke durch aneinander gekettete Setter festgelegt werden können, z.B. lineSegment.from(..).to(..).
      Since:
      0.42.0
    • difference

      public Vector difference()
      Gibt den Differenzvektor von Urspung zum Ziel zurück.
      Returns:
      Der Differenzvektor von Urspung zum Ziel.
      Since:
      0.42.0
    • angle

      public double angle()
      Gibt den Winkel zurück, den die Strecke mit der x-Achse bildet.

      Zeigt die Strecke nach ...

      • rechts: 0 Grad
      • oben: 90 Grad
      • links: 180 Grad
      • unten: -90 Grad
      Returns:
      der Winkel dieser Strecke in Grad.
      Since:
      0.42.0
    • length

      public double length()
      Gibt die Länge der Strecke zurück.
      Returns:
      Die Länge der Strecke.
      Since:
      0.42.0
    • negate

      public DirectedLineSegment negate()
      Gibt eine in die andere Richtung verlaufende Strecke zurück.
      Returns:
      Eine in die andere Richtung verlaufende Strecke.
      Since:
      0.42.0
    • relativePoint

      public Vector relativePoint(double factor)
      Berechnet einen Punkt auf der Linie, dessen Lage im Verhältnis zu den beiden Punkten der Strecke festgelegt ist.
      Parameters:
      factor - Bei dem Faktor 0 liegt der berechnete Punkt auf dem Ursprung, bei 1 auf dem Ziel.
      Returns:
      Ein Punkt auf der Linie, dessen Lage im Verhältnis zu den beiden Punkten der Strecke festgelegt ist.
      Since:
      0.42.0
    • fixedPoint

      public Vector fixedPoint(double distance)
      Berechnet einen Punkt auf der Linie, der sich in einer bestimmten Entfernung zum Ursprung befindet.

      Positive Entfernungen liegen in der Richtung des Ziels.

      Parameters:
      distance - Der Abstand vom Ursprung.
      Returns:
      Ein Punkt auf der Linie, der sich in einer bestimmten Entfernung vom Ursprung befindet.
      Since:
      0.42.0
    • rotatedVector

      public Vector rotatedVector(double deltaAngle)
      Gibt einen Vektor der Länge 1 zurück, der um den angegebenen Winkel gedreht ist.

      Positive Werte drehen gegen den Uhrzeigersinn.

      Parameters:
      deltaAngle - Der Rotationswinkel in Grad, um den der Vektor gedreht werden soll.
      Returns:
      Ein neuer Vektor mit dem Winkel des aktuellen Vektors plus deltaAngle
    • relativeRotatedPoint

      public Vector relativeRotatedPoint(double factor, double deltaAngle)
      Berechnet einen Punkt relativ zum Starttpunkt dieser gerichteten Linienstrecke, indem der Richtungsvektor um einen gegebenen Winkel rotiert wird.
      Parameters:
      factor - ein Skalierungsfaktor zwischen 0 und 1, der bestimmt, wie weit entlang der rotierten Strecke der Punkt liegt
      deltaAngle - der Rotationswinkel in Grad, um den der Richtungsvektor rotiert wird
      Returns:
      ein neuer Vektor, der den berechneten Punkt darstellt
      Since:
      0.42.0
    • fixedRotatedPoint

      public Vector fixedRotatedPoint(double distance, double deltaAngle)
      Berechnet einen Punkt auf einer Linie, die zur Strecke um einen Winkel gedreht ist.
      Parameters:
      distance - Der Abstand vom Ursprung. Positive Entfernungen liegen in der Richtung des Ziels.
      deltaAngle - Der Winkel, um den die Linie gedreht wird. Positive Werte drehen die Linien gegen den Uhrzeigersinn.
      Returns:
      Ein Punkt auf der Linie, der sich in einer bestimmten Entfernung vom Ursprung befindet.
      Since:
      0.42.0
    • verticalVector

      public Vector verticalVector()
      Berechnet einen Vektor der Länge 1, der senkrecht zu dieser gerichteten Strecke steht.

      Der resultierende Vektor ist um 90 Grad gegen den Uhrzeigersinn gedreht.

      Returns:
      Ein Vektor der Länge 1, der senkrecht zu dieser gerichteten Strecke steht.
    • relativeVerticalPoint

      public Vector relativeVerticalPoint(double factor, double factorVertical)
      Berechnet einen Punkt relativ zum Liniensegment mit relativer vertikaler Versetzung.
      Parameters:
      factor - Der Faktor für die Position entlang des Liniensegments (0.0 bis 1.0)
      factorVertical - der Faktor für die vertikale Versetzung relativ zur Länge des Segments
      Returns:
      ein neuer Vektor, der den berechneten Punkt mit vertikaler Versetzung darstellt
      Since:
      0.42.0
    • relativeVerticalPointFixedOffset

      public Vector relativeVerticalPointFixedOffset(double factor, double distanceFrom)
      Berechnet einen Punkt relativ zum Liniensegment mit festgelegtem vertikalen Versatz.
      Parameters:
      factor - Der Faktor für die Position entlang des Liniensegments (0.0 bis 1.0)
      distanceFrom - Der Abstand von der gerichteten Strecke.
      Returns:
      ein neuer Vektor, der den berechneten Punkt mit vertikaler Versetzung darstellt
      Since:
      0.42.0
    • fixedVerticalPoint

      public Vector fixedVerticalPoint(double distanceOn, double distanceFrom)
      Ein Punkt, der auf einer senkrechten Line zur gerichteten Strecke liegt.
      Parameters:
      distanceOn - Der Abstand vom Ursprung auf der gerichteten Strecke. Positive Entfernungen liegen in der Richtung des Ziels.
      distanceFrom - Der Abstand von der gerichteten Strecke.
      Since:
      0.42.0