So-net無料ブログ作成
検索選択

リマソンを描いてみよう [PostScript]

曲線を描く


リマソン.png
リマソン(蝸牛形)と言われる曲線です。
パラメータを調整し、-90度回転させてNTTロゴのダイナミックループに似せてみました。
微妙に違いますけど。

x=c*k*cos(th)+a*cos(2*th)
y=c*k*sin(th)+a*sin(2*th)

NTTロゴの生まれる経緯についてはこちらのブログにあります。
中西元男 実験人生: NTT真藤総裁&社長(想い出の名経営者1)
おやおや、よく調べるとロゴの原案は飯守恪太郎氏とのこと
企業ロゴの第一人者、飯守恪太郎氏はNTTロゴの発案者

【サンプルコード】
%!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%Title:Limason(リマソン/蝸牛形)を描く /a 60 def % パラメータ /k 10 def % パラメータ /c 5 def % パラメータ 0 0 240 240 rectfill % 黒背景 120 120 translate % 座標の原点を中央に移動 newpath % パスの初期化 0 1 360 { % 0から1づつ増分し360まで{ }内を繰り返す /th exch def % 制御変数をth(角度)に入れる % リマソンの数式 /x c k mul th cos mul a 2 th mul cos mul add def /y c k mul th sin mul a 2 th mul sin mul add def % thが0なら始点を置き、さもなくば線を引く th 0 eq { x y moveto} { x y lineto } ifelse } for 1 1 1 setrgbcolor % 白色 2 setlinewidth % 線幅2ポイント stroke % 線を描画

リマソン2.png
cパラメータを増分させてリマソンを拡大します。

【サンプルコード】
%!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 0 0 240 240 %%Title: Limason(リマソン/蝸牛形)を描く /a 60 def % パラメータ /k 10 def % パラメータ 0 0 240 240 rectfill % 黒背景 120 120 translate % 座標の原点を中央に移動 newpath % パスの初期化 0 1 5 { % 0から1づつ増分し5まで{ }内を繰り返す /c exch def % 制御変数をcに入れる 0 1 360 { % 0から1づつ増分し360まで{ }内を繰り返す /th exch def % 制御変数をth(角度)に入れる % リマソンの数式 /x c k mul th cos mul a 2 th mul cos mul add def /y c k mul th sin mul a 2 th mul sin mul add def % thが0なら始点を置き、さもなくば線を引く th 0 eq { x y moveto} { x y lineto } ifelse } for } for 1 1 1 setrgbcolor % 白色 2 setlinewidth % 線幅2ポイント stroke % 線を描画

aとkの値を変えています。
リマソン3.png

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

nice! 0

コメント 0

コメントを書く

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

トラックバック 0

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