How to calculate the solid angle of a rectangle?

195 Views Asked by At

Let $R$ be a rectangle with vertices $\boldsymbol{n}_1$, $\boldsymbol{n}_2$, $\boldsymbol{n}_3$ and $\boldsymbol{n}_4 \in \mathbb{R}^3$. I am looking for a formula for calculating the solid angle subtended by $R$ at a point $\boldsymbol{p}\in \mathbb{R}^3$. The solid angle can be calculated as $$\Omega(R)=\int \int_R \frac{\boldsymbol{x}-\boldsymbol{p}}{\left \Vert \boldsymbol{x}-\boldsymbol{p} \right \Vert_2^3 } \boldsymbol{\cdot n} dS(\boldsymbol{x}), $$ where $\boldsymbol{n} = \boldsymbol{n}(\boldsymbol{x})$ is the unit normal of $R$ at $\boldsymbol{x} \in R$. The rectangle $R$ has a parametrisation $$ \boldsymbol{s}(u, v) = u (\boldsymbol{n}_1 -\boldsymbol{n}_2)+v(\boldsymbol{n}_3 - \boldsymbol{n}_2)+\boldsymbol{n}_2 ,$$ where $(u, v)\in [0, 1]^2$.

However, calculating the surface integral seems to be difficult even for a calculator. Can the solid angle be given in a closed form in this general setting, or does one have to rely on approximation/numerical integration?

1

There are 1 best solutions below

0
On BEST ANSWER

Eriksson derived a simple formula for the solid angle $E$ of a planar triangle in terms of unit vectors $a,b,c$ from the origin to the three vertices: $$\tan \frac E 2 = \frac {\vert a \cdot b \times c \vert} {1+b \cdot c+c \cdot a + a \cdot b}$$ The OP could separate the rectangle into two planar triangles by drawing a diagonal across, then use the Eriksson formula on each.