ในปัญหานี้ เราได้รับพิกัดสองจุด A และ B บนระนาบพิกัด งานของเราคือสร้างโปรแกรมเพื่อค้นหาเส้นที่ผ่าน 2 จุดในภาษา C++
คำอธิบายปัญหา
ในการหาเส้นตรง เราต้องใช้สมการของเส้นตรงแล้วใส่คำตอบโดยใช้พิกัด
มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน −
อินพุต:A =(3, 3) B =(6, 1)
ผลผลิต :2x + 3y =15
แนวทางการแก้ปัญหา
ในการหาสมการของเส้นตรง เราจะใช้สมการทั่วไปของเส้นตรง -
ขวาน + โดย =ค
สิ่งนี้จะต้องได้รับความพึงพอใจจากทั้งคะแนน A(x1, y1) และ B(x2, y2)
จะทำให้สมการ
ax1 + by1 =ค
ax2 + by2 =ค
ตอนนี้เนื่องจาก c เป็นเรื่องธรรมดาสำหรับสมการทั้งสองที่เรามี
ax1 + by1 =ax2 + by2
=> ax1 - ax2 =คูณ2 - คูณ1
เมื่อเท่ากันเราจะได้
$$a =(y2 - y1)$$ $$b =(x1 - x2)$$
c จะพบโดยใช้สมการ
$$ax1 + by1 =c$$
นี่คือสมการของสมการเส้นตรง
$$a =(y2 - y1)$$ $$b =(x1 - x2)$$ $$c =ax1 + โดย1$$
ตัวอย่าง
#include <iostream> using namespace std; void findLine(int points[2][2]) { int a = points[1][1] - points[0][1]; int b = points[0][0] - points[1][0]; int c = a*points[0][0] + b*points[0][1]; cout<<"("<<a<<"x) + ("<<b<<"y) = ("<<c<< } int main() { int points[2][2] = {{5, 9}, {1, 4}}; cout<<"The equation of line is "; findLine(points); return 0; }
ผลลัพธ์
The equation of line is (-5x) + (4y) = (11)