Computer >> Máy Tính >  >> Lập trình >> C ++

Kiểm tra xem một dòng có đi qua điểm gốc trong C ++ hay không

Trong phần này, chúng ta sẽ thấy, làm thế nào để kiểm tra một đoạn thẳng có đi qua điểm gốc hay không. Chúng tôi có hai điểm tọa độ để biểu thị các điểm cuối của đoạn thẳng.

Cách tiếp cận rất đơn giản. Nếu chúng ta có thể lập phương trình của đường thẳng, và bằng cách đặt (0, 0) vào phương trình, và phương trình thỏa mãn, thì đường thẳng đi qua gốc tọa độ.

Giả sử các điểm là và Vậy phương trình của đường thẳng đi qua hai đường này là -

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

Đặt x =0 và y =0, chúng ta nhận được

$$ x_ {1} \ lgroup y_ {2} -y_ {1} \ rgroup =y_ {1} \ lgroup x_ {2} -x_ {1} \ rgroup $$

Ví dụ

#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";
}

Đầu ra

Passes Through Origin