This toolbox can solve any of the 6 possible subproblems associated with an oblique spherical triangle, when only 3 of the 6 angles are known.
The toolbox basically is an implementation of the set of tools developed in [Wertz, 2001], which aimed to fully automize the procedure and do away with the need of user intervention.
EXAMPLE:
[b1, c1, C1, b2, c2, C2] = aas(A, B, a)
gives both solutions for the sides b and c and the angle C, when given angles A, B and side a. This particular problem can be called the Angle-Angle-Side problem, hence the name.
Both degrees and radians are implemented, the difference is indicating by appending a 'd' to the function name. The above example expects and returns radians, whereas
[b1, c1, C1, b2, c2, C2] = aasd(A, B, a)
expects and returns degrees.
[Wertz, 2001]
James R. Wertz, Mission Geometry: Orbit and Constellation Design and Management, 2001. Published by Microcosm and Kluwer Academic Publishers.
Rody Oldenhuis (2019). Oblique Spherical Triangle toolbox (https://www.github.com/rodyo/FEX-sphericaltrig), GitHub. Retrieved .
1.3.0.0 | [linked to Github] |
|
1.2.0.0 | Found & corrected a few bugs |
|
1.1.0.0 | updated all files -- no dependencies should exist anymore.
|
Create scripts with code, output, and formatted text in a single executable document.
Rody Oldenhuis (view profile)
Whoah! I totally overlooked your comment! I actually found this comment by googling for one of my other submissions :s
Anyway, thanks for the comment. Actually, in MAL/MSL, that whole denominator is unneccesary, since the objective is to take the ATAN2. I posted an update which does just that. I also got rid of the whole MAL/MSL thing, and all dependencies I created back in a time I did not yet know DEAL() ^_^
Thanks for the feedback.
Kamal Abdali (view profile)
This comment is on the descriptive doc, not on the code. Specifically, it is about the auxiliary functions mal.m, mald.m, msl.m, and msld.m.
First, I think a correction is needed. In the equations for "cos c". the numerator has a plus sign which should be minus.
Second, a suggestion for a very minor improvement. The definitions of "sin c", "cos c", "sin C", and "cos C" all have the same denominator:
1 - sin a sin b sin A sin B
This is equal to
1 - (sin b sin A)^2
which contains only the given data b and A, not B which is a computed quantity (in ssa, the main user of the "middle side/angle laws"). So this expression has the advantage of avoiding any errors in the intermediate computation.