중심점 주위에 다각형을 형성하는 Lat long 목록이 있습니다. 순서가 지정된 목록에서 Lat-Long Vertices를 연결하고 볼록하지 않은 다각형을 형성하도록 Lat-Long List를 시계 방향으로 순서대로 나열하고 싶습니다.C#에서 폴리곤을 형성하기위한 Lat long vertex의 순서 목록
답변
다음 예제에서 볼 수 있듯이 일련의 정점에서 다각형을 생성하는 것은 잘못 정의되어 있습니다.
다각형을 시계 방향으로 형성A = (0, 0)
B = (3,-3)
C = (6,-1)
D = (4,-1)
E = (4, 1)
F = (6, 1)
G = (3, 3)
하나의 가능성은
A-G-F-E-D-C-B-A
및
A-G-E-F-C-D-B-A
다른 하나 인 주문
입니다 보자. 첫 번째 다각형은 오목하고 두 번째는 볼록합니다.A
이 제거되고 나머지 점이
G-B
축에서 미러링되는 경우 지정된 정점 세트에서 두 개의 비 볼록 폴리곤을 정의하는 것이 가능합니다. 더 정확하게, 정점의 세트는
B = (3,-3)
C = (6,-1)
D = (4,-1)
E = (4, 1)
F = (6, 1)
G = (3, 3)
E' = (2, 1)
F' = (0, 1)
D' = (2,-1)
C' = (0,-1)
것 두 가지 다각형
G-E-F-C-D-B-C'-D'-E'-F'-G
및
G-F-E-D-C-B-D'-C'-F'-E'-G
이다.
그러나 주어진 꼭지점의 convex hull polygon (convex hull 폴리곤의 경계)에 관심이 있다면 많은 다른 값이 계산되어집니다.
또는 간단히 말해서, 어린이와 같이 도트 퍼즐을 풀기 위해 노력한 사람처럼, 폴리곤을 그리기 위해서는 점의 순서가 중요합니다. –
@ ZoharPeled 직접적인 재구성에 감사드립니다. 그러나 정점이 거의없고 모든 경우를 다루고 비 교차 에지 만 사용하는 구체적인 예를 제공하고자했습니다. – Codor
제안 해 주셔서 감사합니다. 이 꼭지점을 공간 좌표 (위도/경도)로 정의 할 때 이것이 어떻게 적용되는지 알고 싶습니다. – user1701450
StackOverflow is not * 원하는 코드 * 사이트. 지금까지 뭐 해봤 어? 어디서 붙어 있었 니? – MarcinJuraszek
포인트 목록으로 Lat와 Long 세트를 사용하여 폴리곤을 형성하는 방법을 이해하려고합니다. 이 문제를 해결할 수있는 방법은 무엇입니까? – user1701450