Angle conversion in "orbit" spherical triangle
[val1, val2,...] = CL_gm_orbSphTriangle(inc, angname, angval, output=[name1, name2, ...]) res = CL_gm_orbSphTriangle(inc, angname, angval [,output="all"])
Converts angles in the orbit spherical triangle.
Knowing the orbit inclination and given one angle of the triangle that can be: declination (or latitude), right ascension (measured from the orbit's ascending node), argument of latitude, or bearing (angle between North and course directions, clockwise), this function computes the other ones.
Angles are referred to by name:
- aol: argument of latitude = angle in the orbit plane from the ascending node.
- decl: declination (or latitude). Specifying the declination only is not sufficient to determine the other angles. So one may specify if the argument of latitude is increasing (decl_a) or decreasing (decl_d).
- rra: relative right ascension = angle in the equator measured from the ascending node.
- bear: dihedral angle between the North direction and the course direction (tangent to the path on the unit sphere). Specifying the bearing only is not sufficient to determine the other angles. So one may specify if the argument of latitude correspond to a position in the Northern hemisphere (bear_n) or in the Southern hemisphere (bear_s).
NB:
- In the figure: "phi", "delta", "alpha", "A" stand for aol, decl, rra, bear, respectively.
Notes:
If output is "all", all the results are gathered in a structure containing the fields: "aol", "decl", "rra", "bear".
- All output values are recomputed values (including the one given as input).
- Output values are silently set to %nan if input values are not in the correct range, but an error occurs if the value is not in the definition range: inclination not in [0, pi], declination not in [-pi/2, pi/2], etc...
- Beware of the range of output angles: aol, rra, bear in [-pi, pi], decl in [-pi/2, pi/2].
Inclination [rad] (1xN or 1x1)
(string) Name of the input angle among: "aol", "rra", "decl_a", "decl_d", "bear_n", "bear_s" (1x1)
Value of the input angle [rad] (1xN or 1x1)
(string) Names of the output angles among: "decl", "rra", "aol", "bear" or "all". Default is "all". (1x1)
Output data values (1xN)
Structure containing all the results if output is "all" (containing 1xN arrays)
CNES - DCT/SB
inc = 1; aol = linspace(0, %pi/2, 10); decl = CL_gm_orbSphTriangle(inc, "aol", aol, output=["decl"]); res = CL_gm_orbSphTriangle(inc, "aol", aol, output="all"); |