

円を並べてパターンを作ります。
円の大きさや間隔の値を変えると様々なパターンが生まれます。
ここで工夫したのは枠内に左右対称にパターンが配置されるようにしたことです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | %!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%Title:円のパターン /r 30 def % 円の半径 /step 30 def % 円と円の間隔 /h 120 r add def % 高さ(パターンが端で不完全にならないよう円の半径分足す) /w 120 r add def % 幅(パターンが端で不完全にならないよう円の半径分足す) % 幅・高さを間隔で割って余りをkx、kyに入れる(パターンを天地左右対称に囲みに入れるため) /kx w step mod def /ky h step mod def 120 120 translate % 座標の原点を中央に移動 newpath % パスの初期化 w neg step w { % -120から30づつ増やし120になるまで { }を繰り返す /dx exch def % 制御変数をdxに入れる h neg step h { % -120から30づつ増やし120になるまで { }を繰り返す /dy exch def % 制御変数をdyに入れる % dx,dyが中心の半径30の円を描く(kx、kyの余りを足して位置の調整) dx kx add dy ky add r 0 360 arc stroke } for } for |
コメント