"Ramya Narasimhan" <ramyashree_81@rediffmail.com> wrote in message <hr6g5g$1vq$1@fred.mathworks.com>...
> I used Matlab6.5 to draw the energy landscape for the protein with principal coordinate axis in the X and Y planes and with energy along the Z axis. I got the irregular surface on the 2D map (XY plane). I just want to find the area for the surface. I tried to edit the plot and get the points. But I just can't copy all the points as whole. Is there a way to find the area for that surface directly in matlab or suggest me a way to get all the points on the surface.
>
> Thanks for any suggestions/comments
>
> Ramya

This is just a suggestion. I haven't tried it myself. Do a 'delaunay' triangulation of the X,Y points you have in the XY plane. Then add up the areas of the 3D versions of each triangle, that is the triangles of which the delaunay triangulation are the 2D projections. Thus each triangle vertex would have x, y, and z coordinates.
If P1 = [x1,y1,z1], P2 = [x2,y2,z2], P3 = [x3,y3,z3] are the three vertices of a triangle, its area is
area = 1/2*norm(cross(P2P1,P3P1));
Of course this is only an approximate area for the presumably smooth surface for which you have only discrete data, but it may be the best estimate you can make. The accuracy depends on how closelyspaced the data points are.
Roger Stafford
