문제

지역 지도를 생성하는 사소하거나 최소한 적당히 간단한 방법이 있습니까(예:위험)?

나는 과거에 찾아보았고 내가 찾을 수 있는 최선의 것은 보로노이 다이어그램에 대한 모호한 참조였습니다.보로노이 다이어그램의 예는 다음과 같습니다.

here.

이것들은 가능성이 있지만 각 영역을 객체로 처리하기 위해 어떤 형태의 데이터 구조로 유지하는 것은 물론이고 이를 렌더링하는 간단한 방법을 본 적이 없는 것 같습니다.

유망한 또 다른 접근법은 홍수 채우기(flood fill)이지만 이 접근법으로 시작하는 가장 좋은 방법이 무엇인지 확신할 수 없습니다.

어떤 조언이라도 대단히 감사하겠습니다.

도움이 되었습니까?

해결책

내가 본 최고의 참고 자료는 다음과 같습니다. 계산 기하학:알고리즘 및 애플리케이션, 에서는 보로노이 다이어그램, 들로네 삼각분할(보로노이 다이어그램과 유사하며 각각을 다른 다이어그램으로 변환할 수 있음) 및 기타 유사한 데이터 구조를 다루고 있습니다.

필요한 모든 데이터 구조에 대해 설명하지만 이를 구현하는 데 필요한 코드는 제공하지 않습니다(좋은 연습이 될 수 있음).코드 측면에서 Amazon 검색에는 책이 표시됩니다. C의 계산 기하학, 아마도 코드와 함께 제공될 것입니다(비록 C에 갇혀 있으므로 다른 코드를 구하여 원하는 언어로 구현하는 것이 좋습니다).나 또한 이 책에 대한 어떤 경험도 없고, 단지 첫 번째 책에 대해서만 경험이 있다.

추천할 책만 있어서 죄송해요!내가 본 유일한 괜찮은 온라인 리소스는 두 가지입니다. 위키피디아 조항, 이는 실제로 구현 세부 사항을 알려주지 않습니다. 이 링크 그래도 도움이 될 수 있습니다.

다른 팁

기본 요소(삼각형, 사각형)의 지도를 사용하고 국가("수도")의 시작점을 배포한 다음 국가에 임의의 인접한 기본 요소를 추가하여 국가를 무작위로 확장하는 것은 어떨까요?

CGAL 계산 기하학에 사용되는 데이터 구조와 알고리즘을 갖춘 C++ 라이브러리입니다.

저는 실제로 우리 회사의 비디오 게임을 위해 바로 이런 종류의 작업을 다루고 있습니다.내가 찾은 가장 유용한 정보는 다음 두 링크에 있습니다.

폴 버크Delaunay에 대한 1989년 논문과 일련의 구현 링크가 포함된 UWA의 페이지입니다.

의사코드와 시각적인 내용에 대한 훌륭한 설명 codeGuru.com에서 Delaunay를 하는 중입니다.

렌더링 측면에서 볼 때 제가 찾은 대부분의 구현은 원하는 것을 얻기 위해 마사지가 필요하지만 게임 맵에 이것을 사용하면 둘 사이에 많은 점과 선이 생길 수 있으므로 매우 어려울 수 있습니다. 이것을 화면에 그리는 간단한 문제입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top