세계는 비슷한 크기의 많은 (1k-10k) 사각형으로 이루어져 있으며 새 사각형을 추가 할 때 잠재적 인 중복을 빠르게 판별 할 수 있어야합니다. 사각형이 동적으로 추가되고 제거됩니다. R-Trees는 여기에 적합한가? 그렇다면 고려해야 할 좋은 라이브러리가 있습니까? (나는 어떤 언어로든 제안에 개방적이다.)간단한 사각형의 세계를 어떻게 색인화해야합니까?
1
A
답변
3
R-Trees가 적합합니다.
quad trees은 2D 공간 영역에서 객체를 빠르게 찾을 수있는 좋은 데이터 구조이기도합니다. 그것들은 정말로 더 균일 한 r-tree 버전입니다. 이러한 구조를 사용하면 대용량 데이터 세트를 사용하는 경우에도 테스트가 거의없이 공간의 작은 영역을 빠르게 활용할 수 있습니다.
나는 그것을 보지 않았지만 C# 구현 here가 있습니다.
이러한 종류의 데이터 구조 (및 그것의 3D 버전은 Octrees)는 게임에서 충돌 테스트를 위해 다른 객체 근처에 있는지를 알아야하는 대용량 데이터 세트를 관리하는 데 종종 사용됩니다. 재미있는 이유.
당신은 또한 kd-trees를 찾아 볼 수 있습니다 gamasutra 및 opengl.org
1
처럼 기사와 게임 산업 사이트의 데이터 구조, 이러한 종류의 예를 많이 찾을 수 있어야합니다.
구현 방법을 모르지만 3D에서는 적어도 Octrees보다 성능이 좋습니다. 예를 들어, 다음은 경험이 I just googled it 인 결과입니다.
성능 문제가있는 경우 쿼드 트리의 대안을 고려할 수 있습니다.
그러나 kd 나무는 균형을 맞추기가 어렵다는 점에 유의해야합니다.
관련 문제
- 1. 세계를 4 사분면으로 나누기
- 2. mysql에 2D 게임 세계를 저장하는 방법
- 3. 사각형의 모자이크
- 4. 불규칙한 모양의 게임 세계를 표현하기
- 5. jPanel에서 사각형의 테두리 변경하기
- 6. 는 회전 된 사각형의
- 7. 사각형의 값에 액세스 하시겠습니까?
- 8. Box2D에서 포장 세계를 만드는 방법
- 9. 사각형의 위에 텍스트를 그립니다.
- 10. 사각형의 타원 플롯
- 11. 사각형에 비해 사각형의 UIImage를 회전하는 방법은 무엇입니까?
- 12. 회전 된 사각형의 정점 계산
- 13. 세계를 스크롤하지 않고 Java 2D 게임 카메라
- 14. 코어 그래픽을 통해 그린 사각형의 각 픽셀 위치는 어떻게 결정합니까?
- 15. 사각형의 Quartz 2D Drawing String, 어떻게 줄임표를 얻을 수 있습니까?
- 16. PHP는 설명 음란 \ n을 사각형의
- 17. 변형 된 사각형의 모서리 찾기
- 18. 그래픽 사각형의 크기를 위쪽으로 증가
- 19. 찾기 (C#에서) 두 사각형의 중첩 영역
- 20. FIELD가 null이 아닌 상태로 검색 만하는 경우 필드를 색인화해야합니까?
- 21. 사각형의 위치와 색상을 UIView 서브 뷰로 전달
- 22. 어떻게 간단한 질문이이 코드
- 23. 어떻게 간단한 XML
- 24. 사각형의 좌표를 원의 좌표로 변환하려면 어떻게해야합니까?
- 25. NSBezierPath 둥근 사각형의 모서리가 맞지 않습니다.
- 26. 등각 사각형/사각형의 높이와 너비를 계산하는 방법
- 27. GDI RoundRect : 둥근 사각형의 외부에 투명하게
- 28. 주어진 사각형의 텍스트 크기를 찾는 방법은 무엇입니까?
- 29. 사각형의 두 점 사이에서 사각형 경계를 반복합니까?
- 30. 2 차원 게임 세계를 쉽게 스크립트 할 수 있습니까?