【多角形-3】円周上の点を結んでみよう

円周上の点を結んだ図形を描いてみましょう。
このプログラムで1つ問題があります。
それは同じ線が2回引かれることです。
各頂点から他頂点に線を引いているので、どうしてもダブってしまいます。
ビットマットグラフィックスでは上書きされるので、問題ないですが PostScriptでは線が重なってしまいます。
見た目的には問題ないですが、何か引っかかります。

やってみよう 始点半径と終点半径のsとeの値を変えると様々な図形ができます。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 0 0 240 240
%%Title:円周上の点を結ぶ
/s 100 def % 始点半径
/e 100 def % 終点半径
/n 12 def % n角形
/k 360 n div def % 角度
120 120 translate % 座標の原点を中央に移動

newpath % パスの初期化
0 k 360 k sub { % 始点
    /ths exch def % 制御変数をths(角度)に入れる
     0 k 360 k sub { % 終点
        /the exch def % 制御変数をthe(角度)に入れる
        /x0 s ths cos mul def % x0座標を求める
        /y0 s ths sin mul def % y0座標を求める
        /x1 e the cos mul def % x1座標を求める
        /y1 e the sin mul def % y1座標を求める
        x0 y0 moveto   x1 y1 lineto stroke % 始点、終点間の線を描く
    } for
} for

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次