public class CelestialBodyPointed extends AbstractAttitudeLaw
The celestial body pointed law is defined by two main elements:
The celestial body implicitly defines two of the three degrees of freedom and the phasing reference defines the remaining degree of freedom. This definition can be represented as first aligning exactly the satellite pointing axis to the current direction of the celestial body, and then to find the rotation around this axis such that the satellite phasing axis is in the half-plane defined by a cut line on the pointing axis and containing the celestial phasing reference.
In order for this definition to work, the user must ensure that the phasing reference is never
aligned with the pointing reference. Since the pointed body moves as the date changes, this should be ensured
regardless of the date. A simple way to do this for Sun, Moon or any planet pointing is to choose a phasing reference
far from the ecliptic plane. Using Vector3D.PLUS_K
, the equatorial pole, is perfect in these cases.
Instances of this class are guaranteed to be immutable.
Constructor and Description |
---|
CelestialBodyPointed(Frame pCelestialFrame,
PVCoordinatesProvider pPointedBody,
Vector3D pPhasingCel,
Vector3D pPointingSat,
Vector3D pPhasingSat)
Creates new instance.
|
Modifier and Type | Method and Description |
---|---|
Attitude |
getAttitude(PVCoordinatesProvider pvProv,
AbsoluteDate date,
Frame frame)
Compute the attitude corresponding to an orbital state.
|
getAttitude, getSpinDerivativesComputation, setSpinDerivativesComputation
public CelestialBodyPointed(Frame pCelestialFrame, PVCoordinatesProvider pPointedBody, Vector3D pPhasingCel, Vector3D pPointingSat, Vector3D pPhasingSat)
pCelestialFrame
- frame in which phasingCel
is definedpPointedBody
- celestial body to point atpPhasingCel
- phasing reference, in celestial framepPointingSat
- satellite vector defining the pointing directionpPhasingSat
- phasing reference, in satellite framepublic final Attitude getAttitude(PVCoordinatesProvider pvProv, AbsoluteDate date, Frame frame) throws PatriusException
pvProv
- local position-velocity provider around current datedate
- current dateframe
- reference frame from which attitude is computedPatriusException
- if attitude cannot be computedCopyright © 2019 CNES. All rights reserved.