http://people.csail.mit.edu/jaffer/Marbling/Wavy-Lines

# Mathematical Marbling Wavy-Lines

The first mathematical marbling tutorial explained how to set up your own marbling sandbox and experiment with raking in straight lines.  Although straight raking is very common in marbling, it would be nice to be able to rake along curvy paths.  This could be done by breaking the curved paths into smaller straight sections, but it would take a long time to render the image.  Because of the mathematical properties of marbling, we can do something simpler: wave the marbling surface; rake straight through it; and then unwave the surface.

Click on the Bouquet.tex file to open it in the editor, and comment out most of the lines with the comment character `%` so that the `actions=` section looks like:

```      0 0 24 colors 36 concentric-rings
180 [ 20 50 -25 tines ] 40 200 31 rake
0 350 shift
%      0 270 0 -120 wiggle
%      180 [ -150 450 ] 40 200 31 rake
%      0 270 0 120 wiggle
%      0 270 0 120 wiggle
%      180 [ -450 150 ] 40 200 31 rake
%      0 270 0 -120 wiggle
```

Then Compile to produce a pattern with a dense downward rake like Nonpareil.tex

θ λ Ω S wiggle
Applies sinsusoidal wiggle with period λ and maximum displacement S to whole tank. With θ=0, a point at x,y is moved to x+S⋅sin(360⋅y/λ+Ω),y.

Uncomment the first "`0 270 0 -120 wiggle`" line so that it looks like this; then Compile:

```      0 0 24 colors 36 concentric-rings
180 [ 20 50 -25 tines ] 40 200 31 rake
0 350 shift
0 270 0 -120 wiggle
%      180 [ -150 450 ] 40 200 31 rake
%      0 270 0 120 wiggle
%      0 270 0 120 wiggle
%      180 [ -450 150 ] 40 200 31 rake
%      0 270 0 -120 wiggle
```

You should now see a wavy raking.  the white intrusion into the bottom of the right side is the background color; it will be pushed off of the visible surface when the marbling is un-wiggled.

Uncommenting two more lines rakes two tines downward, then un-wiggles the tank, leaving the effects of a wiggly raking.

```      0 0 24 colors 36 concentric-rings
180 [ 20 50 -25 tines ] 40 200 31 rake
0 350 shift
0 270 0 -120 wiggle
180 [ -150 450 ] 40 200 31 rake
0 270 0 120 wiggle
%      0 270 0 120 wiggle
%      180 [ -450 150 ] 40 200 31 rake
%      0 270 0 -120 wiggle
```

When you uncomment the remaining three rows and compile, you will see the well-known bouquet pattern. Although it looks as though tines were spaced apart and brought together while being raked downward, each of the two rakings involved tines with fixed spacing. Physical marblers also rake twice (with wiggle) to produce the bouquet pattern; it is not an artifact of mathematical marbling.

Most artistic mediums have constraints; artists develop technique to address and sometimes exploit those constraints. The constraints unique to mathematical marbling are the number of paint drops (versus patience) and tine paths which cross themselves. The examples in these tutorials don't drop more paint than needed to achieve the desired appearance. Always start with a smaller number of drops and increase if needed.

The pst-marble reference card gives brief descriptions of all the `actions=` commands.  The next installment in this tutorial series will demonstrate more mathematical marbling techniques.