저는 3 차원 공간에 수천 개의 희소 한 점으로 구성된 P
과 고정 된 반경으로 움직이는 구체 S
을 가지고 있습니다. 매 순간마다 t
은 구체 (球)가 차지하는 공간의 볼륨 인 S_t
을 알고 있습니다. 나는 어느 방향으로 S
가 다음에 움직일 것인지 미리 모른다. S_t
에 포함 된 모든 점수의 하위 집합 Q_t
을 어떻게 찾을 수 있습니까? 다음과 같이 움직이는 구에 포함 된 모든 점의 집합을 찾으십시오.
- 는 R-트리에있는 모든 점을 넣고 계산
Q_0
을 모든 t> 0의 경우, 계산 상대적 보완
N_t = S_t \ S_(t-1)
및M_t = S_(t-1) \ S_t
- 그런 다음 상대 보완 물인
P(N_t)
과에 포함 된 모든 점을 R- 트리에 쿼리합니다Q_t = Q_(t-1) + P(N_t) - P(M_t)
이 일을합니까 :
마지막으로, 나는 같은 결과를 업데이트? 이것을 계산하는보다 효율적인 방법이 있습니까?
또한 효율적으로이 문제를 해결할 수있는 라이브러리가 있습니까?
일부 경계가 증가하는 구가 있습니까? 주기적으로 큰 구 (다음 n 증분 ..을 포함 할만큼 충분히 큰) 내의 모든 점을 찾을 수 있으므로 몇 가지 후속 증분 검색을 줄이십시오. – agentp
3D에서 ** 스파 스 ** (?) 점은 무엇입니까? 매번 S_t를 쿼리 할 수없는 이유는 무엇입니까? 보완 물은 질의를위한 구체보다 훨씬 복잡한 지오메트리를 산출합니다. 또한 효율성은 검색 트리의 구현 품질에 따라 크게 달라집니다. –
구 안쪽에 몇 개의 점이 있습니까? 이것은 큰 차이를 만들 수 있습니다. –