The Math Forum

Ask Dr. Math - Questions and Answers from our Archives
Associated Topics || Dr. Math Home || Search Dr. Math

Finding the Area of an Irregular Polygon in 3-D

Date: 02/04/2009 at 09:59:22
From: Manu
Subject: Finding the area of an irregular polygon with 8 vertices

I have 8 points (vertices) with (x,y,z) coordinates for each point.
I don't have any internal angles.  How do I find the area of this polygon?

I tried doing the general form say point 1(x1,y1,z1) point 2(x2,y2,z2)
....point 8(x8,y8,z8) then the area will be 1/2(x1y2 - x2y1....x8y1 -
y8x1) but that does not account for the z coordinates.  How do I use
the z coordinates?

Date: 02/04/2009 at 11:58:08
From: Doctor Tom
Subject: Re: Finding the area of an irregular polygon with 8 vertices

Hi Manu -

The area is only going to make sense if the eight points are 
co-planar.  If they're not, I'm not even sure what the term "area"
would mean.

Assuming they are coplanar, pick three of the points that do not lie
in a straight line, say P1, P2 and P3.  The vectors V1 =  P1-P2 and V2
= P1-P3 are not parallel (since the points are not collinear), so 
their cross product V1 x V2 will be a vector perpendicular to the 
polygon.  Next, find a spatial rotation that takes that cross product
into the z-axis.  Now all the z values will be the same, and you can
use the usual formula for the area of a planar polygon using only the
x and y coordinates.

For more details on that, you might want to read this answer from our
archives, which discusses planar polygons and then at the end mentions
some ideas on three-dimensional ones:

  Finding the Area of an Irregular Polygon 

Here's how I'd find the rotation matrix I mentioned:  Normalize V1 x
V2 to unit length by dividing each component by the length of V1 x V2.
Call the result N = (nx, ny, nz).  Normalize V1 so that it also has
unit length (and I'll just continue to call it V1).  V1 is 
perpendicular to N, so V1 x N = V3 will be perpendicular to both and
will also have unit length.  The set:

  N, V1, V3 is an orthonormal basis

We need to find a 3x3 matrix M such that:

   N M = (0 0 1)
  V1 M = (0 1 0)
  V3 M = (1 0 0)

These are trivial to solve and you'll have all 9 components of M and
it will be a rotation matrix (or a rotation matrix with a reflection,
depending on which three points you started with, but neither a
reflection nor a rotation will affect the area).  You may get a
negative area using the standard formula, but it will be of the right
magnitude and you just need to find the absolute value.

I hope this helps.

- Doctor Tom, The Math Forum 

Date: 02/04/2009 at 20:11:14
From: Manu
Subject: Thank you (Finding the area of an irregular polygon with 8

Thank you very much.  The points are planar and non-collinear.  I am
confused about the vector part.  Say I have coordinates p1(1,2,3),
p2(4,5,6), and p3(7,8,9).  Then v1 becomes (-3,-3,-3), v2=(-3,-3,-3).
I guess v1xv2 length will be sqrt(1+2+9) + sqrt(16+25+36) = 11.27 then
I do (p1x*p2x)/11.27... and find x,y,z and put it for 
N = (nx, ny, nz).

I am not sure if I understood correctly.  Can you please guide me or
otherwise suggest a web link where I can get details about vectors?

Date: 02/04/2009 at 20:27:32
From: Doctor Tom
Subject: Re: Thank you (Finding the area of an irregular polygon with
8 vertices)

Hi Manu -

Your example picked three vectors that lie in a straight line, so it
can't work.

Let's try another one:

  P1 = (0, 0, 0)
  P2 = (1, 1, 1)
  P3 = (1, 2, 3)

  V1 = (1, 1, 1)
  V2 = (1, 2, 3)

The cross-product of:

  V1 = (x1, y1, z1) and V2 = (x2, y2, z2)


  V1 x V2 = (y1 z2 - z2 y1, z1 x2 - x2 z1, x1 y2 - y2 x1)

or in the case of my example:

  (1, -2, 1).

For your example, the cross product is (0, 0, 0).

The length of the cross product is sqrt(1 + 4 + 1) = sqrt(6), so the
normalized cross product is:

  (1/sqrt(6), -2/sqrt(6), 1/sqrt(6))

Now normalize, say, V1 to obtain:

  (1/sqrt(3), 1/sqrt(3), 1/sqrt(3))

Take the cross-product of those, as above, to obtain the third
perpendicular vector.  (This is better done with a calculator and with
approximations of the square roots, obviously.)

There's great information about vectors and working with them in
Wikipedia or on the Wolfram Mathworld sites.

- Doctor Tom, The Math Forum 

Date: 03/13/2009 at 04:29:00
From: Manu
Subject: Thank you (Finding the area of an irregular polygon with 8

Thank you for the response.  I tried it but somehow I get stuck in the
vector part.  Since I have 8 points one of the points has to be
repeated while taking 3 points each for finding the vector for cross
product.  Is there any other simpler method of finding the area?

Date: 03/14/2009 at 23:32:55
From: Doctor Tom
Subject: Re: Thank you (Finding the area of an irregular polygon with
8 vertices)

Another possibility, I suppose, would be to calculate a series of
lengths of the sides and angles between them, building a similar
polygon on the plane.

In other words, start at a point on your spatial polygon, find the
length of the first side, and mark off that distance along the x-axis.
Then find the first angle and the second length, and go off by that 
length at that angle.  Continue around the whole spatial polygon 
until it closes, and you'll have vertices on a plane which can be 
used to calculate the area.  Also, if the points aren't perfectly 
planar, you'll find out because the planar polygon won't quite close.

- Doctor Tom, The Math Forum 
Associated Topics:
College Linear Algebra
College Polyhedra

Search the Dr. Math Library:

Find items containing (put spaces between keywords):
Click only once for faster results:

[ Choose "whole words" when searching for a word like age.]

all keywords, in any order at least one, that exact phrase
parts of words whole words

Submit your own question to Dr. Math

[Privacy Policy] [Terms of Use]

Math Forum Home || Math Library || Quick Reference || Math Forum Search

Ask Dr. MathTM
© 1994- The Math Forum at NCTM. All rights reserved.