Conversion between various fly-by vectors (hyperbolic orbits)
[par_out1, par_out2, ...] = CL_ip_flybyVectors(type_in, vect1, vect2, output [[, mu]])
Given two vectors characterizing a fly-by, computes other ones.
The argument type_in describes the nature of the input vectors:
- pv: Position and velocity on the hyperbola (pos and vel) - any anomaly
- pvinfa: Arrival impact position and excess velocity vectors (pinfa and vinfa)
- pvinfd: Departure impact position and excess velocity vectors (pinfd and vinfd)
- vvinf: Arrival and departure excess velocity vectors (vinfa and vinfd)
The quantities that can be computed are given in output and can be:
- posp: Position vector at periapsis
- velp: Velocity vector at periapsis
- vinfa (or vinfva): Arrival excess velocity vector
- vinfd (or vinfvd): Departure excess velocity vector
- pinfa (or pinfva): Arrival impact position vector (perpendicular to excess velocity vector)
- pinfd (or pinfvd): Departure impact position vector (perpendicular to excess velocity vector)
The impact position vector is the intersection of the asymptote of the hyperbola and the B-plane (the B-plane is the plane containing the center of the body and perpendicular to the excess velocity vector).
The output vectors are given in the same frame as the input vectors.
Notes:
1) Input impact vector (case type_in = pvinf):
The impact position vector pinfa does not need to be perpendicular to the excess velocity vector (vinfa). pinfa can be any vector from the body center to a point M on the arrival aymptote.
2) Input departure excess velocity vector (case type_in = vvinf):
It is not checked whether the norm of vinfa is identical to the norm of the departure excess velocity vector (vinfd). The norm of vinfd is actually not used.
(string) Nature of input vectors: "pv", "pvinf" or "vvinf". (1x1)
Input vectors [m, m/s]. (3xN or 3x1)
(optional) Gravitational constant. Default: %CL_mu. [m^3/s^2] (1x1).
Output vectors [m, m/s]. (3xN)
CNES - DCT/SB