もう少し桜らしく ~信号処理で花を描く~その2
2017年1月28日 (土) 投稿者: メディア技術コース
みなさん、こんにちは、
少し前に、信号処理ソフト Scilab を使って花を描くお話を書きました。
そのとき、桜の花をもう少し本物らしくしたいと思った人もいると思います。
今日は、その方法を紹介しましょう。
花を描くには、中心からの長さとx軸からの角度で座標を表す極座標プロットを使います。
花は円周方向に規則的な形をしていますから、まず、0から2πラジアンまでの角度を作ります。πの256分の一の刻みでつくってみます。
omega = 0 : %pi / 256 : 2 * %pi ;
前回は次の式を使って中心からの半径方向の距離を角度に依存して作りました。
rc = 0.5 + 0.5 * sin( 5 * omega ) + 0.1 * sin( 15 * omega ) ;
そして、次の極座標プロットで花を描いたのです。
polarplot( omega , rc ) ;
これを通常の2次元平面でプロットするには
plot( omega , rc ) ;
とすればよいわけなのですが、角度とともに半径方向の距離がどう変わるかを見てみましょう。
これは、1周2πで5回振動する正弦波とその3倍の15回振動する正弦波を足し合わせたものなので、花びらの付け根にあたるところでも振動が現れてしまいます。3倍の振動は3倍波と呼ばれていることは、前回もご紹介しました。
そこで、この3倍波のほうに5回振動をかけ合わせれば、下のほうで振動が現れなくなるはずです。早速やってみましょう。
re = 0.5 * ( 1 + sin( 5 * omega ) ) + 0.3 * ( sin( 15 * omega ) .* ( 0.5 + 0.5 * sin( 5 * omega ) ) ) ;
さて、どんな振動になるでしょうか?
plot( omega , re ) ;
それが次の図です。
このようなものを上のほうを押し縮めるにはどうすればよいでしょうか?平方根(2乗根)の関数を使うと先を縮められそうですが、もっと極端に縮めてみましょう。6乗根を試してみましょう。
re6 = re .^ ( 1 / 6 ) ;
によって計算できます。これを極座標表示するには次のようにすればいいです。
polarplot( omega , re6 ) ;
これで次のような図が表示されます。
「在学生向け」カテゴリの記事
- チュラロンコン大学からのインターン学生との再会(2019.03.14)
- あにめたまご2019「文化庁若手アニメータ等人材育成事業」(2019.03.12)
- タイの提携校、キンモンクット大学トンブリに短期訪問しませんか?(2019.03.11)
- 学会紹介:ADADA Japan学術大会と情報処理学会EC2019(2019.03.09)
- 大学院授業:プロシージャルアニメーション特論の紹介(2019.03.08)
「高校生向け」カテゴリの記事
- チュラロンコン大学からのインターン学生との再会(2019.03.14)
- 大学院授業:プロシージャルアニメーション特論の紹介(2019.03.08)
- ゲームの学会?!(2019.03.07)
- 香港理工大学デザイン学部の紹介(2019.03.04)
- 香港理工大学デザイン学部を訪問し、学部長Lee先生にお会いしました!(2019.03.03)
「おもしろメディア学」カテゴリの記事
- 【研究紹介】お城を数値で作り上げる!:日本城郭のプロシージャルモデリング(2019.01.22)
- 【研究紹介】プロジェクションマッピングはエンタメだけじゃない!プロジェクションマッピングによる動作支援(2019.01.15)
- 高大連携企画・映像制作ワークショップを開催しました(2019.01.14)
- 【再掲】世にも恐ろしい本当にあった話...(からぁ~の,エール!)(2019.01.09)
- 【研究紹介】”匂い”で季節感を感じさせることはできるか?(2019.01.06)