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

โปรแกรม C++ หาพิกัดทั้งหมดที่เป็นไปได้ของรูปสี่เหลี่ยมขนาน

หาพิกัดทั้งหมดที่เป็นไปได้จากพิกัดสามจุดที่กำหนด เพื่อสร้างรูปสี่เหลี่ยมขนานที่มีพื้นที่ไม่เป็นศูนย์ สมมติ A, B, C เป็นสามจุดที่กำหนด เราสามารถมีสถานการณ์ที่เป็นไปได้เพียงสามแบบ

  • AB, AC เป็นด้าน และ BC เป็นเส้นทแยงมุม
  • AB, BC เป็นด้าน และ AC เป็นเส้นทแยงมุม
  • BC, AC เป็นด้าน และ AB เป็นเส้นทแยงมุม

ดังนั้นเราสามารถบอกได้ว่ามีเพียงสามพิกัดที่เป็นไปได้ ซึ่งจากนั้นเราสามารถสร้างรูปสี่เหลี่ยมขนานได้ หากมีพิกัดสามจุด เนื่องจากด้านตรงข้ามเท่ากัน ดังนั้น AD = BC และ AB = CD เราจะคำนวณพิกัดของจุดที่หายไป D ดังนี้ −

(Dx - Ax, Dy - Ay) = (Cx - Bx, Cy - By) 
Dx = Ax + Cx - Bx 
Dy = Ay + Cy - By

ตัวอย่าง

#include <iostream> 
using namespace std; 

void printPoints(int ax, int ay, int bx, int by, int cx, int cy){ 
    cout << ax + bx - cx << ", " << ay + by - cy << endl; 
    cout << ax + cx - bx << ", " << ay + cy - by << endl; 
    cout << cx + bx - ax << ", " << cy + by - ax << endl; 
} 

int main() { 
    int ax = 5, ay = 0; // พิกัดของ A 
    int bx = 1, by = 1; // พิกัดของ B 
    int cx = 2, cy = 5; // พิกัดของ C 
    printPoints(ax, ay, bx, by, cx, cy); 
}

ผลลัพธ์

4, -4 
6, 4 
-2, 1