본문 바로가기

두 점 사이 거리

[C++] 두 점 사이의 거리 구하기 ※ 요약 이전에는 C언어로 두 점 사이의 거리를 구했는데, 같은 예제를 이번엔 C++로 작성해보았다. 사실 매일 하나의 글을 포스팅하기 위해 C언어와 C++을 나눠서 하느라 가끔 억지스러운 면이 없지 않아 있는거 같다. ※ 특징 C++을 이용해 피타고라스 정리를 구현하여 두 점 사이의 거리를 구한다. 좀 더 자세한 설명은 이전 글에 있으니 필요하다면 참고하기 바란다. 큰 틀은 C언어로 작성한 것과 같다. template 클래스와 template 함수로 작성하여 타입에 상관없이 거리를 구할 수 있게 하였다. 이렇게 template으로 만든 이유는, 윈도우 클라이언트 영역은 정수 타입이고, OpenGL이나 DirectX는 보통 실수 타입이기 때문이다. 또 필자는 아직 template 문법에 약하기 때문에 조.. 더보기
[C언어] 두 점 사이의 거리 구하기 ※ 요약 피타고라스의 정리를 이용한 두 점 사이의 거리 구하기다. 아래 그림과 같은 직각 삼각형이 있을때, 세 변의 길이는 a^2+b^2=c^2인 관계가 성립한다는 것이 피타고라스 정리다. 위 같은 공식을 아래 그림에 적용해보자. 먼저 빨간점 p1과 p2가 있고, 각각 가상의 수직선과 수평선을 그었다. 그리고 가상의 노란 빗변을 이어주니 직각 삼각형이 되었다. 이제 a^2+b^2=c^2를 이용하여 두 점 사이의 거리를 구한다는게 느낌이 올 것이다. (좀더 자세히 쓰려다가 그림 그리기도 귀찮고 수식 입력도 안되서 여기까지 작성함) ※ 특징 C언어를 이용해 피타고라스 정리를 구현하여 두 점 사이의 거리를 구한다. C언어 소스는 아래와 같다. 임의의 점 p1(432, 189)과 p2(38, 392)의 거리를 .. 더보기