ドラゴンカーブとタートル

ドラゴンカーブ

フラクタル曲線の素晴らしい、文字通り妖艶な家族があります-ドラゴン曲線。 それらに精通していない人は、その構造の原理を紙のストリップで説明するのが最も簡単です。 そのため、一枚の紙を取り、それを数回半分に折り、折り畳み角の間に直角が形成されるように広げます。 その結果、ドラゴンカーブが得られます。 折り畳まれたストリップの厚さは毎回倍になり、個々のリンクの長さは半分に減少するため、このような単純な方法で長い曲線を取得することはできません。

幸いなことに、長い曲線はさまざまな方法で、またはむしろ多くの方法で簡単に描画されます。 特に、Webでは、斜辺など、元の曲線のセグメントに脚を構築するときにドラゴン曲線を生成する再帰プログラムを見ることができます。 しかし、私はこの事件を亀に任せることにしました。 ドラゴンカーブは「左」と「右」の一連のターンで構成されているため、亀は一歩前進してターンすることしかできません。 私が見たかった主なものは、曲がったドラゴンの神経叢でした。 はい! これらの曲線は、さまざまな興味深い位置で結合します。これは、このような複雑で複雑な曲線では信じられないようです。



それで、私はドラゴンの「名前」を取得するタスクに直面しました-ターンのシーケンスをエンコードする文字列。 ここでは、最も簡単で明白な方法を説明します。 曲線は一片の紙を折り畳むことによって得られるため、最後の曲げのポイントから描かれた曲線は90度回転するときに一致するはずです。 言い換えると、曲線の終わりに到達すると、タートルは90度回転し、開始点に戻っているかのように、逆の順序で経路を繰り返す必要があります。 これは、望ましいターンシーケンスを取得する唯一の方法ではありません。 興味のある方は、脚の構築による上記のドラゴンカーブの再帰生成に基づいて、このシーケンスを取得する方法について考えることができます。

ちなみに、ドラゴンカーブがダブルになる「ベンド」ポイントは対数スパイラル上にあり、カーブは8倍でそれ自体の周りを完全に回転します。

したがって、「カメ」と「ドラゴンの名前」があります。 ドラゴンの「交尾」を見る時です。



ここに2つのドラゴンカーブが絡み合っています: pastebin.me/e8440d992354f3e16479ca6f2a006c5c



そして、ここで4つの曲線が同時にマージされます: pastebin.me/e8440d992354f3e16479ca6f2a004bf4



誰にもわからないが、4曲線神経叢は私を魅了する。



以上です。 少なくとも誰かが興味を持って情報を提供してくれることを望んでいます。 もちろん、これらの素晴らしい曲線については実際何も言いませんでしたが、インターネットはあなたを助けます。



脅威。 Javascriptでプロのプログラミングをしている人から、私のコードに関するPMのコメントにコメントをいただければ幸いです。 私は独学なので、デザインのルールには従いませんでした。



All Articles