モーラーローズまたはマウラーローズはバラの曲線上のいくつかの点を結ぶ線で構成されています。
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の値を変えると様々な図形ができます。
コメント