如何在Java中找到平行四邊形的所有可能座標?
平行四邊形是指具有兩對平行邊的四邊形,其中對邊長度相等,對角角度數相等。
在本文中,我們將找到平行四邊形的所有可能座標。
基本上,我們將根據給定的三個座標找到所有可能的座標,以構成一個非零面積的平行四邊形。這裡給定的三個座標不是固定點,可以更改。
因此,如果給定三個座標,我們可以斷言只有三個座標可以用來構建平行四邊形。
根據上圖,平行四邊形的對邊長度相等,即 AD = BC 和 AB = CD,我們可以計算缺失點 (D) 的座標為
AD = BC
(Dx - Ax, Dy - Ay) = (Cx - Bx, Cy - By)
Dx = Ax + Cx - Bx
Dy = Ay + Cy - By
讓我們開始吧!
舉幾個例子
示例 1
假設三個點為:
{a1 = 3, a2 = 2}, {b1 = 1, b2 = 0}, {c1 = 4, c2 = 2}
找到平行四邊形的所有可能座標後,結果將為:
(x, y) 座標為:
0, 0
6, 4
2, 0
示例 2
假設三個點為:
{a1 = 7, a2 = 2}, {b1 = 3, b2 = 0}, {c1 =0, c2 = 1}
找到平行四邊形的所有可能座標後,結果將為:
(x,y) 座標為:
10, 1
4, 3
-4, -1
演算法
步驟 1 - 宣告平行四邊形的三個座標。
步驟 2 - 使用公式查詢其他可能的座標。
步驟 3 - 列印結果。
多種方法
我們提供了不同方法的解決方案。
使用靜態輸入值
透過使用者定義的方法
讓我們逐一檢視程式及其輸出。
方法 1:使用靜態輸入值
在這種方法中,我們將三個點作為靜態輸入,並應用公式來列印結果。
示例
public class Main{
// main method
public static void main(String[] args){
//Declare the three coordinates of parallelogram
int a1 = 3, a2 = 2;
int b1 = 1, b2 = 0;
int c1 = 4, c2 = 2;
//find the other possible coordinates and printing it
System.out.println("The (x,y) coordinates are: ");
System.out.println(a1 + b1 - c1 + ", " + (a2 + b2 - c2));
System.out.println(a1 + c1 - b1 + ", " + (a2 + c2 - b2));
System.out.println(c1 + b1 - a1 + ", " + (c2 + b2 - a2));
}
}
輸出
The (x,y) coordinates are: 0, 0 6, 4 2, 0
方法 2:使用使用者定義的方法
在這種方法中,我們首先初始化一個使用者定義的方法,並將三個點作為輸入,並應用公式來列印結果。
示例
public class Main {
// main method
public static void main(String[] s){
//Declare the three coordinates of parallelogram
int a1 = 7, a2 = 2;
int b1 = 3, b2 = 0;
int c1 = 0, c2 = 1;
//calling user defined function
func(a1, a2, b1, b2, c1, c2);
}
//user defined function
static void func(int a1, int a2, int b1, int b2, int c1, int c2){
//find the other possible coordinates and printing it
System.out.println("The (x,y) coordinates are: ");
System.out.println(a1 + b1 - c1 + ", " + (a2 + b2 - c2));
System.out.println(a1 + c1 - b1 + ", " + (a2 + c2 - b2));
System.out.println(c1 + b1 - a1 + ", " + (c2 + b2 - a2));
}
}
輸出
The (x,y) coordinates are: 10, 1 4, 3 -4, -1
在本文中,我們探討了如何使用不同的方法在 Java 中找到平行四邊形的所有可能座標。
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP