« ポリゴン・ピクチュアズ山森氏の出張講義 | トップページ | Introduction to Exchange Activities with Chulalongkorn University, Thailand »

おもしろメディア学 ~信号処理で花を描く~

|

みなさん、こんにちは、

 
今日は、信号処理ソフトを使って花を描いてみましょう。
フリーで使える信号処理ソフト Scilab  をインストールしてください。
この関数として、中心からの距離とx軸からの角度によってグラフを描くpolarplotというものがあります。これを使ってみましょう。花びらは中心から円周方向に規則的に花びらがついています。角度に応じて距離を変えて曲線を描画することを考えます。
まず、角度をラジアンとして0から2πまで用意します。scilabで
omega = 0 : %pi / 256 : 2 * %pi ;
で作れます。0から2πラジアンまでπの256分の1の刻みで角度の値の列ができます。
まず、花びらが4枚のアブラナを作ってみましょう。円1周で4回半径が増減すればよいので、次のように半径を作ってみます。
rb = 0.5 + 0.5 * sin( 4 * omega ) ;
正弦関数のsinを使っています。omegaが数値の並びなので、rbは数値の並びになります。rbの値は0から1までの間を増えたり減ったりします。
これを半径とし、角度と半径の組で次の極座標プロットをしてみましょう。
polarplot( omega , rb ) ;
そうすると、次のような図が表示されます。

Aburana

                    図1 アブラナの極座標プロット

 

それでは、他の花も描いてみましょう。

桜の花びらは5枚で、先がすこしへこんでいますね?これには、1周で5回周期的変化をするsinとその3倍の速さで変化するsinを組み合わせることにより作れます。半径が一番大きくなったところで、ちょっとへこませてあげればいいわけです。次のようにします。

rc = 0.5 + 0.5 * sin( 5 * omega ) + 0.1 * sin( 15 * omega );
polarplot( omega , rc ) ;
専門的に言うと、3倍の高調波を足し合わせていることになります。
さて、図はどうでしょうか?

Sakura

                    図2 桜の花の極座標プロット

 

桜の花みたいになりました。

次にコスモスを描いてみましょう。コスモスの花びらは8枚で、もっと先がギザギザしています。まず、1周に8回半径を増減させ、それに3倍の変動を加えて桜の花と同様ちょっとへこませ、さらに5倍の速さで変動する高調波を加えてみましょう。

rd = 0.5 + 0.5 * sin( 8 * omega ) + 0.15 * sin( 24 * omega ) + 0.1 * sin( 40 * omega ) ;

polarplot( omega , rd ) ;

1周で8回の変動をするsinとその3倍の24回変動するsinと8の5倍の40回変動するsinを足し合わせています。さて、結果は?

Cosmos

                    図3 コスモスの極座標プロット

 

コスモスらしい花ができました。もうすこし花びらの幅があったほうがいいですね。みなさんもいろいろな花を描いてみてください。

 

相川 清明

おもしろメディア学」カテゴリの記事

在学生向け」カテゴリの記事

高校生向け」カテゴリの記事

« ポリゴン・ピクチュアズ山森氏の出張講義 | トップページ | Introduction to Exchange Activities with Chulalongkorn University, Thailand »