# How to calculate the solid angle subtended by an off axis disk

1. Dec 29, 2013

### CraigH

Hi,
It's surprising how little information is available on this topic, considering it seems like such a fundamental problem. The only tutorial I have found is here, and my university does not have access to the other papers on the topic.

I'm finding it really difficult to understand this tutorial, so I would really appreciate it if someone could help explain how to do this calculation. It's probably best explaining this question with an example. See the picture bellow:

http://imageshack.us/a/img824/2072/tfw0.jpg [Broken]

In the first example the source is directly above the disk. The solid angle is the area intersected by the cone and a unit sphere centered around the source, so for this example the calculation is easy. The area intersected (and hence the solid angle) will be the area of the disk divided by the square of the distance between the source and the disk. So if the source is 20m above a 5m radius disk, it will subtend an angle of ∏/16

$\frac{\pi*5^{2}}{20^{2}} = \frac{\pi}{16}$

In the second example the source lies on the plane of the disk. This is also easy to calculate; it subtends an angle of 0∏.

The third example is where I am having difficulties. Because it is off axis it will have a smaller angle subtended, even if the distance is the same. So if the source is 20m away from the center of the 5m radius disk, and it is ∏/4 radians counterclockwise from the y axis (the vertical axis coming out of the plane) , and 3∏/8 radians counterclockwise from the z axis (the horizontal axis going into the screen), what angle does it subtend the disk?

Here's my attempt so far

If I try and follow the tutorial I posted it seems like there is a lot of steps. First I have to check whether or not the source lies outside the perimeter of the disk. It does, so the formula to find the solid angle is:

$Ω = - \frac{2L}{R_{max}}K(k) + \pi\Lambda_{0}(\xi,k)$

where:

L = the perpendicular height of the source above the plane of the disk.
R max = the maximum distance between the source and a point on the perimiter of the disk.
K(k) = Legendre's form of a complete elliptic integral of the first kind. K is a function and k is the argument.
k = square root of (1 - (R1^2)/(R max ^2)).
R1 = ?????? I cant work this out
lambda 0 (xi,k) = Heuman lambda function
xi = arcsin (L/R1)

This is all I can deduce from the tutorial. However I can not work out what R1 is, and I do not know how to do the elliptic integrals. The tutorial references the handbook "elliptic integrals for engineers and scientists" which I have a copy of, however this is even more difficult than the original tutorial.

I have looked online and found that

$K(k) = \int^{\pi/2}_{0}\frac{1}{\sqrt{1-k^{2}sin^{2}(t)}}dt$

But I do not know what t is, or how to calculate this integral.

I have also found that

