다음과 같은 문제에 대한 좋은 알고리즘을 찾고 있습니다. 3 개의 격자 격자 (비어 있거나 채워져있을 수 있음)를 감안할 때 두 개의 인접하지 않은 복셀을 선택하면 서로 연결되어 있는지 알고 싶습니다. 다른 복셀.
예를 들어 (2D로 상황을 설명하기 위해) #은 채워진 사각형입니다.
1 2 3
a # # #
b # #
c # # #
a3과 c3을 선택하면 연결되어 있는지 가능한 한 빨리 확인하고 싶습니다. 채워진 픽셀을 통과하는 a3와 c3 사이에 경로가있는 경우 (실제 상황은 물론 3D 복셀 그리드에 있습니다.)
플러드 필 알고리즘과 경로 찾기 알고리즘을 살펴 봤지만 어떤 것을 선택해야할지 모르겠습니다. 두 가지 모두 불필요한 작업을합니다. 홍수 채우기는 모든 복셀을 채우려 고하지만 반드시 그럴 필요는 없습니다. 경로 찾기 알고리즘은 일반적으로 가장 짧은 경로를 찾는 것과 관련이 있으며, 필요하지 않습니다. 경로 가 있는지 만 알면됩니다 .
어떤 알고리즘을 사용해야합니까?
편집 : 의견에 따라 다음을 추가해야한다고 생각합니다. 복셀의 내용을 미리 알 수 없으며 복셀을 제거 (빈)하여 복셀 그룹이 중단되는지 여부를 감지하는 알고리즘이 필요합니다 둘 이상의 작은 그룹으로.
c3->c2->b2->a2->a3
.