Area of the spherical triangle on the unit sphere
Source:R/formulas_3d.R
spherical_triangle_area.RdComputes the unnormalized solid angle (in steradians) of the spherical triangle on \(S^2\) whose vertices are three unit vectors. Equivalent to the spherical excess of the triangle.
Value
A single non-negative numeric value: the area of the spherical
triangle in steradians. The full sphere has total area \(4\pi\), so
the normalized solid angle is result / (4 * pi).
Details
The function evaluates the same Van Oosterom-Strackee formula used in
solid_angle_3d but returns the unnormalized excess
$$E = 2\, \mathrm{atan2}\!\left(|v_1 \cdot (v_2 \times v_3)|,\
1 + v_1 \cdot v_2 + v_2 \cdot v_3 + v_3 \cdot v_1\right).$$
Mathematically, \(E\) equals the spherical excess
\((\alpha + \beta + \gamma) - \pi\) of the spherical triangle, where
\(\alpha, \beta, \gamma\) are the interior angles.
L'Huilier's theorem provides an equivalent formulation in terms of arc
lengths; the function lhuilier_angle implements that
alternative.
References
Van Oosterom, A., & Strackee, J. (1983). The solid angle of a plane triangle. IEEE Transactions on Biomedical Engineering, 30(2), 125-126. doi:10.1109/TBME.1983.325207
Todhunter, I. (1886). Spherical Trigonometry, 5th edition. Macmillan and Co., London. (Chapter on the spherical excess and L'Huilier's theorem.)
See also
solid_angle_3d for the normalized solid angle of the same
triangle; lhuilier_angle for the L'Huilier formulation;
compute_solid_angle for the general dispatcher.