java - 如何确保我在java中的矩形是一个有效的矩形

标签 java coordinates

这是我当前的程序,它可以在给定四个点的情况下找到矩形的周长。我正在为一个学校项目做这件事,并希望确保这些线形成一个有效的矩形,但我什至不知道从哪里开始检查相交线。我该怎么做?

package perimeter;
import java.util.Scanner;
import javafx.geometry.Point2D;

public class Main {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);

        System.out.print("Enter point 1's x-, y-coordinates: ");
        double x1 = input.nextDouble();
        double y1 = input.nextDouble();
        System.out.print("Enter point 2's x-, y-coordinates: ");
        double x2 = input.nextDouble();
        double y2 = input.nextDouble(); 
        System.out.print("Enter point 3's x-, y-coordinates: ");
        double x3 = input.nextDouble();
        double y3 = input.nextDouble();
        System.out.print("Enter point 4's x-, y-coordinates: ");
        double x4 = input.nextDouble();
        double y4 = input.nextDouble();
        input.close();

        Point2D p1 = new Point2D(x1, y1); 
        Point2D p2 = new Point2D(x2, y2);       
        Point2D p3 = new Point2D(x3, y3); 
        Point2D p4 = new Point2D(x4, y4);

        double Perimeter = p1.distance(p2) + p2.distance(p3) +
          + p3.distance(p4) + p4.distance(p1);

        System.out.println("The perimeter is " + 
                 Perimeter);
    }
}

最佳答案

要获得周长,您必须计算矩形周围的总距离,但我认为您的问题是如何在给定 4 个点的情况下检查它是否真的是矩形。我认为最好的方法是检查 3 个点是否形成直角(哪 3 个点取决于 4 个点的顺序) 如果我们看到一些代码,可能会有更多帮助。

关于java - 如何确保我在java中的矩形是一个有效的矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48509666/

相关文章:

java - 为什么 Math#nextUp 不增加 Double.MIN_VALUE?

在gnuplot中绘制两点之间的线

c++ - 在 ARToolKit 中检索标记坐标

java - 使用 Path 2d 检测坐标

java - 使用 JMeter 调用 java 方法

java - 如何从通过串行端口接收的数据创建 BufferedImage

java - Lucene中如何获取以特定字母开头的记录

java - 使用 JApplet 调用paintComponent

r - 在 map 上的 ggplot2 中按面积比较城市

javascript - 在窗口调整大小时刷新 svg 坐标