カオスの2次元モデル
上記では説明しませんでしたが、カオスの2次元モデルは、非常に美しい図形を描きます。本稿では、これを採り上げ、プログラムを紹介します。
エノン(Henon)写像
1931年にパリで生まれたフランスの数学者で天文学者のMichele Henonが1969年に発表したもので、
において、特にに興味を示しました。この式においてとすると、
となり、原点を中心に、単に角度だけ回転させる写像(Mapping)を意味します。
本稿では、の場合の他に、、、などの関数も試みました。
参考資料によっては、上式の代わりに、計算が容易で等価な
を使っているものがありますが、本稿では、原理が分かりやすい基本形にこだわってみました。
グモウスキー(Gumowski)とミラ(Mira)の写像
ジュネーブのCERN(ヨーロッパ原子力研究センター)で核物理学の研究をしていた、フランスの数学者で科学者のI. GumowskiとC. Miraは、
において、特にが美しい図形を描くことを1980年に発表しました。
本稿では、この他にとの場合についても調べてみました。
資料によっては、上記よりやや複雑な
もグモウスキー・ミラ写像と称しますが、図形の美しさという観点からは、大差がないようです。
プログラムの概要
カオス図形の大体の形状は、パラメータαやaによって決まりますが、詳細は、xとyの初期値で決まります。初期値は、乱数で一定の数だけしか与えませんので、描画の度に図形の詳細が変わります。したがって、最も美しい図形を得るために、何回でも描画を試みられるように[再描画]ボタンを設けました。
これから述べる内容は、プログラムの大要を作成してから、多くの試行錯誤を繰返して得た結果です。
初期値の種類を減らすと、まばらな線画状になり、線の美しさを楽しむことができますが、場合により寂しい図形になります。種類を増やし過ぎると、折角の綺麗な線の上に別の線を上書きすることになり、汚くなる上に、時間もかかります。
エノン写像は、どちらかと言えば面で楽しみますので、x とyの初期値の種類を多めに採り、細かく図形を塗りつぶしています。グモウスキー・ミラ写像は、線で楽しむため、初期値の種類を減らして、線を見やすくしています。
x とyの初期値が大きいと、図形が大きくなる傾向があります。初期値の範囲は、参考資料に依りました。
写像の繰返し回数を減らすと、曲線が点の集まりになりますので、繰返し回数は最低でも10000回は欲しいところです。しかし、繰返し回数を増やすと時間がかかる欠点がありますので、初期値の種類が多いエノン写像では、5000回に減らしています。
以上をまとめると、下表のようになります。
エノン写像 | グモウスキー・ミラ写像 | |
xとyの初期値の種類 | 80 | 20 |
xとyの初期値の範囲 | -1 ~ 1 | -20 ~ 20 |
パラメータα(またはa)の初期値 | 0.5π | 0 |
パラメータの可変範囲(分解能) | 0 ~ π (0.01π) | -1 ~ 1 (0.01) |
写像繰返し回数 | 5000 | 10000 |
図形描画範囲 | -1.6 ~ 1.6 | -40 ~ 40 |
特に着色方法について
x とyの初期値が原点から離れる距離(x*x+y*y
で代用)に対して色相環を対応させました。数値を色に変換するメソッドchangeToColor
は、HSBカラーを生成するJava APIを使用し、彩度(Saturation)と明度(Brightness)は最大に固定し、色相(Hue)のみを数値に対応させました。
x*x+y*y
の代わりに、x+y
や偏角atan(y/x)
などを試みましたが、結果はほとんど変わりませんでした。カオスの本質として、図形が初期値にあまり依存しないので、当然かもしれません。しかし、参考資料に見られた、写像の繰返し回数と色を対応させる方法は、良い結果が得られませんでした。