본문 바로가기
프로젝트/Convex Polygon 최적 배치

1. Polygon의 4사분면 찾기

by 1005ptr 2018. 5. 4.
반응형

Hole Polygon을 자신을 포함하는 외부 Polygon에 접하도록 하기 위해서 4사분면의 중점을 사용하기로 했다


외부 폴리곤에 붙는 방향에 따라

Left Top, Left Bottom, Right Top, Right Bottom으로 나뉘며

이에 따라 Hole Polygon의

4사분면, 3사분면, 2사분면, 1사분면의 중점을 찾고


외부 Polygon의 대응되는 사분면을 찾아 시계방향으로 시작 점으로 Hole Polygon의 X사분면 중점을 이동시킨다


그래서 4사분면이 필요한데 처음 생각했을 때는 x축 변화량 또는 y축 변화량이 부호가 바뀌면 그 점이 두 사분면의 경계점이다 라고 생각했다


예외가 있었다

1. 이전 직선이 수직 또는 수평인 경우

2. 다음 직선이 수직 또는 수평인 경우

3. 현재직선과 다음 직선이 모두 수직, 수평인 경우

4. 4사분면이 하나 빠진 경우


4사분면의 정의

x 축, y 축 증감 방향이 변하는 지점에서 바꾼다



작업 순서

1. Polygon의 4사분면을 나타내는 Class Quadrant 생성

 - 4사분면들의 startPoint, EndPoint를 가지고 있다

2. 폴리곤의 4사분면을 인식하는 QuadrantClassification 메서드를 생성

 - Quadrant QuadrantClassification(Polygon)


반응형

'프로젝트 > Convex Polygon 최적 배치' 카테고리의 다른 글

Convex Polygon's Centeroid  (0) 2018.05.11
2. 점과 직선사이의 관계  (0) 2018.05.09

댓글