비슷한 질문을했지만, 아무도 내 문제와 관련이 없다고 생각합니다.그리드에서 회전 한 후 다각형이 차지하는 위치를 계산하십시오.
저는 10x10의 그리드 셀에서 간단한 폴리곤 (예 : 직사각형, L 모양과 같은 다각형)의 이동과 회전을 C++로 코딩하고 있습니다.
너비 = 1 셀 및 높이 = 3 셀의 사각형이 있다고 가정 해 보겠습니다. 8 방향으로 쉽게 번역 할 수 있습니다. 그러나이 폴리곤을 45º 회전시키려는 경우 얻을 수는 있지만 사각형이 현재 차지하고 있거나 부분적으로 차지하고있는 셀을 계산하고 싶습니다.
나는 사각형의 질량 중심 즉, 그 셀을 가지고있다. 크기에 따라 회전하기 전에 직사각형이 차지하는 위치를 계산할 수 있습니다. 그러나 회전 후에는 직사각형이 차지하는 셀 위치를 계산하는 방법을 찾을 수 없습니다.
대단히 감사합니다!
원래 다각형의 경계 상자를 사용하면 회전 된 다각형이 차지하는 실제 셀을 과도하게 계산합니다. – fang
@fang 약식이지만, 대략적인 것일뿐입니다. 사각형에서 다각형 교차 검사가 여전히 필요합니다. – raveesh
고맙습니다. 정말 유용했습니다! – user3018940