在 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.