2012-09-08 2 views
14

Made It! 게시물의 하단을 봐! 세계의프로그래밍 도전 :이 그리드를 코딩하는 가장 쉬운 방법은?

스마트 명 ...

내가 처리 (자바)를 사용하여이 격자를 그릴 노력하고있어,하지만 난 문제가이 주위에 똑똑한 방법을 파악하는 데 문제가 있습니다. 기본적으로 반복되는 부분의 각 지점을 플로팅 할 수 있지만 그 주위에는 더 좋은 방법이있을 것입니다.

grid

모든 알고리즘과 언어를 할 것입니다. 나는 단지 그 개념을 볼 필요가있다.

편집 로고의 이미지와 업데이트되었습니다. logo

가 편집 2

이 그리드는을

라고 : 나는 그리드에서 생식 모양을 만들기 위해, 어떤 지역의 이웃은 "알고있다"능력을 필요로하는지 이것은 기본적으로 보여줍니다 "quasi periodic eight fold grid"디자이너가. 그게 내가 생각했던 것보다 더 힘들 었어요

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

@ 론세 : 어떤 타일이나 타일 조합으로 시작합니다. 8 배 대칭을 원한다면 한 지점을 중심으로 8 개의 마름모를 배열 할 수 있습니다. 당신이 그것을 간단하게 원한다면, 하나만 가져 가라. 그런 다음 규칙에 따라 각 타일을 세분합니다. [Penrose tilings] (https://en.wikipedia.org/wiki/Penrose_tiling)에 대한 많은 문헌을 볼 수 있습니다. 그것들은 치환을 사용하여 구성 될 수 있으므로 개념은 거의 동일합니다. – MvG

+0

아, 그건 이해가 돼요! 굉장해. 나는 몇 시간 안에 결과를 올릴 것이다. – Ronze

4

나는 쉬운 방법이 될 것입니다 확실하지 않다, 나는 반복 섹션을 찾기 시작하지만-준 정기적으로, 또는 거의 반복이다.

enter image description here

IT는 녹색 선에서 분명히 symetric하지만 파란색으로 표시된 패턴은 실제로 멀리 중심에서 연장 같은 격자 모양 될지의 패턴을 표시하지 않는 것. 나는 틀릴 수 있었다.

관련 문제