ずっと昔にさいとーくんがある定理を紹介していた.間違っていなければ次の通り.
$f_1,...,f_r$を$\mathbb{R}^n$から$\mathbb{R}^n$への写像であって,ある$r_i < 1$に対して$\lvert f_i(x) - f_i(y)\rvert = r_i\lvert x - y\rvert$を満たすものとする.このとき任意の空でないコンパクト集合$K$に対して,$K_s$を$K_1 = K$,$K_{s + 1} = \bigcup_i f_i(K_s)$により帰納的に定めると,$\{K_s\}$は$K$によらないある集合に収束する.(自己相似図形になり,そのハウスドルフ次元はそれっぽい値になる.)
収束は次の距離で定義する.空でないコンパクト集合$K$に対して,$K[r]$を$K$を$r$だけ膨らませたもの,つまり$K[r] = \{x\in\mathbb{R}^n\mid \exists y\in K\ \lvert x - y\rvert < r\}$と定め,$d(K_1,K_2) = \inf\{r\mid K_1\subset K_2[r],K_2\subset K_1[r]\}$と定義すると,これは距離を定める.この距離に関して完備距離空間となり,$K\mapsto \bigcup_i f_i(K)$が縮小写像になって固定点が存在するとかいう証明だったと思う.
というわけで,$K\mapsto \bigcup_i f_i(K)$を図示するWindowsプログラムを昔書いてみたのだが,それがふとHDDから出てきた.久しぶりに遊んでみようと思ったのだが,ソースも結構ひどいので,HTMLで書き直してみた.とりあえず「変換」を押してみるとコッホ曲線に収束するようにしてある.上のところはお絵かき仕様になっていて,適当な絵を書いてみて変換を押し続けてもやっぱりコッホ曲線になる.下の関数をいろいろといじってみるとほかのフラクタル図形もできるはず.(結構作るのが面倒だけど……)
ソースはわりと適当です.お絵かき部分はここのをコピペしただけだし,数式のパースも昨日何となく書いただけなので割と適当.sin/cos/tan/log/exp/sqrtが使えるはずです.
0 件のコメント:
コメントを投稿
コメントの追加にはサードパーティーCookieの許可が必要です