Aller au contenu principal

ドラゴン曲線


ドラゴン曲線


ドラゴン曲線(ドラゴンきょくせん、英語: Dragon curve)とは、L-system(リンデンマイヤー・システム)のような再帰法を用いて構成することの出来る、ある自己相似性フラクタルの族に含まれている曲線のことを言う。

ヘイウェイ・ドラゴン

ヘイウェイ・ドラゴンハーター・ヘイウェイ・ドラゴンあるいはジュラシック・パーク・ドラゴンとも呼ばれる)は、NASAの物理学者のジョン・ヘイウェイ、ブルース・バンクスおよびウィリアム・ハーターによって初めて研究され、1967年、雑誌『サイエンティフィック・アメリカン(Scientific American)』のマーティン・ガードナーによるコラム「数学ゲーム(Mathematical Games」で紹介された。その性質についてはチャンドラー・デイビスとドナルド・クヌースによって初めて出版化された。マイケル・クライトンの小説『ジュラシック・パーク』の節ごとのタイトルページで使用されている。

構成方法

ヘイウェイ・ドラゴンは、

  • 角度 90°
  • 初期文字列 FX
  • 文字列書き換え規則
    • X {\displaystyle \rightarrow } X+YF+
    • Y {\displaystyle \rightarrow } FXY.

であるようなL-systemにより構成することが出来る。

また、次のような手順で描くことが出来る: 基本となる線分から始めて、各線分を「直角をなすような二つの線分」によって置き換える。ただし置き換える際に線分を回転させる方向は、右、左…と交互になるようにする。

ヘイウェイ・ドラゴンは次のような複素平面における反復関数系の極限集合でもある:

f 1 ( z ) = ( 1 + i ) z 2 {\displaystyle f_{1}(z)={\frac {\left(1+i\right)z}{2}}}
f 2 ( z ) = 1 ( 1 i ) z 2 {\displaystyle f_{2}(z)=1-{\frac {\left(1-i\right)z}{2}}}

ここで、点の初期集合は S 0 = { 0 , 1 } {\displaystyle S_{0}=\{0,1\}} とする。

実数のペアを用いれば、これは次のような二つの関数

f 1 ( x , y ) = 1 2 [ cos 45 sin 45 sin 45 cos 45 ] [ x y ] 1 2 [ 1 1 1 1 ] [ x y ] , {\displaystyle f_{1}(x,y)={\frac {1}{\sqrt {2}}}{\begin{bmatrix}\cos 45^{\circ }&-\sin 45^{\circ }\\\sin 45^{\circ }&\cos 45^{\circ }\end{bmatrix}}{\begin{bmatrix}x\\y\end{bmatrix}}\equiv {\dfrac {1}{2}}{\begin{bmatrix}1&-1\\1&1\end{bmatrix}}{\begin{bmatrix}x\\y\end{bmatrix}},}
f 2 ( x , y ) = 1 2 [ cos 135 sin 135 sin 135 cos 135 ] [ x y ] + [ 1 0 ] 1 2 [ 1 1 1 1 ] [ x y ] + [ 1 0 ] {\displaystyle f_{2}(x,y)={\frac {1}{\sqrt {2}}}{\begin{bmatrix}\cos 135^{\circ }&-\sin 135^{\circ }\\\sin 135^{\circ }&\cos 135^{\circ }\end{bmatrix}}{\begin{bmatrix}x\\y\end{bmatrix}}+{\begin{bmatrix}1\\0\end{bmatrix}}\equiv {\dfrac {1}{2}}{\begin{bmatrix}-1&-1\\1&-1\end{bmatrix}}{\begin{bmatrix}x\\y\end{bmatrix}}+{\begin{bmatrix}1\\0\end{bmatrix}}}

とも等しい。Apophysisのようなソフトウェアでは、こちらの表現の方が一般的に使われている。

次元

  • その奇妙な外観にかかわらず、ヘイウェイ・ドラゴン曲線の次元は単純なものである。
  • その表面(surface)も単純である。初期線分が 1 と等しいなら、その表面は 1 2 {\displaystyle \textstyle {\frac {1}{2}}} と等しくなる。この結果は、曲線が敷き詰められていく性質に起因する。
  • その境界の長さは無限大である。なぜならば、反復が行われる毎に係数 2 {\displaystyle {\sqrt {2}}} によって増大していくからである。
  • ヘイウェイ・ドラゴン曲線は、自分自身とは決して交わらない。
  • ヘイウェイ・ドラゴン曲線には多くの自己相似性が見られる。もっとも分かりやすいものは、45° の傾きと減少率 2 {\displaystyle \textstyle {\sqrt {2}}} を伴うパターンの繰り返しである。
  • そのフラクタル次元は計算によって ln 2 ln 2 = 2 {\displaystyle \textstyle {{\frac {\ln 2}{\ln {\sqrt {2}}}}=2}} であることが分かる。これにより、ヘイウェイ・ドラゴン曲線は空間充填曲線であることが分かる。
  • その境界のフラクタル次元の数値的な近似は Chang と Zhang によって得られた。実際、解析的には
log 2 1 + 73 6 87 3 + 73 + 6 87 3 3 1.523627086202492. {\displaystyle \log _{2}{\frac {1+{\sqrt[{3}]{73-6{\sqrt {87}}}}+{\sqrt[{3}]{73+6{\sqrt {87}}}}}{3}}\cong 1.523627086202492.}

と得られる。これは方程式 4 x ( 2 x 1 ) = 4 ( 2 x + 1 ) {\displaystyle \textstyle {4^{x}\left(2^{x}-1\right)=4\left(2^{x}+1\right)}} の根である。

タイル張り

ドラゴン曲線には、平面上にタイル張りする方法が多く存在する。

ツインドラゴン

二つのヘイウェイ・ドラゴンを背中合わせに配置することにより、ツインドラゴンデイビス-クヌース・ドラゴンとも呼ばれる)を作ることが出来る。それは反復関数系

