Package org.djunits.quantity
Class Angle
- All Implemented Interfaces:
Serializable,Comparable<Angle>,Additive<Angle>,Scalable<Angle>,Value<Angle.Unit,Angle>
Angle is the measure of rotation between two intersecting lines, expressed in radians (rad) or degrees.
Copyright (c) 2025-2026 Delft University of Technology, Jaffalaan 5, 2628 BX Delft, the Netherlands. All rights reserved. See for project information https://djunits.org. The DJUNITS project is distributed under a three-clause BSD-style license.
- Author:
- Alexander Verbraeck
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAngle.Unit encodes the units of angle (radians, degrees). -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final AngleConstant with value pi/2 radians.static final AngleConstant with value NaN.static final AngleConstant with value -MAX_VALUE.static final AngleConstant with value NEGATIVE_INFINITY.static final AngleConstant with value one radian.static final AngleConstant with value pi radians.static final AngleConstant with value MAX_VALUE.static final AngleConstant with value POSITIVE_INFINITY.static final AngleConstant with value tau radians.static final AngleConstant with value 2 pi radians.static final AngleConstant with value zero radians. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal DirectionAdd an (absolute) direction to this angle, and return a direction.final DimensionlessCalculate the division of Angle and Angle, which results in a Dimensionless scalar.final DurationCalculate the division of Angle and AngularVelocity, which results in a Duration scalar.final AngularVelocityCalculate the division of Angle and Duration, which results in a AngularVelocity scalar.instantiate(double si) Instantiate a quantity with an SI or base value.final AngularVelocityCalculate the multiplication of Angle and Frequency, which results in a AngularVelocity scalar.static doublenormalize(double angle) Normalize an angle between 0 and 2 * PI.static AngleNormalize an angle between 0 and 2 * PI.static AngleReturns a Angle based on a value and the textual representation of the unit, which can be localized.static AngleofSi(double si) Return a Angle instance based on an SI value.siUnit()Return the SI unit of this quantity.static AngleReturns a Angle representation of a textual representation of a value with a unit.Methods inherited from class org.djunits.quantity.def.Quantity
abs, add, as, compareTo, divide, doubleValue, eq, eq0, equals, floatValue, format, format, ge, ge0, getDisplayUnit, getInUnit, getInUnit, getName, gt, gt0, hashCode, instantiate, interpolate, intValue, isRelative, le, le0, longValue, lt, lt0, max, mean, min, multiply, ne, ne0, negate, of, product, reciprocal, scaleBy, setDisplayUnit, si, subtract, sum, toDisplayString, toDisplayString, toString, toString, toString, toString, toStringSIPrefixed, toStringSIPrefixed, toTextualString, toTextualString, valueOfMethods inherited from class java.lang.Number
byteValue, shortValueMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.djunits.value.Value
isAbsolute, setDisplayUnit
-
Field Details
-
ZERO
Constant with value zero radians. -
PI
Constant with value pi radians. -
HALF_PI
Constant with value pi/2 radians. -
TWO_PI
Constant with value 2 pi radians. -
TAU
Constant with value tau radians. -
ONE
Constant with value one radian. -
NaN
Constant with value NaN. -
POSITIVE_INFINITY
Constant with value POSITIVE_INFINITY. -
NEGATIVE_INFINITY
Constant with value NEGATIVE_INFINITY. -
POS_MAXVALUE
Constant with value MAX_VALUE. -
NEG_MAXVALUE
Constant with value -MAX_VALUE.
-
-
Constructor Details
-
Angle
Instantiate a Angle quantity with a unit.- Parameters:
value- the value, expressed in the unitunit- the unit in which the value is expressed
-
Angle
Instantiate a Angle quantity with a unit, expressed as a String.- Parameters:
value- the value, expressed in the unitabbreviation- the String abbreviation of the unit in which the value is expressed
-
Angle
Construct Angle quantity.- Parameters:
value- Scalar from which to construct this instance
-
-
Method Details
-
ofSi
Return a Angle instance based on an SI value.- Parameters:
si- the si value- Returns:
- the Angle instance based on an SI value
-
instantiate
Description copied from class:QuantityInstantiate a quantity with an SI or base value.- Specified by:
instantiatein classQuantity<Angle,Angle.Unit> - Parameters:
si- the value expressed in the base (SI) unit- Returns:
- a quantity with the given SI-value and base (SI) unit
-
siUnit
Description copied from class:QuantityReturn the SI unit of this quantity.- Overrides:
siUnitin classQuantity<Angle,Angle.Unit> - Returns:
- the SI unit of this quantity
-
valueOf
Returns a Angle representation of a textual representation of a value with a unit. The String representation that can be parsed is the double value in the unit, followed by a localized or English abbreviation of the unit. Spaces are allowed, but not required, between the value and the unit.- Parameters:
text- the textual representation to parse into a Angle- Returns:
- the Scalar representation of the value in its unit
- Throws:
IllegalArgumentException- when the text cannot be parsedNullPointerException- when the text argument is null
-
of
Returns a Angle based on a value and the textual representation of the unit, which can be localized.- Parameters:
value- the value to useunitString- the textual representation of the unit- Returns:
- the Scalar representation of the value in its unit
- Throws:
IllegalArgumentException- when the unit cannot be parsed or is incorrectNullPointerException- when the unitString argument is null
-
add
Add an (absolute) direction to this angle, and return a direction. The unit of the return value will be the unit of this angle, and the reference of the return value will be the reference belonging to the given direction.R.add(A)= unit of R and reference value of A.- Parameters:
direction- the absolute direction to add- Returns:
- the absolute direction plus this angle
-
divide
Calculate the division of Angle and Angle, which results in a Dimensionless scalar.- Parameters:
v- scalar- Returns:
- scalar as a division of Angle and Angle
-
multiply
Calculate the multiplication of Angle and Frequency, which results in a AngularVelocity scalar.- Parameters:
v- scalar- Returns:
- scalar as a multiplication of Angle and Frequency
-
divide
Calculate the division of Angle and Duration, which results in a AngularVelocity scalar.- Parameters:
v- scalar- Returns:
- scalar as a division of Angle and Duration
-
divide
Calculate the division of Angle and AngularVelocity, which results in a Duration scalar.- Parameters:
v- scalar- Returns:
- scalar as a division of Angle and AngularVelocity
-
normalize
public static double normalize(double angle) Normalize an angle between 0 and 2 * PI.- Parameters:
angle- original angle.- Returns:
- angle between 0 and 2 * PI.
-
normalize
Normalize an angle between 0 and 2 * PI.- Parameters:
angle- original angle.- Returns:
- a new Angle object with angle between 0 and 2 * PI.
-