답변:
이 문제에는 두 가지 경우가 있습니다. 첫 번째는 교차점이고 두 번째는 겹칩니다 (포함).
먼저 (원 내부의 교차점 / 다각형) :
다각형의 모든 가장자리에서 원의 중심에 가장 가까운 점을 찾습니다. 중심에서 가장 가까운 점 사이의 거리가 반경보다 작 으면 교차점 또는 겹침이 생깁니다.
두 번째 (원은 다각형 전체) : 원 중심에서 오른쪽 (또는 왼쪽 / 위 / 아래)으로 광선을 쏘고 광선 / 세그먼트 (다각형 모서리) 교차점을 계산합니다. 교차 개수가 짝수이면 원이 다각형 외부에 있습니다. 홀수 원이면 안에 있습니다.
이 경우에 대한 강의에서 picter를 공유합니다.
그리고 특이한 경우도 돌봐주세요.
이것이 도움이되기를 바랍니다.
편집 : 그림에 크레딧을 추가하는 것이 공평하다고 생각합니다. 저자는 Petr Felkel, 프라하 체코 공과 대학 조교수
첫 번째 단계는 오목한 다각형을 여러 개의 볼록한 다각형으로 분할하는 것입니다. 그 이유는 볼록 다각형에서만 작동 하는 분리 축 정리를 사용 하기 때문입니다 .
SAT 자체는 2 개의 볼록 다각형에서만 작동합니다. 이름에서 "분리 축"은 다각형의 가장자리에 수직 인 축을 나타냅니다. 불행히도 서클에는 무한한 수가 있습니다. 그러나 다각형의 꼭짓점을 가로 지르기 위해 바깥쪽으로 돌출하는 것을 보면 어떤 축이 관련이 있는지 쉽게 찾을 수있는 방법이 있습니다.
Metanet Software (N / N + 제조업체)는 전체 알고리즘을 다루지 않고 SAT를 사용한 충돌 감지에 대한 유용한 자습서를 제공 합니다. 세 번째 섹션은 객체 중 하나가 원일 때 SAT를 다룹니다 .
여기 내가하는 일이 있습니다.