Loading AI tools
線分を3等分し、分割した2点を頂点とする正三角形の作図を無限に繰り返すことによって得られる図形 ウィキペディアから
コッホ曲線(コッホきょくせん、英: Koch curve)はフラクタル図形の一つ。スウェーデンの数学者ヘルゲ・フォン・コッホ (Helge von Koch) が考案した[1]。線分を3等分し、分割した2点を頂点とする正三角形の作図を無限に繰り返すことによって得られる図形である。1回の操作で線分の長さが 4/3 倍になるので、操作を無限に繰り返して得られるコッホ曲線の長さは無限大である[2]。高木曲線などと同様に、連続でありながら至るところで微分不可能な曲線である[3]。
コッホ曲線は相似比が 1/3 の4個のセグメントから成っているので、フラクタル次元(相似次元)は、3 を底とする 4 の対数(logを必ずしも自然対数である必要はない任意の対数として、log 4/log 3 = 1.2618595...次元)である[4]。(A100831)
この操作を無限に繰り返すとコッホ曲線になる。以下はステップ6まで行ったときの図形である。
コッホ雪片(コッホせっぺん、英: Koch snowflake)は、上記のコッホ曲線を3つ繋ぎ合わせ、始点と終点を一致させたものである[5]。コッホ島などとも呼ぶ[2]。
コッホ曲線は無限の長さを持つので、同様にコッホ雪片の周長も無限の長さを持つ。一方で、コッホ雪片の曲線で囲まれた面積は有限に留まる。最初の正三角形の面積を 1 とするとコッホ雪片の面積は 1.6 に収束する[2]。
コッホ曲線は、アフィン変換を使用することで得られ、
反復関数 ƒ(x, y) は、ax+by+e, cx+dy+f の式で展開できるので、計算式は以下のように表される。
ƒ1
ƒ2
ƒ3
ƒ4
これらの反復関数を各種プログラム言語(C, Python, Basicなど)でプログラミングし、順次反復計算させ、コッホ曲線を描画させることが可能である[7]。
また、下表のように各反復関数の確率因子を設定[8]しておき、コンピューターで乱数を発生させ、確率因子pに応じた乱数範囲で用いる関数を決定し、計算を反復的に実行することでも、コッホ曲線を描画させることができる。これはランダム・アルゴリズムと呼ばれる手法である[9][10]。
w | a | b | c | d | e | f | p | 変換内容 |
---|---|---|---|---|---|---|---|---|
ƒ1 | 1/3 | 0 | 0 | 1/3 | 0 | 0 | 0.25 | 1/3にスケーリング |
ƒ2 | 1/6 | -√3/6 | √3/6 | 1/6 | 1/3 | 0 | 0.25 | 1/3にスケーリング、60°回転 |
ƒ3 | 1/6 | √3/6 | -√3/6 | 1/6 | 1/2 | √3/6 | 0.25 | 1/3にスケーリング、-60°回転 |
ƒ4 | 1/3 | 0 | 0 | 1/3 | 2/3 | 0 | 0.25 | 1/3にスケーリング |
以下のように表計算ソフトの関数を利用することでも同様の計算を実行できる。
A | B | C | D | E | F | G | H | |
---|---|---|---|---|---|---|---|---|
1 | w | a | b | c | d | e | f | p |
2 | ƒ1 | 0.3333 | 0 | 0 | 0.3333 | 0 | 0 | 0.25 |
3 | ƒ2 | 0.1667 | -0.2887 | 0.2887 | 0.1667 | 0.3333 | 0 | 0.25 |
4 | ƒ3 | 0.1667 | 0.2887 | -0.2887 | 0.1667 | 0.5 | 0.2887 | 0.25 |
5 | ƒ4 | 0.3333 | 0 | 0 | 0.3333 | 0.6667 | 0 | 0.25 |
6 | random | ƒ | X | Y | ||||
7 | 0 | 0 | ←initial | |||||
8 | =RAND() | B8 | C8 | D8 | ←data |
なお、B8,C8,D8のセルには以下のような複数条件判定の関数(ネスティング参照)を入力する。
最終8行目をオートフィルで適当な行数だけコピーし、XY散布図とするとコッホ曲線が得られる。
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.