PostScriptで同心円を描くその2。
線幅を中心から順次太くしてみましょう。
半径を20で割った値を線幅にして繰り返します。
1 2 3 4 5 6 7 8 9 10 11 |
[cc lang="postscript" tab_size=“4” lines="40" highlight="9"] %!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%Title:同心円を描く 120 120 translate % 座標の原点を中央に移動 newpath % パスの初期化 0 10 100 { % 0から10づつ半径を増やし100になるまで{ }内を繰り返す /r exch def % 制御変数をr(半径)に入れる 0 0 r 0 360 arc stroke % 円を描画 r 20 div setlinewidth % 半径を20で割った値を線幅にする } for[/cc] |
次は中心から線幅を順次細くしていきます。
線幅を増やしたり減らしたりする数式は色々と考えられます。
またこの数式の置き場所は描画した後に置かないと初期値が変わってしまう場合があります。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[cc lang="postscript" tab_size=“4” lines="40" highlight="5,9,12"] %!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%Title:同心円を描く 120 120 translate % 座標の原点を中央に移動 /lw 10 def % 線幅10をlwに入れる(線幅初期値) newpath % パスの初期化 0 10 100 { % 0から10づつ増やし100になるまで{}内を繰り返す /r exch def % 制御変数をr(半径)に入れる lw setlinewidth % 線幅をlwにする 0 0 r 0 360 arc stroke % 円を描画 /lw lw .8 sub def % lwから0.8を引いたものをlwに入れる } for[/cc] |
コメント