円を回転させながら小さくしていきます。
34-35行:三角関数で円の位置を計算しています。
37行:円の半径を少しづつ小さくしています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | %!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 720 720 %%HiResBoundingBox: 0 0 720 720 %%CropBox: 0 0 720 720 %%Title:円の移動 %%Creator:Studio Fruit Jam / Toyokazu Nishi %%Copyright:Studio Fruit Jam / Toyokazu Nishi %%CreationDate:2018年7月25日 水曜日午後3:47:06 % 参考:X1ターボ/X1シリーズ・プログラム200選 % 特選グラフィックスデザイン 畠中兼司・北尾和信共著 % ================ 座標変換 ================ 360 360 translate % 座標の原点を中央に移動 % ================ 背景 ================= /DeviceRGB setcolorspace % カラースペース設定 .917 .917 .863 setrgbcolor % 背景カラー設定 -360 360 720 -720 rectfill % 背景描画 % ====================== 初期値 /x 0 def /y 0 def % 円の初期位置 /r 320 def % 円の半径(変更可) /r2 20 def % 移動半径(変更可) /e { 0 360 } def % 円の開始角度と終了角度 /sw 1 def % 色変更スイッチ /c0 { .458 .522 .976 sethsbcolor } def % カラー1(変更可) /c1 { .617 .415 .831 sethsbcolor } def % カラー2(変更可) % ================================================ % メイン % ================================================ newpath % パスの初期化 0 6 r 3 mul { % 0から始めて6づつ増分し〜r*3まで{ }内を繰り返す /th exch def % 角度を取得 /x r2 th cos mul def % 円を移動する /y r2 th sin mul def x y r e arc % 円を引く /r r 2 sub def % 円の半径を次第に小さくする % swが1の時カラー1で塗る。それ以外はカラー2で塗る sw 1 eq { c0 } { c1 } ifelse fill /sw sw neg def % swを反転する } for |
コメント