2014-06-25 16 views
0

중심점 주위에 다각형을 형성하는 Lat long 목록이 있습니다. 순서가 지정된 목록에서 Lat-Long Vertices를 연결하고 볼록하지 않은 다각형을 형성하도록 Lat-Long List를 시계 방향으로 순서대로 나열하고 싶습니다.C#에서 폴리곤을 형성하기위한 Lat long vertex의 순서 목록

+0

StackOverflow is not * 원하는 코드 * 사이트. 지금까지 뭐 해봤 어? 어디서 붙어 있었 니? – MarcinJuraszek

+0

포인트 목록으로 Lat와 Long 세트를 사용하여 폴리곤을 형성하는 방법을 이해하려고합니다. 이 문제를 해결할 수있는 방법은 무엇입니까? – user1701450

답변

1

다음 예제에서 볼 수 있듯이 일련의 정점에서 다각형을 생성하는 것은 잘못 정의되어 있습니다.

다각형을 시계 방향으로 형성

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 폴리곤의 경계)에 관심이 있다면 많은 다른 값이 계산되어집니다.

+0

또는 간단히 말해서, 어린이와 같이 도트 퍼즐을 풀기 위해 노력한 사람처럼, 폴리곤을 그리기 위해서는 점의 순서가 중요합니다. –

+0

@ ZoharPeled 직접적인 재구성에 감사드립니다. 그러나 정점이 거의없고 모든 경우를 다루고 비 교차 에지 만 사용하는 구체적인 예를 제공하고자했습니다. – Codor

+0

제안 해 주셔서 감사합니다. 이 꼭지점을 공간 좌표 (위도/경도)로 정의 할 때 이것이 어떻게 적용되는지 알고 싶습니다. – user1701450