A polyline is a path that consists of one or more line segments joined consecutively at their end-points. A line is a polyline that has only one segment.
Polylines that have the end-point of their last line segment coincident with the start-point of their first line segment are called closed ; this use of the term "closed" should not be confused with closed sets of points.
A polygon is an area bounded by a closed polyline.
If the boundary of a polygon intersects itself, the odd-even winding-rule defines the polygon: a point is inside the polygon if a ray from the point to infinity crosses the boundary an odd number of times.
Polylines and polygons are closed under affine transformations.
The classes that correspond to polylines and polygons are:
polyline [Protocol Class]
Summary: The protocol class that corresponds to a polyline. It is a subclass of path . If you want to create a new class that behaves like a polyline, it should be a subclass of polyline . Subclasses of polyline must obey the polyline protocol.
Summary: Returns t if object is a polyline; otherwise, it returns nil .
Summary: The protocol class (a subclass of area ) that corresponds to a mathematical polygon. If you want to create a new class that behaves like a polygon, it should be a subclass of polygon . Subclasses of polygon must obey the polygon protocol.
Summary: Returns t if object is a polygon; otherwise, it returns nil .
Summary: A class that implements a polyline. This is a subclass of polyline . This is the class that make-polyline and make-polyline* instantiate. Members of this class are immutable.
Summary: A class that implements a polygon. This is a subclass of polygon . This is the class that make-polygon and make-polygon* instantiate. Members of this class are immutable.
Common Lisp Interface Manager 2.0 User's Guide - 7 Aug 2017