$\Lambda_{0}(\xi,k) = \frac{2}{\pi} (E(k) F(\xi,k') - K(k) E(\xi,k') + K(k) F(\xi,k'))$

where:

F(xi,k') = incomplete elliptic integral of the first kind
E(k) = complete elliptic integral of the second kind

I also have formulas for these which I found online, but like the first elliptic integral, I do not know how to calculate them.

Even though I have posted a lot of information here I understand very little of it, it may be completlely wrong. It also looks very complicated, is there an easier way? I just want to know how to find the solid angle subtended by an off axis disk. I don't even care that much if I do not understand where the calculations have come from, at this point I just want to be able to do them. I'd also like to point out that once I know how to do them I plan on coding a matlab function that will calculate them for me.

So please, can somebody tell me how I find this angle?

Thankyou very much!

Last edited by a moderator: May 6, 2017
2. Dec 29, 2013

### Staff: Mentor

Elliptic integrals are written as integrals as there is no analytic solution for them. You'll have to do numeric integration or some other approximation method.

t is the integration variable in the integral. It runs from 0 to pi/2.

R1 is the "opposite" of Rmax, it is the distance between source and the closest point of the ellipse.

Unrelated to the main problem: Keep in mind that your first method (source directly above the disk) is just an approximation, as the disk is not a part of the sphere.

3. Dec 29, 2013

### CraigH

Is there a way to calculate the angle without using elliptic integrals then? It seems like such a fundamental problem, I thought there would be an easier way of calculating it.

I thought that this would not matter, as the solid angle would be the same if the disk is flat, or if it is a spherical cap, with the apex directly below the source. I'll demonstrate this with a picture:

http://imageshack.us/a/img163/7997/m7dl.jpg [Broken]

In this picture the disk inside the white sphere will subtend the same angle as the spherical cap that makes up part of the white sphere.

http://imageshack.us/a/img594/5498/6etp.jpg [Broken]

The purple sphere is the unit sphere. The area that the blue cone intersects with the purple sphere is the solid angle.

Is this not correct?

Last edited by a moderator: May 6, 2017
4. Dec 29, 2013

### Staff: Mentor

If you find one, publish it ;).
Elliptic integrals are not used because it is fun, they are used when no easier solution is known.

Easy problems can have complicated solutions (the arc length of an ellipse is another example for elliptic integrals).

The surface area of the cap (on the curved part) is not the area of the disk. You assume both to be the same.

5. Dec 30, 2013

### CraigH

I've found out that matlab will compute the complete elliptic integrals of the first and second kind, but it cannot compute the incomplete eliptic integral of the first kind, which is needed for the heuman lambda function.

Is there anyway around this problem?

Also, since i've now resorted to using built in matlab functions I should probably have some basic understanding of what i'm actually doing otherwise i'll have no chance in my viva voce exam. Can you please give me a really basic explanation of what i'm doing when I put a number (M) into the function? Also, why am I doing an elliptic integral in the first place, how does this help compute the solid angle?

Thank you very much!

6. Dec 30, 2013

### Staff: Mentor

You can try to let Matlab evaluate those integrals directly.

Is the question as basic as it looks like?
Like, what happens if you put a value for x into f(x)=x^2?

How does adding 2 and 2 help to compute the sum of 2 and 2?
Sorry I don't understand how that can be unclear. The description you linked derived the solid angle, and those elliptic integrals are part of the result.

7. Dec 30, 2013

### CraigH

Sorry I should have been more clear with my question. The description I linked is way beyond my maths ability, so i'm asking for a brief overview of what that description is trying to say. The description is very detailed and technical, I've read it 100 times and googled and researched everything to try and understand it, but it is beyond me. I'm hoping that there is a simpler explanation of what that paper is trying to say.

When I type into matlab:

[K,E]=ellipke(0.0796)

it returns

K =

1.6035

E =

1.5391

But what do these numbers mean? I find it strange that I put in a number and it outputs two numbers. Usually with integration you put in an equation and it outputs a different equation.

I'm just really worried that in my viva voce exam I will be asked how I calculated the solid angles, and my answer will just be, "I got matlab to do it for me". They will probably ask why I did it the way I did it and I won't know. I'm blindly following the instructions in the link I posted because I don't understand them.

If I understood the description I posted in the link I would be fine, but I don't. So I guess this is my question: Could you please explain the derivation of the solid angle calculation for a circular disk to me like i'm five years old?

I can see that i'm asking quite a hard question here. It doesn't need to be a good explanation, could you please just give it your best shot? I would massively appreciate it.

Last edited: Dec 30, 2013
8. Dec 30, 2013

### Staff: Mentor

Matlab calculates two different functions at the same time. One for K, one for E.

If it is not the main result of your work (!), the derivation looks too complicated to explain it in an exam. "I used the method of F. Paxton, see [reference], the result is [formulas], and implemented those formulas in Matlab" should be fine.

I don't think that is possible.

9. Dec 30, 2013

### CraigH

Okay, yeah that sounds pretty reasonable. This is actually a really small part of a much bigger project. I've got a little bit distracted by it though.

Aha, I thought that might be the case.