10.7 The polygon command


Example: A simple polygon

In this simple example, we use Pyxplot’s polygon command to generate a geometric shape from a list of points.
points = [ [0,-1], [0, 1], [2, 2], [2,1], [8,1], $\backslash $
           [8,-1], [2,-1], [2,-2]]

polygon points with fillcol gray50 col black
\includegraphics[width=8cm]{examples/eps/ex_polygon1}


Example: The first eight regular polygons

This example uses Pyxplot’s flow control commands, together with its list methods and the polygon command, to generate a diagram of the first eight regular polygons.
rotate(a) = matrix( [cos(a), -sin(a)], $\backslash $
                    [sin(a),  cos(a)] )

subroutine makePolygon(Nsides, centre)
 {
  points = []
  for i=0 to Nsides
   {
    call points.append(centre + $\backslash $
       rotate(i/Nsides*unit(rev)) * vector(1,0))
   }
  polygon points with fillcol gray50 col black
 }

set nodisplay ; set multiplot

set texthalign center
set textvalign top

foreach datum x,y,Nsides,name in "–"
 {
  call makePolygon(Nsides,vector(x,y))
  text name at x,y-1.25
 }
0 0 3 Triangle
3 0 4 Square
6 0 5 Pentagon
0 4 6 Hexagon
3 4 7 Heptagon
6 4 8 Octagon
END

set display ; refresh
\includegraphics[width=8cm]{examples/eps/ex_polygon2}