
CONVEX HULLName:
<SUBSET/EXPCEPT/FOR qualification> where <y> is a variable containing the ycoordinates of the full data set; <x> is a variable containing the xcoordinates of the full data set; <y2> is a variable that will contain the ycoordinats of the returned convex hull; <x2> is a variable that will contain the xcoordinats of the returned convex hull; and where the <SUBSET/EXCEPT/FOR qualification> is optional.
LET Y2 X2 = CONVEX HULL Y X SUBSET X > 0 SUBSET Y > 0
W. F. Eddy (1977), "Algorithm 523: CONVEX, A New Convex Hull Algorithm for Planar Sets", ACM Transactions on Mathematical Software (TOMS), Vol. 3, No. 4, pp. 411412. O'Rourke (1998), "Computational Geometry in C", Second Edition, Cambridge Unversity Press, Chapter 3.
. Following data from Eddy'w ACM article read x y 2.0 0.0 1.73 1.0 1.0 1.73 0.0 2.0 0.1 0.1 1.0 1.73 0.2 0.2 1.73 1.0 0.3 0.3 0.0 2.0 0.4 0.4 2.0 0.0 0.5 0.5 1.73 1.0 0.6 0.6 1.0 1.73 0.7 0.7 1.73 1.0 0.8 0.8 1.0 1.73 end of data . let y2 x2 = 2d convex hull y x let n = size y let id = sequence 1 1 n . title case asis title offset 2 title Convex Hull y1label Y x1label X tic offset units screen tic offset 3 3 x3label . character automatic id line blank all . plot y x id line so line color blue char blank all preerase off limits freeze presort off let n2 = size y2 let n2 = n2 + 1 let y2(n2) = y2(1) let x2(n2) = x2(1) plot y2 x2
Date created: 10/15/2008 