정점의 가장자리 (다각형)를 찾는 최고의 알고리즘
-
20-08-2019 - |
문제
나는 많은 정점 배열이 있고, 그 중 일부는 가장자리이며, 일부는 중복 (모양 내부)이며 제거하고 싶습니다.
내가 생각할 수있는 가장 간단한 알고리즘은 다른 사람들이 형성된 모양에 부딪 치면 하나씩 확인하는 것입니다. 그러나 매우 느린 알고리즘이어야합니다.
나는 가장자리에서 하나를 선택하는 것에 대해 생각하고 (예마다 원점에서 가장 먼 곳)이 시작에서 가장 긴 경로를 계산합니다 ... 가장자리 경로를 가져와야합니까?
어떠한 제안?
다른 팁
다각형이 무엇인지 알 수있는 가장 좋은 알고리즘이 무엇인지 모르겠지만, 당신이 찾고있는 다각형을 "볼록한 선체"라고합니다.
이를 검색하면 일치하는 알고리즘을 찾아야합니다.
볼록한 선체 계산 기하학의 더 연구 된 문제 중 하나입니다. Graham 스캔은 더 간단한 것 중 하나입니다 볼록한 선체 알고리즘, 그러나 확실히 유일한 사람은 아닙니다. 선물 랩핑 알고리즘, Jarvis 'March라고도 불리는 것은 내가 아는 가장 간단한 것입니다. Stony Brook 알고리즘 저장소 C 및 C ++에 볼록한 선체 알고리즘의 여러 구현이 있습니다. 행동의 기하학 주로 볼록한 선체의 응용 프로그램을 보여줍니다. 여기에 모음이 있습니다 저 차원 그리고 임의의 차원 볼록한 선체 계산 프로그램.
제휴하지 않습니다 StackOverflow