在 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; //coordinates of A
   int bx = 1, by = 1; //coordinates of B
   int cx = 2, cy = 5; //coordinates of C
   printPoints(ax, ay, bx, by, cx, cy);
}

輸出

4, -4
6, 4
-2, 1

更新於: 2019 年 11 月 1 日

144 次瀏覽

啟動你的 職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.