이 문제에서는 좌표평면의 두 점 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)