检查线是否通过C ++中的原点
在本节中,我们将看到如何检查线段是否通过原点。我们有两个坐标点代表线段的端点。
该方法很简单。如果我们可以形成直线方程,并通过将(0,0)放到方程中,并且方程满足,则直线穿过原点。
假设点是,则通过这两条线的线方程为-
$$y-y_{1}=\left(\frac{y_{2}-y_{1}}{x_{2}-x_{1}}\right)*\lgroupx-x_{1}\rgroup+c$$
将x=0和y=0,我们得到
$$x_{1}\lgroupy_{2}-y_{1}\rgroup=y_{1}\lgroupx_{2}-x_{1}\rgroup$$
示例
#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