2016-07-03 2 views
0

타일 기반의 게임을 만들고 있습니다.연결된 컴포넌트 레이블링의 결과를 기반으로 폴리 꼭지점 계산하기

이제 연결 요소 레이블링 알고리즘을 사용하여 연결된 모든 영역을 찾을 수 있습니다.

그러나 지금 내가 가지고있는 문제는 연결된 각 영역의 폴리 정점을 계산하는 방법입니다. 예를 들어

: enter image description here

당신은 모든 노란색 타일 같은 지역의이고 연결된 구성 요소 레이블링 알고리즘의 도움으로 나는 각 타일의 모든 (x, y)의 정보를 알고 볼 수 있듯이.

이제 노란색 영역 폴리 (시계 방향)에 대한 폴리 정점 배열을 생성하고 싶습니다.

enter image description here

이것에 대한 좋은 알고리즘이 있나요?

는 어떤 제안을 이해할 수있을 것이다

, 드디어이 게시물을 기반으로 솔루션을 찾아 좀 더 연구를 수행 한 후 감사 :

답변

0

:

    : 여기 java-merge-adiacent-rectangles-into-a-polygon

    은 일반적으로 내 용액 공정 순서입니다

  • 타일의 모든 가장자리를 EdgeArray로 추출하십시오.
  • EdgeArray에서 복제 된 모든 가장자리를 제거하십시오. 이것은 leavi입니다 NG 만 병합 된 폴리 윤곽의 가장자리는 내가 원하는
  • 연결 꼬리, 꼬리에 머리에 머리에서 모든 가장자리 ...
  • 모든 정점이 가장자리

에서 지적하고 마침내의 픽업 시계 방향으로 PolyVerticesArray 싶습니다.

enter image description here