Package org.locationtech.jts.jump.geom
Class Angle
- java.lang.Object
-
- org.locationtech.jts.jump.geom.Angle
-
public class Angle extends Object
Utility functions for working with angles.
-
-
Field Summary
Fields Modifier and Type Field Description static int
CLOCKWISE
General constant representing clockwise orientationstatic int
COUNTERCLOCKWISE
General constant representing counterclockwise orientationstatic int
NONE
General constant representing no orientationstatic double
PI_OVER_2
static double
PI_OVER_4
static double
PI_TIMES_2
-
Constructor Summary
Constructors Constructor Description Angle()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static double
angle(org.locationtech.jts.geom.Coordinate p0, org.locationtech.jts.geom.Coordinate p1)
Returns the angle of the vector from p0 to p1.static double
angleBetween(org.locationtech.jts.geom.Coordinate tail, org.locationtech.jts.geom.Coordinate tip1, org.locationtech.jts.geom.Coordinate tip2)
Returns the angle between two vectors.static double
diff(double a1, double a2)
Returns the angle between two vectors.static int
getTurn(double a1, double a2)
Returns whether an angle must turn clockwise or counterclockwise to overlap another angle.static double
interiorAngle(org.locationtech.jts.geom.Coordinate p0, org.locationtech.jts.geom.Coordinate p1, org.locationtech.jts.geom.Coordinate p2)
Computes the interior angle between two segments of a ring.static double
normalize(double angle)
Computes the normalized value of an angle, which is the equivalent angle lying between -Pi and Pi.static double
toDegrees(double radians)
Converts from radians to degrees.static double
toRadians(double angleDegrees)
Converts from degrees to radians.
-
-
-
Field Detail
-
PI_TIMES_2
public static final double PI_TIMES_2
- See Also:
- Constant Field Values
-
PI_OVER_2
public static final double PI_OVER_2
- See Also:
- Constant Field Values
-
PI_OVER_4
public static final double PI_OVER_4
- See Also:
- Constant Field Values
-
COUNTERCLOCKWISE
public static int COUNTERCLOCKWISE
General constant representing counterclockwise orientation
-
CLOCKWISE
public static int CLOCKWISE
General constant representing clockwise orientation
-
NONE
public static int NONE
General constant representing no orientation
-
-
Method Detail
-
toDegrees
public static double toDegrees(double radians)
Converts from radians to degrees.- Parameters:
radians
- an angle in radians- Returns:
- the angle in degrees
-
angle
public static double angle(org.locationtech.jts.geom.Coordinate p0, org.locationtech.jts.geom.Coordinate p1)
Returns the angle of the vector from p0 to p1. The angle will be between -Pi and Pi.- Returns:
- the angle (in radians) that p0p1 makes with the positive x-axis.
-
toRadians
public static double toRadians(double angleDegrees)
Converts from degrees to radians.- Parameters:
angleDegrees
- an angle in degrees- Returns:
- the angle in radians
-
angleBetween
public static double angleBetween(org.locationtech.jts.geom.Coordinate tail, org.locationtech.jts.geom.Coordinate tip1, org.locationtech.jts.geom.Coordinate tip2)
Returns the angle between two vectors. Will be between 0 and Pi.- Parameters:
tail
- the tail of each vectortip1
- the tip of one vectortip2
- the tip of the other vector- Returns:
- the angle between tail-tip1 and tail-tip2
-
interiorAngle
public static double interiorAngle(org.locationtech.jts.geom.Coordinate p0, org.locationtech.jts.geom.Coordinate p1, org.locationtech.jts.geom.Coordinate p2)
Computes the interior angle between two segments of a ring. The ring is assumed to be oriented in a clockwise direction.- Parameters:
p0
- a point of the ringp1
- the next point of the ringp2
- the next point of the ring- Returns:
- the interior angle based at
p1
-
getTurn
public static int getTurn(double a1, double a2)
Returns whether an angle must turn clockwise or counterclockwise to overlap another angle.- Parameters:
a1
- an angle in radiansa2
- an angle in radians- Returns:
- whether a1 must turn CLOCKWISE, COUNTERCLOCKWISE or NONE to overlap a2.
-
normalize
public static double normalize(double angle)
Computes the normalized value of an angle, which is the equivalent angle lying between -Pi and Pi.- Parameters:
angle
- the angle to compute the normalized value of- Returns:
- the normalized value of the angle
-
diff
public static double diff(double a1, double a2)
Returns the angle between two vectors.- Parameters:
a1
- the angle of one vector, between -Pi and Pia2
- the angle of the other vector, between -Pi and Pi- Returns:
- the angle (in radians) between the two vectors, between 0 and Pi
-
-