ドラゴン曲線

ドラゴン曲線（ドラゴンきょくせん、英語: Dragon curve）とは、L-system（リンデンマイヤー・システム）のような再帰法を用いて構成することの出来る、ある自己相似性フラクタルの族に含まれている曲線のことを言う。 ヘイウェイ・ドラゴン（ハーター・ヘイウェイ・ドラゴンあるいはジュラシック・パーク・ドラゴンとも呼ばれる）は、NASAの物理学者のジョン・ヘイウェイ、ブルース・バンクスおよびウィリアム・ハーターによって初めて研究され、1967年、雑誌『サイエンティフィック・アメリカン（Scientific American）』のマーティン・ガードナーによるコラム「数学ゲーム（Mathematical Games」で紹介された。その性質についてはチャンドラー・デイビスとドナルド・クヌースによって初めて出版化された。マイケル・クライトンの小説『ジュラシック・パーク』の節ごとのタイトルページで使用されている。 ヘイウェイ・ドラゴンは、 角度 90° 初期文字列 FX 文字列書き換え規則 X → {\displaystyle \rightarrow } X+YF+ Y → {\displaystyle \rightarrow } −FX−Y. であるような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)}} の根である。 ドラゴン曲線には、平面上にタイル張りする方法が多く存在する。 4つの曲線による第1エレメント 4つの曲線による第2エレメント 4つの曲線による第3エレメント 自分自身のタイル張り 2つの曲線による第1エレメント 2つの曲線による第2エレメント（ツインドラゴン） 2つの曲線による第3エレメント 平面タイル張りの例 平面タイル張りの例 平面タイル張りの例 ある初期スパイラルから sqrt(2) の比率でサイズが増大していくドラゴン曲線。90° の回転を伴う4スパイラルによる平面タイル張り 二つのヘイウェイ・ドラゴンを背中合わせに配置することにより、ツインドラゴン（デイビス-クヌース・ドラゴンとも呼ばれる）を作ることが出来る。それは反復関数系 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 において評価されるある次数までのすべてのリトルウッド多項式からなる集合を表すものである。実際、リトルウッド多項式の根を十分多くの数プロットしたとき、それらの座標の近くにドラゴン曲線と似た構造が現れることとなる。 ^ http://library.thinkquest.org/26242/full/fm/fm8.html ^ Fractal dimension of the boundary of the Dragon curve ^ "The Boundary of Periodic Iterated Function Systems" by Jarek Duda, The Wolfram Demonstrations Project. Recurrent construction of the boundary of dragon curve. ^ a b http://golem.ph.utexas.edu/category/2009/12/this_weeks_finds_in_mathematic_46.html ^ https://math.ucr.edu/home/baez/week285.html ^ http://johncarlosbaez.wordpress.com/2011/12/11/the-beauty-of-roots/ 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 表示 編集