Im пытается найти пункт Line2D
объекты inersections или просто ответьте, если его пересечение. Все, что я получил прямо сейчас, определенные линии и эта часть кода:Точка пересечения двух линий
class Linia {
public java.awt.geom.Line2D.Double getLine() {
return line;
}
public void setLine(java.awt.geom.Line2D.Double line) {
this.line = line;
}
private java.awt.geom.Line2D.Double line;
}
public class Lines {
public static java.awt.geom.Line2D.Double create(double x1, double y1,double x2, double y2) {
java.awt.geom.Line2D.Double tmpL = new java.awt.geom.Line2D.Double();
tmpL.x1 = x1;
tmpL.y1 = y1;
tmpL.x2 = x2;
tmpL.y2 = y2;
return tmpL;
}
public int getIle() {
return ile;
}
public void setIle(int k) {
this.ile=ile;
}
private int ile;
public static void main(String[] args) {
int j, a = 0, z = 0, i, v = 0;
Scanner f = new Scanner(System.in);
j = f.nextInt();
double pktx[] = new double[j];
double pkty[] = new double[j];
Lines ile1 = new Lines();
ile1.setIle(Integer.valueOf(j));
for (i = 0; i < j; i++) {
Scanner h = new Scanner(System.in);
pktx[i] = h.nextInt();
Scanner o = new Scanner(System.in);
pkty[i] = o.nextInt();
}
for (i = j - 1; i > 0; i--) {
a=a+i;
}
Linia[] line = new Linia[a];
for (v = 0; v < a; v++) line[v]=new Linia();
v=0;
for (z = 0; z < j; z++) {
double d=pktx[z];
double y=pkty[z];
for (i = z + 1; i < j; i++) {
double u = pktx[i];
double t = pkty[i];
line[v].setLine(create(Double.valueOf(d), Double.valueOf(y), Double.valueOf(u), Double.valueOf(t)));
System.out.println("Linia " + v + " " + line[v].getLine().getBounds());
v++;
}
}
CTriangle count=new CTriangle();
count.linesIntersect(line[3], line[5]);
}
}
public class CTriangle {
public static boolean linesIntersect(Linia l1, Linia l2) {
System.out.println("Crossing");
return false;
}
}
Для точек 1,1 4,1 4,4 1,4 там shoudn't появляются Crossing
, но это делает.
Я ищу метод, который показывает пересечение, потому что метод linesIntersection
возвращает false
или true
. Или правильная реализация метода linesintersection
.
Где код, где вы пытаетесь проверить, пересекаются ли линии друг с другом? Мы можем помочь вам с конкретными проблемами, но мы не пишем ваш код для вас. – Robert
Используйте класс java.awt.geom.Line2D, он уже имеет метод тестирования пересечения, а также множество других полезных методов. Если вам нужны вычисления, проверьте исходный код или google для обнаружения пересечения линий, чтобы найти учебник по рассматриваемой математике. – Durandal