レヴィ曲線
座標系の方を回転と伸縮させながら描くバージョン。
処理系がどう実装されているのかわかってないけど、けっこう富豪な書き方なんじゃないだろうか。
ちなみに、冒頭に書いてある数字(ここでは15)が再帰のレベル数。この数を変えると形が変わる。
%!PS-Adobe-3.0 15 /l 2 sqrt def /s 1 l div def /cline { dup 0 eq { pop 300 0 rlineto } { 1 sub dup s s scale 90 rotate cline -90 rotate cline l l scale } ifelse } def newpath 150 500 moveto cline stroke showpage
おまけ
同様に座標系の回転を使って、3歩進んで1度曲がるを繰り返して描いた円。
%!PS-Adobe-3.0 newpath 300 300 moveto 1 1 360 { 3 0 rlineto 1 rotate } for stroke showpage