Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ตรวจสอบว่ามีเส้นผ่านต้นทางใน 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