도형병합(교차)를 이용한 두 도형의 충돌체크
VBA에서 두 도형의 교차 혹은 충돌여부를 판단할 때 단순한 사각형의 경우 AABB 방식으로 두 도형의 좌표와 넓이와 높이를 비교해서 알아낼 수 있습니다. 하지만 도형이 회전한 경우나 사각형이 아닌 복잡한 도형의 경우 AABB방식은 실패합니다. 그래서 두 도형간에 선을 그어서 교차하는 점이 몇개인지 검사하거나 다른 복잡한 알고리즘들을 사용합니다. 두 도형간의 교차 여부를 알려주는 프로그램언어도 있지만 VBA에서는 도형의 충돌체크가 간단하지 않습니다. 이 경우 시간은 좀 걸릴 수 있지만 간단히 두 도형을 도형병합(교차)을 이용해서 교차시켜보고 나오는 도형이 있는지 검사해본다면 쉽게 충돌여부를 알아낼 수 있습니다. (단, 도형병합을 지원하는 2010버전 이상이어야겠습니다.) 위의 그림에서 왼쪽 두 번개는 충..
PPT+VBA
2022. 8. 12. 12:36
최근댓글