在 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}\lgroup y_{2}-y_{1}\rgroup=y_{1}\lgroup x_{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

更新于: 2019年9月27日

570 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.