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

C++에서 선이 원점을 통과하는지 확인하십시오.

<시간/>

이 섹션에서는 선분이 원점을 통과하는지 확인하는 방법에 대해 알아봅니다. 선분의 끝점을 나타내는 두 개의 좌표점이 있습니다.

접근 방식은 간단합니다. 직선의 방정식을 만들 수 있고 방정식에 (0, 0)을 대입하여 방정식을 만족하면 직선은 원점을 통과합니다.

점이 이고 이 두 선을 통과하는 선의 방정식은 -

라고 가정합니다.

$$y-y_{1}=\left(\frac{y_{2}-y_{1}}{x_{2}-x_{1}}\right)*\lgroup x-x_{1}\rgroup +c$$

x =0 및 y =0을 넣으면

$$x_{1}\l그룹 y_{2}-y_{1}\rgroup=y_{1}\l그룹 x_{2}-x_{1}\r그룹$$

예시

#include<iostream>
using namespace std;
bool checkPassOrigin(int x1, int y1, int x2, int y2) {
   return (x1 * (y2 - y1) == y1 * (x2 - x1));
}
int main() {
   if (checkPassOrigin(10, 0, 20, 0) == true)
      cout << "Passes Through Origin";
   else
      cout << "Not Passing Through Origin";
}

출력

Passes Through Origin