[C++] 두 점 사이의 거리 구하기 pow(), sqrt()

2019. 7. 27. 20:50 기타/C++

[C++] 두 점 사이의 거리 구하기 pow(), sqrt()


두 점사이의 거리를 구해보자.


하나의 점은 구조체로 x, y 좌표를 초기화한다.


두 점 사이의 거리는 피타고라스의 정리를 사용하여 구할 수 있다.


거리 =

이 계산을 하기 위해서는 제곱과 제곱근을 계산해야 한다.


#include<cmath> 를 사용하여, pow() 와 sqrt() 함수를 사용할 수 있다.


pow(a,b) : a의 b승


sqrt(x) : x의 제곱근


따라서 아래와 같이 Distance 함수를 작성할 수 있다.

#include <iostream>
#include <cmath>
using namespace std;

struct Point{
    int x, y;
};

double Distance(const Point& p1, const Point& p2);

int main(){

    // 두 점을 만든다.
    Point a = { 0, 0 };
    Point b = { 3, 4 };

    // 두 점의 거리를 구한다.
    double dist_a_b = Distance(a, b);


    cout << "(" << a.x << ", " << a.y << ") 와 ";
    cout << "(" << b.x << ", " << b.y << ") 의 거리 = " << dist_a_b << endl;

}

double Distance(const Point& p1, const Point& p2){

    double distance;

    // 피타고라스의 정리
    // pow(x,2) x의 2승,  sqrt() 제곱근
    distance = sqrt(pow(p1.x - p2.x, 2) + pow(p1.y - p2.y, 2));

    return distance;
}



출처: https://hyeonstorage.tistory.com/299?category=601868 [개발이 하고 싶어요]