Closest Approach#
- public class ClosestApproach#
A close approach between an orbit and a target orbit. Obtained by calling
Orbit.nextClosestApproach(Orbit)orOrbit.closestApproaches(Orbit, int).Note
The object names the approach rather than describing it once: each member estimates the time of closest approach from where the two orbits are now, and describes the state at that time. The estimate moves as the game runs, so members read at different moments can differ a little; members read in one physics tick all describe the same estimate. Relative quantities are the target relative to the orbiting object (target minus self).
The search runs forward over one orbital period from the current time. Once an approach has passed and the two orbits are moving apart, the closest point in that period is the current one, so the object reports the approach as now, at the present separation, until the orbits bring another one within range.
- double getUT()#
The universal time of the closest approach, in seconds.
- double getTimeTo()#
The time until the closest approach, in seconds.
- double getDistance()#
The distance between the objects at the closest approach, in meters.
- double getRelativeSpeed()#
The relative speed of the objects at the closest approach, in meters per second. This is the magnitude of
ClosestApproach.relativeVelocity(ReferenceFrame), and does not depend on the choice of reference frame.
- CelestialBody getBody()#
The celestial body doing the approaching, or
nullif it is not a celestial body.
- CelestialBody getTargetBody()#
The celestial body being approached, or
nullif the target is not a celestial body.
- org.javatuples.Triplet<Double, Double, Double> position(ReferenceFrame referenceFrame)#
The position of the orbiting object at the closest approach.
- Parameters:
referenceFrame (
ReferenceFrame) – The reference frame that the returned position vector is in. Defaults to the orbital reference frame of the object the orbit belongs to.
- Returns:
The position as a vector.
- org.javatuples.Triplet<Double, Double, Double> targetPosition(ReferenceFrame referenceFrame)#
The position of the target object at the closest approach.
- Parameters:
referenceFrame (
ReferenceFrame) – The reference frame that the returned position vector is in. Defaults to the orbital reference frame of the object the orbit belongs to.
- Returns:
The position as a vector.
- org.javatuples.Triplet<Double, Double, Double> velocity(ReferenceFrame referenceFrame)#
The velocity of the orbiting object at the closest approach.
- Parameters:
referenceFrame (
ReferenceFrame) – The reference frame that the returned velocity vector is in. Defaults to the orbital reference frame of the object the orbit belongs to.
- Returns:
The velocity as a vector.
- org.javatuples.Triplet<Double, Double, Double> targetVelocity(ReferenceFrame referenceFrame)#
The velocity of the target object at the closest approach.
- Parameters:
referenceFrame (
ReferenceFrame) – The reference frame that the returned velocity vector is in. Defaults to the orbital reference frame of the object the orbit belongs to.
- Returns:
The velocity as a vector.
- org.javatuples.Triplet<Double, Double, Double> relativePosition(ReferenceFrame referenceFrame)#
The position of the target relative to the orbiting object at the closest approach.
- Parameters:
referenceFrame (
ReferenceFrame) – The reference frame whose axes the returned vector is expressed in. Defaults to the orbital reference frame of the object the orbit belongs to.
- Returns:
The relative position as a vector.
- org.javatuples.Triplet<Double, Double, Double> relativeVelocity(ReferenceFrame referenceFrame)#
The velocity of the target relative to the orbiting object at the closest approach.
- Parameters:
referenceFrame (
ReferenceFrame) – The reference frame whose axes the returned vector is expressed in. Defaults to the orbital reference frame of the object the orbit belongs to.
- Returns:
The relative velocity as a vector.