두 점 사이의 거리
피타고라스 정리
직각 삼각형에서 빗변의 제곱은 수직하는 두 변의 제곱의 합과 같다.
이 공식은 2차원 평면좌표에서 서로 다른 위치에 찍힌 두 점 사이의 거리를 구하는데 사용할 수 있다.
c에서 지원되는 math.h 헤더파일은 수학과 관련된 공식들이 모여있다. 이 중에서 제곱을 반환하는 함수 pow와 제곱근을 반환하는 함수 sqrt를 사용해서 두 점 사이의 거리를 구할 수 있다.
pow(double, double)
제곱을 뜻하는 power의 줄임말이다. 인자로 받은 첫 번재 인자로 제곱할 수를 받고 두 번째 인자로 제곱할 수 즉, 지수를 받는다.
double result = pow(2.0, 2.0);
printf("result : %lf", result);
// 출력
// result : 4.000000
sqrt(double)
제곱근 square root의 줄임말로 인자로 받은 값의 제곱근을 반환하는 함수이다.
double result = pow(2.0, 2.0);
double result2 = sqrt(result);
printf("square root : %lf", result2);
// 출력
// result2 : 2.000000
두 점 사이의 거리
두 점을 입력 받고 사이의 거리를 출력한다.
#include <stdio.h>
#include <math.h>
double GetDistance(double _x1, double _y1, double _x2, double _y2);
int main()
{
double x1, x2, y1, y2;
printf("첫 번째 점의 x, y 좌표 : \n");
scanf_s("%lf %lf", &x1, &y1);
printf("두 번째 점의 x, y 좌표 : \n");
scanf_s("%lf %lf", &x2, &y2);
double distance = GetDistance(x1, y1, x2, y2);
printf("거리 : %lf\n", distance);
return 0;
}
double GetDistance(double _x1, double _y1, double _x2, double _y2)
{
return sqrt(pow(_x2 - _x1, 2.0) + pow(_y2 - _y1, 2.0));
}