Similar to caligraphy and thicken_cubic but thickens the curves by defining the offset curves and then draws a set of line paths close together to give the appearance of being painted. A simple curve transformed to XML in the usual way might have the following as a set of transformations.

java -jar saxon6.jar  -o t5.xml t4.xml    library/curve_length.xsl
java -jar saxon6.jar  -o t6.xml t5.xml    library/path_length.xsl
java -jar saxon6.jar  -o t7.xml t6.xml    library/break_cubic.xsl
java -jar saxon6.jar  -o t8.xml t7.xml    library/break_cubic.xsl
java -jar saxon6.jar  -o t9.xml t8.xml    library/break_cubic.xsl
java -jar saxon6.jar  -o t10.xml t9.xml   library/break_cubic.xsl
java -jar saxon6.jar  -o t11.xml t10.xml  library/paint_cubic.xsl thick=5 strokes=2
java -jar saxon6.jar  -o paintedcubic.svg   t11.xml  library/back_to_svg.xsl mode=abs

Each curve is split into 16 parts and then painted. In this case, the parameter, thick=5 defines the distance from the curve of the offset curves and strokes=2 indicates the number of strokes on either side of the central curve. Following the line drawing is an attempt to simulate the paint drying by filling in the area. Again, the transformation is mainly a template to be used for any similar effect.

path_length is used to get the length of the curve.

Start the animation by clicking the cyan circle.

No SVG Support

Figure 22.1: Examples of paint_cubic drawing

The four curves are:

  • green: thick=5 strokes=2
  • blue: thick=10 strokes=4
  • red: thick=10 strokes=2
  • brown: thick=10 strokes=6