Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 终点线交点_Java_Math_Line - Fatal编程技术网

Java 终点线交点

Java 终点线交点,java,math,line,Java,Math,Line,我有一个简单的点对象 public class Point { private double x; private double y; } 和简单的线对象 public class Line { private Point start; private Point end; } 现在我需要找到两条线的交点,它不是那么简单,因为这两条线有起点和终点 public boolean isIntersecting(Line other) { .... } public Point intersec

我有一个简单的点对象

public class Point {
private double x;
private double y;
}
和简单的线对象

public class Line {
private Point start;
private Point end;
}
现在我需要找到两条线的交点,它不是那么简单,因为这两条线有起点和终点

public boolean isIntersecting(Line other) {
....
}

public Point intersectionWith(Line other) {
.....

有什么想法吗?

首先,我想你指的是线段,直线没有起点和终点。 那么, 将起点和终点代入方程y=kx+b; 你会得到(k1,b1)和(k2,b2)

如果k1==k2和b1!=b2 两条线是平行的

如果k1==k2,b1==b2 两条线是同一条线

如果k1!=k2 使用y=k1x+b1和y=k2x+b2获得交点(x,y)


最后,将(x,y)与起点和终点进行比较,看看是否存在交叉点。

这感觉几乎完全是一个数学问题——没有迹象表明编程是这里的问题。互联网上有大量关于求线是否相交的数学的网页。你有没有看过?你遇到了什么问题?目前,这个问题至少看起来你还没有做足够的研究。学习检查两条线段是否相交的算法,并尝试用代码实现它。如果您在实现过程中遇到任何问题,您可以在这里提问。我将投票结束这个问题,因为这是一个数学问题,而不是编程问题