ソースプログラムを覗いてみよう!! |
収束・発散回数で色を変えて表示します。
例題は白黒ですが、カラフルな色に変えてみましょう。
単純なコッホ曲線ではつまらないので、
色鮮やかにしてみました。
再帰的手続きで3種類の植物を描く例です。
メンガーのスポンジ描画のVB.net版です。
先頭の前面の色を変えたバージョン(内部と表面が区別できる)
BitMapに描いてイメージを移すバージョン(描画が高速化できる)
描画の過程は観察できませんが、描画速度は速くなります。
ポテンシャル関数としてレナード・ジョーンズ・ポテンシャルを使っています。
解説については拙著 「ExcelとVBAによる実用数値解析入門」
の9.3節(4)を参照してください。
System.Numericsをインポートすれば複素数を使うことができますが、
ユーザ定義の演算子の定義例を示すため、敢えて複素数演算を定義しています。
反復関数系でぶどうの葉に似た形を描きます。
自然ぽい絵になっているかと思います。
反復関数系を色々変えてみましょう。
【場所によって色を変えるバージョン】
円の中にさらに円を描いて自己相似形を描きます。
【3分割のプログラムソース】
【4分割のプログラムソース】
【6分割のプログラムソース】
【分割数を指定する】
タイプ 3分割 4分割 6分割 1 2
以下は【分割数を指定する】バージョンで3〜14を指定してタイプ2を連続表示したものです。
μパラメータの変更で目まぐるしく絵が変わる様子をお楽しみください
ここでは「絶縁粒子中に電導性粒子が何%を占めると電導性を持つようになるか」
という混合物質の電導性推定問題をとりあげます。
ストレンジアトラクタを3D表示します。
ロジスティック写像を描画します。
昔は線画で描いて遊んだものですが、カラーにしました。
ぼかしの処理も入れてギャザを目立たなくなるようにしています。
プログラミング言語入門の描画例題として、頻繁に取り上げられる
ダイアモンド・パターンですが、黒色の線画では面白くないので、
色付きにしました。
角数も変化させてアニメ風にしてみました。
20角形の場合 30角形の場合
直線の集合の包絡線形状を回転させます。
30度 60度 90度 120度
日本ではあまり有名ではありませんが、
世界の数学者からは非常に評価されている
世界最古のカオス、ジャパニーズアトラクタ
またの名を上田アトラクタを紹介します。
上図はθ=2πのときだけを描いたものですが、
すべての点を表示すると下図のようになります。
四元数の関数定義例です。
ランダムな地形を生成します。
以下は、負の標高値をゼロの標高値にすることで、
海上や湖上の島、平原上の丘のような景観の地形を生成するバージョンです。
なお、バージョンアップに伴って負の標高値の場合の色調も変化させました。
【島や丘を生成する】
以下は、色マップを表示して、手前から見えない場所も
確認できるようにしたバージョンです。
【色マップを表示する】
上記を色マップで表示した例です。