Class S1Point
- java.lang.Object
-
- org.hipparchus.geometry.spherical.oned.S1Point
-
- All Implemented Interfaces:
Serializable,Point<Sphere1D,S1Point>
public class S1Point extends Object implements Point<Sphere1D,S1Point>
This class represents a point on the 1-sphere.Instances of this class are guaranteed to be immutable.
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description S1Point(double alpha)Simple constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description doubledistance(S1Point point)Compute the distance between the instance and another point.static doubledistance(S1Point p1, S1Point p2)Compute the distance (angular separation) between two points.booleanequals(Object other)Test for the equality of two points on the 1-sphere.booleanequalsIeee754(Object other)Test for the equality of two points on the 1-sphere.doublegetAlpha()Get the azimuthal angle \( \alpha \).SpacegetSpace()Get the space to which the point belongs.Vector2DgetVector()Get the corresponding normalized vector in the 2D euclidean space.inthashCode()Get a hashCode for the point.booleanisNaN()Returns true if any coordinate of this point is NaN; false otherwiseS1PointmoveTowards(S1Point other, double ratio)Move towards another point.
-
-
-
Field Detail
-
NaN
public static final S1Point NaN
A vector with all coordinates set to NaN.
-
-
Constructor Detail
-
S1Point
public S1Point(double alpha)
Simple constructor. Build a vector from its coordinates- Parameters:
alpha- azimuthal angle \( \alpha \)- See Also:
getAlpha()
-
-
Method Detail
-
getAlpha
public double getAlpha()
Get the azimuthal angle \( \alpha \).- Returns:
- azimuthal angle \( \alpha \)
- See Also:
S1Point(double)
-
getVector
public Vector2D getVector()
Get the corresponding normalized vector in the 2D euclidean space.- Returns:
- normalized vector
-
getSpace
public Space getSpace()
Get the space to which the point belongs.
-
isNaN
public boolean isNaN()
Returns true if any coordinate of this point is NaN; false otherwise
-
distance
public double distance(S1Point point)
Compute the distance between the instance and another point.
-
distance
public static double distance(S1Point p1, S1Point p2)
Compute the distance (angular separation) between two points.- Parameters:
p1- first vectorp2- second vector- Returns:
- the angular separation between p1 and p2
-
moveTowards
public S1Point moveTowards(S1Point other, double ratio)
Move towards another point.Motion is linear (along space curvature) and based on a ratio where 0.0 stands for not moving at all, 0.5 stands for moving halfway towards other point, and 1.0 stands for moving fully to the other point.
- Specified by:
moveTowardsin interfacePoint<Sphere1D,S1Point>- Parameters:
other- other pointratio- motion ratio,- Returns:
- moved point
-
equals
public boolean equals(Object other)
Test for the equality of two points on the 1-sphere.If all coordinates of two points are exactly the same, and none are
Double.NaN, the two points are considered to be equal.NaNcoordinates are considered to affect globally the point and be equals to each other - i.e, if either (or all) coordinates of the point are equal toDouble.NaN, the point is equal toNaN.
-
equalsIeee754
public boolean equalsIeee754(Object other)
Test for the equality of two points on the 1-sphere.If all coordinates of two points are exactly the same, and none are
Double.NaN, the two points are considered to be equal.In compliance with IEEE754 handling, if any coordinates of any of the two points are
NaN, then the points are considered different. This implies thatS1Point.NaN.equals(S1Point.NaN) returnsfalsedespite the instance is checked against itself.- Parameters:
other- Object to test for equality to this- Returns:
- true if two points objects are equal, false if object is null, not an instance of S1Point, or not equal to this S1Point instance
- Since:
- 2.1
-
-