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

ค้นหาจุดปลายอีกด้านของเส้นโดยให้ปลายด้านหนึ่งและตรงกลางกำหนดโดยใช้ C++


ในปัญหานี้ เราได้รับพิกัดของจุดสองจุดของจุดเริ่มต้นเส้น A(xA , yA ) และจุดกึ่งกลาง M(xM , y ) . งานของเราคือ ค้นหาจุดสิ้นสุดอื่นของเส้นที่มีปลายด้านหนึ่งและตรงกลาง .

มาดูตัวอย่างเพื่อทำความเข้าใจปัญหากัน

ป้อนข้อมูล

A = [1, 2], M = [3, 0]

ผลผลิต

[5, -2]

คำอธิบาย

เส้นคือ −

ค้นหาจุดปลายอีกด้านของเส้นโดยให้ปลายด้านหนึ่งและตรงกลางกำหนดโดยใช้ C++

แนวทางการแก้ปัญหา

ในการแก้ปัญหา เราจะใช้แนวคิดเรื่องเรขาคณิตที่เราได้เรียนรู้ในวิชาคณิตศาสตร์ ถ้าคุณจำได้ว่ามีสูตรจุดกึ่งกลางสำหรับทุกบรรทัดคือ

mid(x) = (x1 + x2) / 2
mid(y) = (y1 + y2) / 2

แต่เราได้รับค่าของจุดกึ่งกลางในปัญหาและต้องการค่าสำหรับ x2 และ y2 ดังนั้นเราจะเปลี่ยนสูตรตามนั้น

x2 = 2*mid(x) - x1
y2 = 2*mid(y) - y1

เมื่อใช้สูตรข้างต้น เราจะสามารถหาค่าของจุดสิ้นสุดอื่นโดยใช้จุดกึ่งกลางและจุดหนึ่งของเส้น

ตัวอย่าง

โปรแกรมเพื่อแสดงการทำงานของโซลูชันของเรา

#include <iostream>
using namespace std;
void findMissingPointLine(float x1, float y1, float xm, float ym){
   float x2 = (2 * xm) - x1;
   float y2 = (2 * ym) - y1;
   cout<<"B(x, y) = "<<"( "<<x2<<", "<<y2<<" )";
}
int main()
{
   float x1 = -4, y1 = -1, xm = 3, ym = 5;
   cout<<"The other end point of the line is \n";
   findMissingPointLine(x1, y1, xm, ym);
   return 0;
}

ผลลัพธ์

The other end point of the line is
B(x, y) = ( 10, 11 )