【円弧-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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
%%CropBox: 0 0 720 720
%%Title:三日月形の回転
%%Creator:Studio Fruit Jam / Toyokazu Nishi
%%Copyright:Studio Fruit Jam / Toyokazu Nishi
%%CreationDate:2018年8月3日 金曜日午前10:36:30

% ================ 座標変換 ================
360 360 translate % 座標の原点を中央に移動

% ====================== 初期値
/step 5 def % 円と円の間隔(整数・変更可)
/rotnum 360 step idiv def % 回転数
/r 170 def % 円の半径(変更可)
/x 170 def % 円の初期位置(変更可)
/y 0 def % 円の初期位置
/DeviceRGB setcolorspace % カラースペース設定
/c1 { 0.36862 0.51372 1 setrgbcolor } def % 青系の色
/c2 { 1 0.61568 0.17647 setrgbcolor } def % オレンジ系の色

/en { % 円の描画プロシージャ
  gsave
  x y r 0 180 arc % 円弧を引く
  1 1.045 scale % 少し楕円にして始点終点を上と同じにすると繋がる
  x y r 180 0 arcn % 時計回りの円弧を引く
  closepath fill % パスを閉じて塗りつぶす
  grestore
} def

% ================ 背景 =================
c2 -360 360 720 -720 rectfill

% ================================================
%  メイン
% ================================================
c1
newpath
rotnum { % rotnum回、繰り返し
  step rotate en % step度回転して円を描画
} repeat

応用例