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

โปรแกรมหาเส้นที่ลากผ่าน 2 Points ใน C++


ในปัญหานี้ เราได้รับพิกัดสองจุด 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)