Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 두 점을 지나는 선을 찾는 프로그램

<시간/>

이 문제에서는 좌표평면의 두 점 A와 B에 좌표가 주어집니다. 우리의 임무는 C++에서 2개의 점을 지나는 선을 찾는 프로그램을 만드는 것입니다.

문제 설명

선을 찾으려면 선의 방정식을 사용하고 좌표를 사용하여 솔루션을 입력해야 합니다.

문제를 이해하기 위해 예를 들어보겠습니다. -

입력:A =(3, 3) B =(6, 1)

출력 :2x + 3y =15

해결 방법

선의 방정식을 찾기 위해 우리는 선의 일반 방정식을 사용할 것입니다 -

ax + by =c

이것은 점 A(x1, y1)와 B(x2, y2) 모두에 의해 충족되어야 합니다.

방정식을 만들 것입니다.

ax1 + by1 =c

ax2 + by2 =c

이제 c는 우리가 가진 두 방정식에 공통적이므로

x1 + by1 =x2 + by2

=> x1 - x2 =x2 - x1

평등화하면,

$$a =(y2 - y1)$$ $$b =(x1 - x2)$$

c는 방정식을 사용하여 찾을 수 있습니다.

$$ax1 + by1 =c$$

따라서 이것은 선의 방정식에 대한 방정식입니다.

$$a =(y2 - y1)$$ $$b =(x1 - x2)$$ $$c =ax1 + by1$$

#include <iostream> using namespace std;
void findLine(int points[2][2]) {
   int a = points[1][1] - points[0][1];
   int b = points[0][0] - points[1][0]; int c = a*points[0][0] + b*points[0][1];
   cout<<"("<<a<<"x) + ("<<b<<"y) = ("<<c<< 
}
int main() {
   int points[2][2] = {{5, 9}, {1, 4}}; cout<<"The equation of line is "; findLine(points);
   return 0;
}

출력

The equation of line is (-5x) + (4y) = (11)