So-net無料ブログ作成

generalized regular bifoliumカーブを描いてみよう [PostScript]

曲線を描く


generalized_regular_bifolium2.png
訳すると一般化されたレギュラーな二葉?
パラメータによっては昆虫のようにも見えます。
歯の先端をスムースにするため増分値を0.2としています。

r=sin(b*th)^a*cos(th)
参考:generalized regular bifolium

【サンプルコード】
%!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%Title:generalized regular bifoliumを描く /a 1 def % パラメータ /b 4 def % パラメータ /en 120 def % 図形の拡大 0 0 240 240 rectfill % 黒背景 20 120 translate % 図形を中央に移動 newpath % パスの初期化 0 .2 360 { % 0から始めて360まで0.2づつ増分し{ }内を繰り返す /th exch def % 制御変数をth(角度)に入れる % generalized regular bifoliumの数式 /r b th mul sin a exp th cos mul en mul def /x r th cos mul def /y r th sin mul def % thが0なら始点を置き、さもなくば線を引く th 0 eq { x y moveto } { x y lineto } ifelse } for closepath % 線を繋ぐ 1 0 0 setrgbcolor % 赤色 2 setlinewidth % 線幅2ポイント stroke % 線を描画

generalized_regular_bifolium.png
バリエーションです。aの値を偶数にすると片葉になります。

【サンプルコード】
%!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%Title:generalized regular bifoliumを描く /a 2 def % パラメータ /b 12 def % パラメータ /en 120 def % 図形の拡大 0 0 240 240 rectfill % 黒背景 20 120 translate % 図形を中央に移動 newpath % パスの初期化 0 .2 360 { % 0から始めて360まで0.2づつ増分し{ }内を繰り返す /th exch def % 制御変数をth(角度)に入れる % generalized regular bifoliumの数式 /r b th mul sin a exp th cos mul en mul def /x r th cos mul def /y r th sin mul def % thが0なら始点を置き、さもなくば線を引く th 0 eq { x y moveto } { x y lineto } ifelse } for closepath % 線を繋ぐ 1 0 0 setrgbcolor % 赤色 2 setlinewidth % 線幅2ポイント stroke % 線を描画

generalized_regular_bifolium_eps.png

タグ:PostScript
nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:アート

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

トラックバックの受付は締め切りました