그리드에서 도시 레이아웃 생성


9

다음 요소를 사용하여 정사각형 그리드로 도시 레이아웃을 생성하고 싶습니다 (아이소 메트릭으로 렌더링되지만 중요하지 않음).

  • 2x2 주택
  • 도로, 1 단위 너비
  • 운하, 1 단위 폭

샘플 레이아웃 :

샘플 레이아웃

  • 나는 항상 특정 수의 주택과 그것들을 연결하는 데 필요한 많은 도로와 운하가 있습니다.
  • 집 앞에는 정문 앞에 두 개의 도로가 있어야합니다 (항상 오른쪽을 가리킴).
  • 잔디밭 (빈)을 사이에 두는 것이 좋을 것입니다.

이를위한 기성 알고리즘이 있습니까? 그렇지 않다면 이것을 구현하기 위해 어떤 방향으로 생각해야합니까?

답변:


8

정확히 원하는 방식에 따라 여러 가지 방법이 있습니다. 다음은 귀하의 설명에 맞는 한 가지 방법에 대한 대략적인 개요입니다.

먼저 운하를 생성하십시오. 그런 다음 집을 무작위로 배치하십시오. 각 집마다 도로를 배치하고 그 앞에 도로를 놓고 해당 도로에서 기존 도로 네트워크로 도로를 그립니다. 도로는 집을 재배치합니다. 서로 가까이 있지만 기존 도로를 따라 멀리 떨어진 일부 도로 지점을 감지하고 바로 가기를 시도하십시오.

이런 종류의 것들은 무엇보다도 실험과 경험이 필요합니다. 임의의 방식으로 세부 사항을 작성하고 일부 기준을 충족하는지 판별 한 후 실행 취소 한 후 다시 시도하면 좋은 결과를 얻을 수 있습니다.

이 정확한 작업을 위해서는 이미 전문가가 아닌 한 기본 경로 찾기를 잘 이해해야합니다. 그리고 길 찾기가 가장 짧은 길일 필요는 없다는 것을 기억하십시오. 내 설명의 마지막 부분에서 이미 존재하는 길을 재사용하는 데 약간의 무게를 줄 수 있습니다.

막히면 코드와 예제 출력을 보여주고 어떻게 다른지 자세히 설명하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.