이 섹션에서는 선분이 원점을 통과하는지 확인하는 방법에 대해 알아봅니다. 선분의 끝점을 나타내는 두 개의 좌표점이 있습니다.
접근 방식은 간단합니다. 직선의 방정식을 만들 수 있고 방정식에 (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