Primitive shapes

Primitive Shapes
Ultimately the only shape that Context Free/CFDG knows how to draw are squares, circles, triangles, or fills. Whenever CF encounters a primitive shape in a shape rule it draws it immediately. The sizes of these three shapes are:
 * Squares are unit squares. If two squares are drawn one unit apart in x or y then that will be drawn edge-to-edge.
 * Circles are unit circles. They have the same diameter as the side of a square.
 * Triangles are unit triangles. The have the same side length as squares.
 * Fills draw on the entire canvas

Here is what the primitive shapes look like with respect to each other:



As a guide for manipulating shapes in Context Free/CFDG, the following illustration highlights some key coordinates&mdash;relative to the current transformation matrix&mdash;of the SQUARE, CIRCLE, and TRIANGLE primitives: