Programming/수학&물리
두 원의 충돌(원과 점의 충돌)
군자동꽃미남
2015. 11. 21. 22:48
float check_x = 좌표1.x - 좌표2.x; // 좌표 1과 좌표 2의 x 값 만큼의 차이
float check_y = 좌표1.y - 좌표2.y; // 좌표 1과 좌표 2의 y 값 만큼의 차이
int distance = sqrt((check_x * check_x) + (check_y * check_y)); // 피타고라스의 정리에 의해 C^2 = A^2 + B^2
// 만약 구해진 사잇값이 원의 반지름보다 크면 비충돌, 작으면 충돌.
// 두 원 사이의 충돌도 구할 수 있음. ex) 사잇값 <= 원1.반지름 + 원2.반지름
if( distance <= 반지름 )
{
충돌
}
else
{
비충돌
}