如何在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