2

격자 기반 엔진에 A * 길 찾기 알고리즘을 구현하고 있지만 격자 점을 사용하는 대신 다각형 영역에 노드를 만들고 싶습니다.대 면적을 볼록 다각형으로 분할하는 방법에 대한 알고리즘

이 지역에는 장애물이있어 이동해서는 안됩니다.

가능한 가장 작은 수의 볼록 다각형이있는 그래프에 장애물이있는 큰 영역을 나눌 수있는 알고리즘이 있는지 궁금합니다.

답변

1

많은 것들이 있습니다. 일반적으로 삼각 측량 알고리즘을 다루고 있습니다. 장애물을 통과하는 선을 제거하고 최단 경로 알고리즘을 수행합니다. 왜 가장 작은 수의 연결 볼록 다각형이 필요한지 잘 모르겠지만 똑같이 할 수 있습니다. 대답은 간단히 포인트의 볼록한 선체입니다. 하나의 다각형은 정의상 가장 작은 숫자입니다.

+0

각 다각형은 연결된 그래프의 꼭짓점이 될 것입니다.이 그래프를 탐색 할 때 사용합니다. 가장 작은 수의 정점을 사용하는 것이 최적화에 가장 적합 할 것이라고 생각했습니다. 삼각형으로 영역을 분할하면 노드 수가 가장 적어지지 않습니다. 중간 지점에 장애물이있을 수 있으므로 포인트의 볼록 선체는 작동하지 않습니다. –

+0

노드 연결 수가 가장 적은 것이 도움이된다고 생각하지 않습니다. 그러나 대부분의 상황에서 당신은 그들을 모두 찾을 수있을 것입니다. 그런 다음에 물건이나 같은 것의 기준에 따라 멀리 떨어 뜨리십시오. – Tatarize

관련 문제