플로트의 2D 배열로 표현 된 입면도가 있습니다.경계에서 경계 설정
테두리 셀 (해당 x
및 y
좌표로 식별 됨)의 목록을 포함하는 단일 벡터에 포함 된 가장자리를 가진이지도의 영역이 있습니다.
에지 셀은 관련 영역이 무엇인지 알지 못하며 벡터 내에서 연속적으로 인접 해있는 에지 셀도지도에서 서로 인접하지 않습니다.
이 정보 (전체지도의 가장자리 셀 목록, 다시는 인접하지 않을 수 있음)를 기반으로 각 영역을 고유하게 식별 할 수 있기를 바랍니다.
나는 하나의 가장자리 셀에서 시작하여 가장자리를 가로 지르려고 생각했지만, 둘러싸인 공간에는 제외되어야 할 영역 (호수 자체가있는 섬 주변의 호수)이 포함될 수 있습니다. 몇 가지 양동이 채우기를 사용하는 것을 고려해 보았지만 이는 중요한 고도 데이터를 손상시키고 정보를 저장하기위한 두 번째 배열을 만들고 싶지 않습니다.
효과적인 방법에 대한 의견이 있으십니까?
원래 문제를 해결하기 위해 추가 메모리를 사용하는 데 어려움이 있었지만 비트 필드를 사용하여 문제를 해결할 수있는 가장 우아하고 빠른 방법 인 것처럼 보였으므로이를 사용합니다. – Richard
그래, -0은 여전히 0이기 때문에 아마도 비트 연산자를 사용하여 부호 비트를 토글하는 것이 더 안전 할 것입니다. –
오, 나는 2d 불리언 배열을 사용하겠다는 뜻이었습니다. 그러나 당신은 내가 간과 한 것 같은 훌륭한 포인트를 만듭니다! – Richard