An ellipse is an area that is the outline and interior of an ellipse. Circles are special cases of ellipses.
An elliptical arc is a path consisting of all or a portion of the outline of an ellipse. Circular arcs are special cases of elliptical arcs.
An ellipse is specified in a manner that is easy to transform, and treats all ellipses on an equal basis. An ellipse is specified by its center point and two vectors that describe a bounding parallelogram of the ellipse. The bounding parallelogram is made by adding and subtracting the vectors from the center point in the following manner:
The special case of an ellipse with its axes aligned with the coordinate axes can be obtained by setting dx 2 and dy 1 to 0, or setting dx 1 and dy 2 to 0.
Note that several different parallelograms specify the same ellipse, as shown here:
Summary: The protocol class that corresponds to a mathematical ellipse. This is a subclass of area . If you want to create a new class that behaves like an ellipse, it should be a subclass of ellipse . Subclasses of ellipse must obey the ellipse protocol.
Summary: The protocol class that corresponds to a mathematical elliptical arc. This is a subclass of path . If you want to create a new class that behaves like an elliptical arc, it should be a subclass of elliptical-arc . Subclasses of elliptical-arc must obey the elliptical arc protocol.
Summary: An instantiable class that implements an elliptical arc. This is a subclass of elliptical-arc . This is the class that make-elliptical-arc and make-elliptical-arc* instantiate. Members of this class are immutable.
Common Lisp Interface Manager 2.0 User's Guide - 7 Aug 2017