f 1 ( z ) = ( 1 + i ) z 2 {\displaystyle f_{1}(z)={\frac {(1+i)z}{2}}}
f 2 ( z ) = 1 ( 1 + i ) z 2 {\displaystyle f_{2}(z)=1-{\frac {(1+i)z}{2}}}

の極限集合でもある。ここでの初期形状は集合 S 0 = { 0 , 1 , 1 i } {\displaystyle S_{0}=\{0,1,1-i\}} により定義される。

テルドラゴン

テルドラゴンはL-system

  • 角度 120°
  • 初期文字列 F
  • 文字列書き換え規則
    • F {\displaystyle \rightarrow } F+F−F.

により書くことが出来る。それは反復関数系

f 1 ( z ) = λ z {\displaystyle f_{1}(z)=\lambda z}
f 2 ( z ) = i 3 z + λ {\displaystyle f_{2}(z)={\frac {i}{\sqrt {3}}}z+\lambda }
f 3 ( z ) = λ z + λ {\displaystyle f_{3}(z)=\lambda z+\lambda ^{*}}

の極限集合でもある。ただし λ = 1 2 i 2 3 {\displaystyle \lambda ={\frac {1}{2}}-{\frac {i}{2{\sqrt {3}}}}} および λ = 1 2 + i 2 3 {\displaystyle \lambda ^{*}={\frac {1}{2}}+{\frac {i}{2{\sqrt {3}}}}} である。

レヴィ・ドラゴン

レヴィC曲線はしばしばレヴィ・ドラゴンとも呼ばれる。

解集合から導かれるドラゴン曲線

ある微分方程式の解集合が得られたとき、それらの解の線形結合は、重ね合わせの原理により再び元の微分方程式を満たすものとなる。これはすなわち、すでに存在している解の集合に対してある関数を適用することによって、新たな解を導くことが出来るという意味でもある。これは反復関数系を用いてある集合内に新たな点を導出する方法と同様である(ただし、そのような反復関数は線形関数であるとは限らない)。同様な概念により、関数の集合へとそのような反復的な手法を用いることによって、リトルウッド多項式の集合を導くことが出来る。

リトルウッド多項式とは、多項式

p ( x ) = i = 0 n a i x i {\displaystyle p(x)=\sum _{i=0}^{n}a_{i}x^{i}\,}

のことである(ここで a i {\displaystyle a_{i}} は 1 か -1 のいずれか)。

|w| < 1 を満たすようなある w に対して、関数系

f + ( z ) = 1 + w z {\displaystyle f_{+}(z)=1+wz}
f ( z ) = 1 w z {\displaystyle f_{-}(z)=1-wz}

を定義する。どのような次数 d のリトルウッド多項式であっても、この関数系の z=0 から始めた d+1 回の反復操作によって導出することが出来る。例えば、 f + ( f ( f ( 0 ) ) ) = 1 + ( 1 w ) w = 1 + 1 w 1 w 2 {\displaystyle f_{+}(f_{-}(f_{-}(0)))=1+(1-w)w=1+1w-1w^{2}} など。

w = (1+i)/2 である場合、上の関数系はヘイウェイ・ドラゴンの反復関数系と等しいことが分かる。すなわち、ヘイウェイ・ドラゴンは、ある反復操作によって、点 w = (1+i)/2 において評価されるある次数までのすべてのリトルウッド多項式からなる集合を表すものである。実際、リトルウッド多項式の根を十分多くの数プロットしたとき、それらの座標の近くにドラゴン曲線と似た構造が現れることとなる。

Collection James Bond 007

注釈

参考文献

  • Donald Knuth, The Art of Computer Programming, vol. 2. Addison-Wesley.

関連項目

  • ドラゴン
  • ハウスドルフ次元によるフラクタルの一覧
  • 複素基本系
  • 正規折紙列

外部リンク

  • Dragon Curve—from MathWorld
  • Dragon Curve Maker in Flash
  • Tile made by David Chow
  • Twin dragon tile with JAVA
  • Crochet representation of Dragon Curves

Text submitted to CC-BY-SA license. Source: ドラゴン曲線 by Wikipedia (Historical)