기본 콘텐츠로 건너뛰기

라벨이 ConvexHull인 게시물 표시

Cloud 마크 그리기 개선

하나의 다각형에 대한 Cloud 마크를 그리는 것에 대해 알아봤습니다. 연결된 여러개의 다각형이 있을 경우 각각 개별적으로 다각형을 생성하는 것은 자칫 지저분해 보일 수 있으므로 연결된 다각형을 묶어 Cloud 마크를 생성하는 것에 대해 알아보도록 하겠습니다. 가운데 3개의 다각형(B,C,D)이 겹쳐져 있습니다. 먼저 겹쳐진 다각형을 찾아야 합니다. 다각형의 Bounding Box를 이용하여 서로 겹쳐지는지 여부를 확인할 수 있습니다. # A, B is Bounding Box if A.MinX > B.MaxX or A.MinY > B.MaxY or A.MaxX < B.MinX or A.MaxY < B.MaxY: return false else: return true 따라서 아래와 같이 색깔별로 묶을 수 있습니다. 여러개의 다각형을 Cloud 마크를 그리기위해 하나의 다각형으로 만들어줘야 합니다. (저희들은 하나의 다각형에 대해서 Cloud 마크를 그리는 로직을 가지고 있습니다.) 일단 다각형을 구성하는 정점들을 구합니다. 첫번째 방법 : 정점들을 포함하는 Bounding Box를 구해 다각형을 생성합니다. 두번째 방법 : 정점들을 포함하는 ConvexHull을 구해 다각형을 생성합니다.