하나의 다각형에 대한 Cloud 마크를 그리는 것에 대해 알아봤습니다.
연결된 여러개의 다각형이 있을 경우 각각 개별적으로 다각형을 생성하는 것은 자칫 지저분해 보일 수 있으므로
연결된 다각형을 묶어 Cloud 마크를 생성하는 것에 대해 알아보도록 하겠습니다.
가운데 3개의 다각형(B,C,D)이 겹쳐져 있습니다.
먼저 겹쳐진 다각형을 찾아야 합니다.
다각형의 Bounding Box를 이용하여 서로 겹쳐지는지 여부를 확인할 수 있습니다.
여러개의 다각형을 Cloud 마크를 그리기위해 하나의 다각형으로 만들어줘야 합니다.
(저희들은 하나의 다각형에 대해서 Cloud 마크를 그리는 로직을 가지고 있습니다.)
일단 다각형을 구성하는 정점들을 구합니다.
첫번째 방법 : 정점들을 포함하는 Bounding Box를 구해 다각형을 생성합니다.
두번째 방법 : 정점들을 포함하는 ConvexHull을 구해 다각형을 생성합니다.
연결된 여러개의 다각형이 있을 경우 각각 개별적으로 다각형을 생성하는 것은 자칫 지저분해 보일 수 있으므로
연결된 다각형을 묶어 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을 구해 다각형을 생성합니다.
댓글
댓글 쓰기