// Calculate the area of an irregular polygon defined
//   by a series of x,y coordinates, and plot it.
// The bounding line must go counter-clockwise.
// Note - the line must not cross over itself or the
//   overlapped part will be subtracted from the area.

Data 1,2, 1,3, 2,5, 1,5, -1,5, -2,4, 
Data -3,1, -1,-1, -1,1
DIM points (20,2)
graph
read x1, y1
i = 0
startx = x1: starty=y1
points (i,0) = x1: points (i,1) = y1
i = i+1
while (read (0))
   read x2, y2
   points (i,0) = x2: points (i,1) = y2
   i = i+1
   sum = sum + (x2+x1)/2 * (y2-y1) 
   x1 = x2
   y1 = y2
wend
x2 = startx: y2=starty  // end point = start point
sum = sum + (x2+x1) * (y2-y1) / 2
shape polypoints=points, polycount=i, fillcolor=(255,128,128)
shape polygon
print: print "Area = ";sum