2012-09-08 29 views
14

Made It!投稿の下を見てください!プログラミングの課題:このグリッドをコード化する最も簡単な方法は?

世界のスマート人々...

私が処理(Javaの)を使用して、このグリッドを描画しようとしているが、私はトラブルこれを回避する賢い方法を考え出すを抱えています。私は基本的には反復セクションの各ポイントをプロットすることができますが、その周りには良い方法があると確信しています。

grid

任意のアルゴリズムと言語が行います。私はそのコンセプトを見る必要があります。

EDITは、ロゴの画像を更新しました。これは基本的に私がグリッドから生成的な形状を作成するために隣人、何であるかのエリア「知る」する能力を必要とする方法を示しています。

logo

EDIT 2

グリッドが呼び出されますデザイナーが「準周期的8倍格子」。私が思ったよりも難しいでし

EDIT 3

オーケー、。私は多くの進歩を遂げており、ここにコードを見つけることができます:https://gist.github.com/3682600

私は再分割を開始すると、何か変なことが起こっている、両方の図形に最適な細分割を持っています。これが今の私の出力です:

test

すべてのヘルプは歓迎です!

編集4

さて、これは壮大な課題になりつつあります。私は再帰があまりにも深くなると問題が発生することを理解しました。それは要素の回転に問題があるか、それとも私が把握できない別のものです。とにかく、ここでの作業スケッチは、私が今持っているのです。

working

編集5

を、私はそれを作りました!私はキューブの回転を台無しにしてしまった。私はそれを変更し、それは働いています:https://gist.github.com/3682600。あまりにも多くのものがあるかもしれないが、それは完全に働いている。証明:

leve1 level2 level3

+1

そして、このグリッドの特定の名前は何ですか?どのように定義されていますか?それは何の特徴ですか? – orlp

+0

JSでは処理されず、Javaでは処理されませんか? – Blender

+0

@nightcracker:それは質問への答えになるでしょう:) – valdo

答えて

3

実際これがAmmann-Beenker tiling @ n.mの場合は、 his commentで述べたように、提供された代替規則を使用して簡単にこれを記述できます。あなたの目的に十分な数のタイルがあるまで、任意のタイルから始め、より小さなタイルに置き換えます。置換規則は、明らかに指向の半角を扱うことに注意してください。

+0

これらの置換ルールの読み込みに問題があります。私が描いている最初の形は何ですか?これに関する文献を見つけるのに困っている。 – Ronze

+0

@Ronze:*任意のタイル、またはタイルの組み合わせから始めます。 8倍の対称性が必要な場合は、点の周りに8つの菱形を配置することから始めることができます。あなたがそれを簡単にしたい場合は、ただ一つを取る。次に、ルールに従って各タイルを細分します。 [Penrose tilings](https://en.wikipedia.org/wiki/Penrose_tiling)に関する多くの文献があります。私は確信しています。それらも置換を使って構築できるので、概念はほぼ同じです。 – MvG

+0

ああ、それは意味があります!驚くばかり。私はここに数時間で結果を掲載します。 – Ronze

4

私は簡単な方法があるでしょうか分からないが、私は繰り返しセクションを探し始めたが、それは、準周期的である、またはほとんど繰り返します。

enter image description here

それは明らかに緑色の線間の対称型だが、青色でマークされたパターンは、実際にはグリッドが遠く離れて中心から延長どのように見えるかのパターンを表示していないようです。私は間違っている可能性があります。

関連する問題