フラクタル多角形の作図方法

(2019/4/20修正)

まず作りたい図形の角の数をnとします。
そしてその数に応じて基本になる角度cを計算します。(例: 6角形なら1/3*PIなど)
適当な1次元配列を用意します。(例: [0,1,2,0,1])
別の変数bを0で初期化します。
変数iを0から1ずつ増加させていき、それをparseInt関数などを使い基数を10進法から配列の長さの進法に変換します。
基数変換した整数のそれぞれの文字を1次元配列の対応する数字に置き換え、それを合計した数値に角度cを掛け、 その数値と変数bを足したものを次の線分の角度として、一定の長さで線分を描いていきます。
そして適当なところでbにcを足し算して、iを0にもどす操作をn回繰り返すとフラクタルな放射状の図形ができます。
配列の設定によってはコッホ雪片なども描くことができます(iを2ずつ増加させる必要があります)

設定例:コッホ雪片アレンジ

フラクタル多角形 6角形 コッホ雪片アレンジ
「増加量」= 5「角変化」= 0,1,2,0,1「複雑さレベル」= 3「単位角(RADIAN)」= 1/3「繰り返し数」= 6 「線の長さ」= 8「線の太さ」 = 1「背景色」= #fff 「色相」= 250「色相変化率」= 0

上記の例では「0,5,10,15,20,25,30,35,40,45,50,55,…」という数列の文字を「0,1,2,0,1,-1,0,-2,-1,0」で置換して、「0,-1,1,0,2,1,0,-1,1,0,-1,-2,…」という数列に変換して角度を変化させていきます。

フラクタル多角形作図プログラム

フラクタル多角形 5角形

フラクタル多角形 4角形

フラクタル多角形 6角形

フラクタル多角形 10角形

フラクタル多角形 10角形