Calculating area of a surface plane on a spherical body

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.
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.
If a program already exisits with such a solution, I wouldn't mind reading the code. Otherwise, I'd like a math guru's opinion on well-formed solutions.
Sorry, my reaction is a little bit late. When the area is small compared with R*R (R = 6000 km, radius or the earth), you may consider a polygon in a plane (maps are based on this concept). The area of a polygon P0, P1, P2, ..., Pn with P0 = Pn, can be calculated with a simple algorithm: A = ( sum from i=0 to n-1 (y[i+1] - y[i])*(x[i+1] + x[i]) ) / 2 where (x[i], y[i]) represents the coordinates of point P with index i. All you have to do is translate lat/lon in rectangular coordinates. Girard's theorem: A = sum from i=1 to n (theta[i]) - (n-2) * pi, (R=1) is for relative small area's rather sensitive for errors in the theta's. Jaap Spies, Institute of Technology Hogeschool Drenthe
participants (1)
-
Jaap Spies