2011-02-03 3 views
0

이 질문은 대답하기가 쉬워야하고 주제에 관한 많은 문서가있을 것 같지만 검색에서 아무 것도 찾을 수 없으므로 나는 잘못된 것을 찾고 있어요. 큐브 기반 세계에서 KD 트리 만들기

의이 값으로, 나는 동일한 크기의 큐브의 세계를 가지고 각을 상상하자 1 또는

무엇 가능한 최대 입방에 비슷한 값의 큐브를 병합하는 최선의 방법입니다을 0. 나는 무작위로 하나 잡아서 인접한 노드와 조합을 검사하는 것으로 간주했다. 모호하고 반복적 인 경우 모두 동일하지만, 결과는 특별히 최적화되지 않는다. 큐브의 모든 가능한 조합을 검사하고 결과를 비교하는 것도 고려했지만 엄청나게 비쌀 것입니다.

누구든지 도움을 줄 수 있다면 도움이 될 것입니다.

아, 명확히하기 위해 경로 찾기 최적화를 위해 직각 충돌 데이터에서 KD 트리를 구성하는 방법을 찾고 있습니다.

답변

0

전 세계가 큐브의 3D "그리드"라고 가정합니다. 이 올바른지? 그렇다면 큐브 공간을 세분하고 구성하는 일반적인 방법은 Octree를 사용하는 것입니다. http://en.wikipedia.org/wiki/Octree

편집 : 당신은이의 3D 버전을 구현할 수 있습니다 : 구성하기 훨씬 쉬울 것 같은

+0

http://en.wikipedia.org/wiki/Connected_Component_Labeling은 내가 옥트 트리로 간주,하지만 그것은 KD 트리에 비해 어떤 단점이없는 것 ? – Fascia

+0

편집자 인 근막 (Fascia)이 나타났습니다. 죄송합니다, 전 제목으로 던졌습니다. ;-) 세계를 지역으로 "분할"하려는 것 같습니다. 이 올바른지? 지역에 필요한 경계 조건에 따라이를 수행 할 수있는 여러 가지 방법이 있습니다. 모두 같은 가치를 지닌 지역 또는 "비슷한"가치를 갖는 지역을 얻는 것이 목표입니까? – Tom

+0

또한 지역이 큐브 모양이어야합니까? – Tom