먼저 나누어 :무작위로 내가 정의하는 2D 복잡한 둘러싸인 지역
- 지역을 : 큰 물건을 수동으로 내가 나눌 만들었습니다.
- 영역 : 생성하려는 작은 항목.
지도가 있습니다. 사실 세계지도. 그리고 그것을 작은 영역들로 나누고 싶습니다. 구역의 크기는 구역이 속한 지역에 따라 달라집니다. 예를 들어 유럽의 경우 매우 작습니다 (유럽의 경우 200 개의 구역과 같음). 대서양의 경우 거대한 것만 있습니다.
지점을 수동으로 만들어 영역을 묶을 수 있습니다. 내가 다른 공간보다 크기가 다른 큰 공간을 만들 것입니다. 예를 들어 유럽의 폐쇄 지역을 만들 것입니다. 그래서 저는 유럽 지역의 한계를 정의하는 (위도, 경도) 점수를 얻었습니다. 모양은 물론 규칙적이지 않고 그것의 중앙에 구멍이 있습니다 (저는 지중해 위에 작은 지대를 만들고 싶지 않지만 큰 지형을 만들고 싶습니다). 그래서 우리가 얻은 것은 영역으로 채워지는 거대한 2D 모양입니다.
영역 자체는 n 크기의 다각형이며, 크기의 수는 무작위로 선택되거나 다른 제한을받습니다. 각 영역의 영역 또한 무작위로 제한됩니다 (50 플러스/마이너스 40 %와 같이).이 제약 조건은 다시 완화 될 수 있지만 예외적으로 예외는 아닙니다. 영역은 겹칠 수 없으며 전체 영역을 나누어야합니다.
명백한 질문입니다.이 알고리즘을 사용하면이 문제를 해결할 수 있습니다. 주어진 점이 닫힌 영역의 내부인지 외부인지를 결정하는 데 문제가 있습니다.
필요한 영역의 종류를 조금 더 정의해야합니다. 예를 들어 이것을 고려해보십시오. 1. 영역 50의 다각형을 얻도록 수직선을 사용하여 영역 다각형을 자릅니다 (왼쪽에서 오른쪽으로 영역을 '스캔'하여 수행 할 수 있음). 2. 반복합니다. 이렇게하면 필수 속성이있는 * n * 영역이 생성됩니다. 그러나 저에게 그것은 당신이 그런 수직 줄무늬에 행복하지 않을 것이기 때문에 소리가 난다. 그러므로 질문을 수정하십시오. – Unreason