## QSail:

--------------------------------------------------------------------------
Quaternion from inertial to the local rotating sun-sail frame.
The X axis is along the sun line s; this may be towards or away from the
sun depending on user preference. The remaining axes are defined by the
cross product of X with either the orbit normal or the velocity vector.
Clock angles are always measured from the resulting Y axis.
For sun-pointing/orbit normal coordinates:
x is along s
y is perpendicular to the orbit normal, (h x uSun)
z completes the set and is as close to the orbit normal as possible
For sun-pointing/velocity coordinates:
x is along s
z is perpendicular to the velocity, (s x v)
y completes the set and is in the same hemisphere as velocity
For the second option pass in [] for r. For a heliocentric orbit, both
frames have the orbit normal along z.
Since version 7.
--------------------------------------------------------------------------
Form:
q = QSail( s, r, v ) Sun-pointing frame
q = QSail( s, r, v, -1 ) Flux-aligned frame
q = QSail( s, [], v )
q = QSail( s, [], v, -1 )
--------------------------------------------------------------------------
------
Inputs
------
uSun (3,n) or (3,1) Unit vectors to sun
r (3,n) Position vectors
v (3,n) Velocity vectors
c (1,1) Sign convention for s to X axis, optional
-------
Outputs
-------
q (4,n) Quaternions
--------------------------------------------------------------------------

## Children:

Common: Database/Constant
Common: Graphics/AddAxes
Common: Graphics/Plot2D
Common: Graphics/Plot3D
Common: Quaternion/Mat2Q
Math: Linear/Cross
Math: Linear/Mag
Math: Linear/Unit
SC: BasicOrbit/Period
SC: BasicOrbit/RVFromKepler