ในส่วนนี้เราจะมาดูวิธีการตรวจสอบส่วนของเส้นที่ผ่านต้นทางหรือไม่ เรามีจุดพิกัดสองจุดเพื่อแสดงจุดสิ้นสุดของส่วนของเส้นตรง
วิธีการนั้นง่าย หากเราสามารถสร้างสมการของเส้นตรงได้ และโดยการวาง (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