

モーラーローズまたはマウラーローズはバラの曲線上のいくつかの点を結ぶ線で構成されています。
nとdの値をそれぞれ変えると様々な図形ができます。
k=th*d
r=sin(n*d*th)
x=r*cos(k)
y=r*sin(k)
パラメーター例:n=1,d=69 n=2,d=39 n=3,d=47 n=2,d=29
n=3,d=17 n=4,d=31 n=5,d=97 n=6,d=71 n=7,d=19
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | %!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%Title:Maurer Rose(モーラーローズ)を描く /n 6 def % 花弁数 /d 71 def % 度 /en 120 def % 図形拡大のため 0 0 240 240 rectfill % 黒背景 120 120 translate % 座標の原点を中央に移動 newpath % パスの初期化 0 1 360 { % 0から1づつ増分し360まで{ } 内を繰り返す /th exch def % 制御変数をth(角度)に入れる % モーラーローズの数式 /k th d mul def % /r n d mul th mul sin def /x r k cos mul en mul def /y r k sin mul en mul def % thが0なら始点を置き、さもなくば線を引く th 0 eq { x y moveto }{ x y lineto } ifelse } for 1 0 0 setrgbcolor % 赤色 .5 setlinewidth % 0.5ポイント線幅 stroke % 線を描画 |
やってみよう nの値を変えると様々な図形ができます。

コメント