## Rendering a Recursive Stroke

Rendering a recursive stroke explicitly by determining the resultant geometry is in general impossible. Since a recursive stroke is equivalent to an IFS (Iterated Function System) code (with a condensation set if objects other than itself are present in the definition)[3,4,5,6], the attractor is often a fractal with a fractal dimension less than 2. We therefore have to resort to one of the approximation methods for rendering these fractals. The Escape Time Algorithm [4] would result in a clean and sharp image while the Measured Rendering Algorithm[4,5,6] would give a quick but rough image of the attractor. Here, the decision on which algorithm and level of accuracy to use is left to the discretion of the user. Some sample recursive strokes are shown in Figure 9. One interesting point that is worth a small remark if the Escape Time Algorithm is used: after recurring to a certain stage, something must be drawn out by the system. In our system, this something can be specified by the user to be any arbitrary skeletal stroke. This technique is particularly handy for drawing plants and scattered objects. Furthermore, we could waive the contractive requirement of the transformations (the sub-strokes, in our case) as we are using the IFS to draw pictures but not to encode pictures.

Figure 10: Recursive stroke. (a) A pure recursive stroke defined in terms of 3 instances of itself. On application, it gives a Sierpinski triangle. The stroke can be deformed just like any other stroke. (b) A recursive stroke defined in terms of 2 instances of itself and 2 polygons. The stroke application has recurred to 5 level deep and a terminal stroke of a flower is drawn at the last level. (The flower has been anchored to retain its aspect ratio).

Figure 10: Recursive stroke. (a) A pure recursive stroke defined in terms of 3 instances of itself. On application, it gives a Sierpinski triangle. The stroke can be deformed just like any other stroke. (b) A recursive stroke defined in terms of 2 instances of itself and 2 polygons. The stroke application has recurred to 5 level deep and a terminal stroke of a flower is drawn at the last level. (The flower has been anchored to retain its aspect ratio).