[Edu-sig] Calculating area of a surface plane on a spherical body.

Norman Vine nhv@cape.com
Tue, 18 Sep 2001 14:17:57 -0400


Jonathan Pennington writes:
>
>Given > 3 points on a plane, how would one use Python to calculate the
>surface area of that plane. I'm assuming numpy would be used because
>it's going to run quite frequently.

Given only three points all you can calculate is the area of 
the triangle defined by those points.

If this triangle is is on the surface of a sphere then the additional
area in the amount of the 'spherical excess' must  be applied to
determine the area of the spherical triangle.  This is closely
related to the angular 'spherical excess' of triangles on a sphere

IMHO a wonderful teaching device is to draw eight equal spherical
triangles on a sphere.  Each corner of the triangles is 90* hence
the spherical excess is 90*  Sum of angles - 180*

FYI
It can be proven that the sum of the interior angles of a spherical
triangle is always > 180* and < 540*

Spherical Area = pi times r squared times E divided by 180
SA = pi * r**2 * E / 180

where 
r = area of sphere
E = Angular Spherical Excess

This is easiest to derive from a unit sphere and is a 'good' teaching
device

>
>To give more of an explaination, I'm trying to develop an educational
>program that is adding mathematics to my existing attempt to merge
>science(geology) and programming. Students will take coordinate data
>(either in lat/lon or UTM format) and enter the data into their
>programs to manipulate it, so the points will probably be in lat/lon
>format.

Note that the above is on a sphere and not a spheroid !
A reasonable first approximation of the area on a spheroidal triangle
can be made by simply using the distance from the center of the spheroid
to the center of the triangle as the radius

There were Python bindings for the Proj library 
try searching the vaults of parnassus

Note rather then just handing the students a working program
I would try to have them try to figure this one out on their own
using the unit sphere and 8 equal triangles as a starting point.

Cheers

Norman Vine