レヴィ曲線

座標系の方を回転と伸縮させながら描くバージョン。
処理系がどう実装されているのかわかってないけど、けっこう富豪な書き方なんじゃないだろうか。
ちなみに、冒頭に書いてある数字(ここでは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