두 점 사이의 거리 구하기

2차원과 3차원

 

 

 

플레이어 사이의 거리 혹은 충돌하려는 두 물체 사이의 거리, 더 나아가서는 사정 거리 안에 들어왔는지 아닌지를 알고 싶을 때가 생기면 어떻게 해야 할까?

가장 간단한 방법은 피타고라스의 정리를 이용하는 것이다.

 

 

 

 

◎ 두 점 사이의 거리

두 점 A와 사이의 거리를 구하고 싶다.

A와 B를 잇는 선분을 하나 그린 후 이를 빗변으로 하는 직각 삼각형을 하나 그린다.

A(x1, y1), B(x2, y2)라 할 때 나머지 하나의 꼭짓점의 좌표는 C(x2, y1)이 된다. 

 

여기서 피타고라스의 정리를 사용하면 A와 B를 잇는 빗변의 거리를 구할 수 있다.

 

 

제곱근은 직접 연산을 통해 계산해도 되지만 <math.h> 헤더를 추가해 sqrt 와 pow를 이용해도 된다. 

 

sqrt(값) 제곱근을 구하는 함수로 제곱근을 반환 

pow(값, 지수) 제곱을 구하는 함수. 

 

 

 

 

◎ 3차원으로의 확장

위의 거리의 공식은 xy축에 추가로 z축을 사용하는 3차원으로도 쉽게 확장할 수 있다.

공식에 z좌표만 추가하면 된다.

 

두 점 A(x1, y1, z1), B(x2, y2, z2) 사이의 거리는 

 

 

 

 

 

+ Recent posts