Consider a spherical triangle like this:


where $A_1, A_2, A_3,$ and $P$ are points on the sphere and $t_1, t_2, t_3$ are the proportion of the area of the large triangle contained within the small triangle: that is, if $\Omega$ is the area of $A_1 A_2 A_3$, the area of $A_1 A_2 P$ is $t_3 \Omega$.

Given $A_1 A_2 A_3$ and $t_1, t_2, t_3$, what is $P$? Is there an analytic expression for $P$, or can it only be found numerically? Is there an analytic expression if $A_1 A_2 A_3$ is an equilateral spherical triangle (i.e. $A_1, A_2,$ and $A_3$ are equidistant)?

(If this was a planar triangle, this would reduce to simple barycentric coordinates in the plane. In fact, that's where I stole the image from...)


For any point $X$ on the unit sphere, let $\vec{X}$ be corresponding unit vector.

We will assume

  • The spherical triangle $A_1A_2A_3$ is small in the sense that it falls within a hemisphere.
  • Vertices are ordered in counterclockwise manner. i.e. $\Delta \stackrel{def}{=} \vec{A}_1 \cdot ( \vec{A}_2 \times \vec{A}_3 ) > 0$.
  • The desired point $P$ lies inside $A_1A_2A_3$. i.e. $t_1,t_2,t_3 \ge 0, t_1 + t_2 + t_3 = 1$.

Express $P$ as a "linear combination" of $A_1,A_2,A_3$. i.e.

$$\vec{P} = u_1 \vec{A}_1 + u_2 \vec{A}_2 + u_3\vec{A}_3$$ for parameter $u_1,u_2,u_3$ to be determined.

Let $(i,j,k)$ be any cyclic permutation of $(1,2,3)$. Define

  • $v_k = \frac{u_k}{1 + u_1+u_2+u_3} \iff u_k = \frac{v_k}{1 - v_1 - v_2 - v_3}$
  • $\alpha_k = \vec{A}_i \cdot \vec{A}_j$ and $\beta_k = \frac{\alpha_i + \alpha_j}{1 + \alpha_k}$
  • $\tau = \tan\left(\frac{\Omega}{2}\right)$, $\tau_k = \tan\left(\frac{t_k\Omega}{2}\right)$ and $\lambda_k = \frac{\tau_k}{\tau}$.

Apply the formula of solid angle in OP's own answer to triangle $A_1A_2A_3$, we obtain $$\tau = \frac{\Delta}{1 + \alpha_1 + \alpha_2 + \alpha_3} = \frac{\Delta}{(1+\alpha_k)(1+\beta_k)}$$

Apply same formula to triangle $PA_iA_j$, we obtain

$$\begin{align} \tau_k &= \frac{\vec{A}_i \cdot (\vec{A}_j \times \vec{P})}{ 1+ \vec{A}_i \cdot \vec{A}_j + \vec{A}_i\cdot\vec{P} + \vec{A}_j\cdot\vec{P}}\\ &= \frac{u_k \Delta}{ 1 + \alpha_k + (u_i + u_j \alpha_k + u_k \alpha_j) + (u_i \alpha_k + u_j + u_k \alpha_i)}\\ &= \frac{u_k \Delta}{ (1 + \alpha_k)(1 + u_i + u_j) + (\alpha_j + \alpha_k)u_k}\\ &= \frac{u_k \Delta}{ (1 + \alpha_k)(1 + u_i + u_j + \beta_k u_k)}\\ &= \frac{v_k \Delta}{ (1 + \alpha_k)(1 - (1 -\beta_k) v_k)}\\ \end{align} $$ This leads to

$$v_k = \frac{1}{\frac{\Delta}{\tau_k(1+\alpha_k)} + 1 - \beta_k} = \frac{1}{\frac{(1+\beta_k)\tau}{\tau_k} + (1-\beta_k)} = \frac{\lambda_k}{(1+\beta_k) + (1-\beta_k)\lambda_k}$$

In the special case $A_1A_2A_3$ is equilateral with side length $\theta$, we have

$$\alpha_1 = \alpha_2 = \alpha_3 = \cos\theta \implies \beta_1 = \beta_2 = \beta_3 = \beta \stackrel{def}{=}\frac{2\cos\theta}{1 + \cos\theta}$$

The formula for $P$ simplifies to

$$\vec{P} = \frac{v_1 \vec{A}_1 + v_2 \vec{A}_2 + v_3 \vec{A}_3}{1-v_1-v_2-v_3}$$

where $$v_k = \frac{\lambda_k}{(1+\beta) + (1-\beta)\lambda_k},\quad \lambda_k = \frac{\tan\left(\frac{t_k \Omega}{2}\right)}{\tan\left(\frac{\Omega}{2}\right)} $$ In particular, when $\theta = \frac{\pi}{2}$, $A_1A_2A_3$ is one-eight of the unit sphere. $\vec{A}_1,\vec{A}_2, \vec{A}_3$ are orthonormal and $\beta = 0$. The coefficients $v_k$ become something very simple. $$v_k = \frac{1}{\cot\left(\frac{t_k\pi}{4}\right) + 1}$$


Here's an answer that is correct but probably not as simplified as it could be; feel free to improve on it.

Start with the formula for solid angle of a spherical triangle given on wikipedia, and assume all vectors are of unit length, then for a triangle defined by vertices $\vec a\vec b\vec c$:

$$\tan \left( \frac{\Omega_{abc}}{2} \right) = \frac{\vec a\cdot \vec b\times \vec c}{1 + \left(\vec a \cdot \vec b\right) + \left(\vec a \cdot \vec c\right) + \left(\vec b \cdot \vec c\right)}$$

Let $\vec x$ be the point inside the spherical triangle. The area of the triangle $\vec a \vec b \vec x$ can be grouped and rearranged as so:

$$x \cdot \left(\cot \frac{\Omega_{abx}}{2}\vec a \times \vec b - \vec a - \vec b\right) = 1 + \vec a \cdot \vec b$$

Define $\vec L_{abx} = \cot (\Omega_{abx}/2) \vec a \times \vec b - \vec a - \vec b$ and $h_{abx} = 1 + \vec a \cdot \vec b$.

The other triangles $\vec b\vec c\vec x$ and $\vec c \vec a \vec x$ are similar, resulting in $\vec L_{bcx}, \vec L_{cax}, h_{bcx}$, and $h_{cax}$.(Be careful with the order of points here: they all have to be in counterclockwise order, or else your signs get confused.) These quantities are related to $\vec x$ by the linear system

$$ \begin{bmatrix} \vec L_{abx} & \vec L_{bcx} & \vec L_{cax} \end{bmatrix} \vec x = \begin{bmatrix} h_{abx} \\ h_{bcx} \\ h_{cax} \end{bmatrix}$$

where $\begin{bmatrix} \vec L_{abx} & \vec L_{bcx} & \vec L_{cax} \end{bmatrix}$ is the matrix where the first column is the vector $\vec L_{abx}$, etc. Define $\vec h = [h_{abx}, h_{bcx}, h_{cax}] $. Cramer's rule can be used to get the components of $\vec x = [x_1, x_2, x_3]$ :

$$x_1 = \frac{\begin{vmatrix}\vec h & \vec L_{bcx} & \vec L_{cax}\end{vmatrix}}{\begin{vmatrix}\vec L_{abx} & \vec L_{bcx} & \vec L_{cax}\end{vmatrix}}, \, etc.$$

This is an explicit, analytic expression, but is complicated. My attempts to simplify this form have only resulted in frustration; maybe someone with access to a better computer algebra system can whittle it down?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.