语言:java
目前我想测试2两条线是否相交(在我的情况下,相连接不视为相交),代码如下
Point point1 = new Point(10,10);
Point point2 = new Point(20,20);
Line2D line1 = new Line2D.Double();
line1.setLine(point1,point2);
Point point3 = new Point(20,20);
Point point4 = new Point(30,30);
Line2D line2 = new Line2D.Double();
line2.setLine(point3,point4);
System.out.println("This is "+line1.intersectsLine(line2));
出来的是true(我想要的是false,因为他们相连接的,在我的这个情况下不算相交)
这个intersectsline 把相连也当做的相交,我想请问请问一下有没有其他办法测试他们是否相交(但是相连接得情况不算)
为了让大家更好的理解我的问题,我把我的问题具体说一下:
目前我在做一个机器人自动导航找最短路线的程序,我现在想画visibility graph(中文名我不确定,我“有道”查了一下叫:可视图法,不知道对不对) 我想测试一条线是否与一个多边形相交。我把多边形变成了一条一条的边,然后测试是否相交。所以就有了以上的问题。
如果上面的问题不能解决,有大神能告诉我怎么测试一条线与多边形是否相交的话(相连接不视为相交),也感激不敬!
谢谢大家的帮助!