タグ

ブックマーク / yarb.hatenadiary.org (1)

  • Canvasでタートルオブジェクトを作ってドラゴンカーブを描く - yarbの日記

    JavaScriptの習作として、Cavansを使ってドラゴンカーブを描いてみた。若干なにかが違うような気がしつつ……。 ドラゴンカーブは、長い帯を半分に折って、さらに半分に折って、さらに……という操作を続けて、最後に折り目がそれぞれ直角になるように開いた図形。分かったような分からないような定義というか説明だけど、ある線分「|」を「>」というように真ん中で直角に折って、そしてそれぞれの2をさらに直角に折るということを繰り返すことで作ると考えると分かりやすい。 次数をorderとすると、以下の関数でドラゴンカーブを作る描画操作を文字列として生成できる。Wikipediaによれば、こうした再帰的に操作の次数を上げていくことで幾何学図形を生成するのは、L-Systemという名称で呼ばれているらしい。 function generateDragon(order) { var command =

    Canvasでタートルオブジェクトを作ってドラゴンカーブを描く - yarbの日記
  • 1