Teil der Aufgabe ist folgende:
Entwickeln Sie eine Klasse BoundingBox, welche die räumliche Ausdehnung einer Punktwolke (bestehend aus ca. 10 Punkten) erfasst. Definiert wird die BB durch die kleinsten und die größten Punktkoordinaten der Punktwolke.
* dem Konstruktor der BB wird eine Punktmenge (Hinweis: Array von Punkten) übergeben. Aus dieser Punktmenge wird die umgebende Box ermittelt.
* Methoden zur Rückgabe der beiden Eckpunkte
.....
Folgende Fehlermeldung erscheint beim ausführen:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 9
at Eckpunkte.main(Eckpunkte.java:15)
und hier meine Javadateien:
BoundingBox.java
[Java]public class BoundingBox {
public double xmin;
public double xmax;
public double ymin;
public double ymax;
public BoundingBox(Point []wolke) {
xmin = wolke[0].getx();
xmax = wolke[0].getx();
ymin = wolke[0].gety();
ymax = wolke[0].gety();
for (int i=1; i<=wolke.length; i++){
if (xmin > wolke.getx() )
xmin=wolke.getx();
if (xmax < wolke.getx() )
xmax=wolke.getx();
if (ymin > wolke.gety() )
ymin=wolke.gety();
if (ymax < wolke.gety() )
ymax=wolke.gety();
}
}
}
[/Java]
Eckpunkte.java
[Java]public class Eckpunkte {
public static void main(String[] args){
Point [] points = new Point[9];
points[0] = new Point(0,2);
points[1] = new Point(4,3);
points[2] = new Point(1,5);
points[3] = new Point(7,3);
points[4] = new Point(2,4);
points[5] = new Point(6,2);
points[6] = new Point(3,3);
points[7] = new Point(5,6);
points[8] = new Point(8,1);
points[9] = new Point(3,0);
BoundingBox bb = new BoundingBox(points);
System.out.println("Der kleinste Punkt beträgt:" + bb.xmin +" " +"," + bb.ymin );
System.out.println("Der größte Punkt beträgt:" + bb.xmax +" " +"," + bb.ymax );
}
}
[/Java]
ich hab nach dem Fehler schon gegooglet aber hat mich aber nicht wirklich weitergebracht. Hoffe ihr könnt mir helfen.
Entwickeln Sie eine Klasse BoundingBox, welche die räumliche Ausdehnung einer Punktwolke (bestehend aus ca. 10 Punkten) erfasst. Definiert wird die BB durch die kleinsten und die größten Punktkoordinaten der Punktwolke.
* dem Konstruktor der BB wird eine Punktmenge (Hinweis: Array von Punkten) übergeben. Aus dieser Punktmenge wird die umgebende Box ermittelt.
* Methoden zur Rückgabe der beiden Eckpunkte
.....
Folgende Fehlermeldung erscheint beim ausführen:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 9
at Eckpunkte.main(Eckpunkte.java:15)
und hier meine Javadateien:
BoundingBox.java
[Java]public class BoundingBox {
public double xmin;
public double xmax;
public double ymin;
public double ymax;
public BoundingBox(Point []wolke) {
xmin = wolke[0].getx();
xmax = wolke[0].getx();
ymin = wolke[0].gety();
ymax = wolke[0].gety();
for (int i=1; i<=wolke.length; i++){
if (xmin > wolke.getx() )
xmin=wolke.getx();
if (xmax < wolke.getx() )
xmax=wolke.getx();
if (ymin > wolke.gety() )
ymin=wolke.gety();
if (ymax < wolke.gety() )
ymax=wolke.gety();
}
}
}
[/Java]
Eckpunkte.java
[Java]public class Eckpunkte {
public static void main(String[] args){
Point [] points = new Point[9];
points[0] = new Point(0,2);
points[1] = new Point(4,3);
points[2] = new Point(1,5);
points[3] = new Point(7,3);
points[4] = new Point(2,4);
points[5] = new Point(6,2);
points[6] = new Point(3,3);
points[7] = new Point(5,6);
points[8] = new Point(8,1);
points[9] = new Point(3,0);
BoundingBox bb = new BoundingBox(points);
System.out.println("Der kleinste Punkt beträgt:" + bb.xmin +" " +"," + bb.ymin );
System.out.println("Der größte Punkt beträgt:" + bb.xmax +" " +"," + bb.ymax );
}
}
[/Java]
ich hab nach dem Fehler schon gegooglet aber hat mich aber nicht wirklich weitergebracht. Hoffe ihr könnt mir helfen.