Guten Tag,
ich habe leider ein Verständnisproblem und zwar, wie ihr hier sehen könnt, habe ich eine Passage aus einem javacode-beispiel reingestellt. Mein Problem ist es, dass ich die Zeilen für die Bestimmung des Mittelpunktes nicht so richtig verstehe. Meine Bitte wäre, ob ihr mir die Zeilen kommentieren bzw. erklären könntet? Danke im voraus
ich habe leider ein Verständnisproblem und zwar, wie ihr hier sehen könnt, habe ich eine Passage aus einem javacode-beispiel reingestellt. Mein Problem ist es, dass ich die Zeilen für die Bestimmung des Mittelpunktes nicht so richtig verstehe. Meine Bitte wäre, ob ihr mir die Zeilen kommentieren bzw. erklären könntet? Danke im voraus
Java:
public boolean gefulltekreistest(int i, byte[]pixels,int w)
{
double maxl=1;
double letzte_maxl=0;
int test=0;
Polygon poly = (Polygon) this.polyvec.elementAt(i);
Point p1=new Point(poly.xpoints[1],poly.ypoints[1]);
Point p2=new Point(poly.xpoints[1],poly.ypoints[1]);
Point ptmp=new Point(poly.xpoints[1],poly.ypoints[1]);
while (letzte_maxl<=maxl&&test<3)
{
double lang=0;
for(int j=0; j<poly.npoints; j++)
{
p2.setLocation(poly.xpoints[j], poly.ypoints[j]);
lang=p1.distance(p2);
if(lang>maxl)
{
ptmp.setLocation(p2);
maxl=lang;
}
}
p1.setLocation(ptmp);
if(letzte_maxl==maxl)
{
test++;
}else
{
letzte_maxl=maxl;
test=0;}
}
for(int j=0; j<poly.npoints; j++)
{
p2.setLocation(poly.xpoints[j], poly.ypoints[j]);
if(letzte_maxl==p1.distance(p2))
{
ptmp.setLocation((p1.x+p2.x)/2,(p1.y+p2.y)/2);
break;
};
}
double mittlelang=0;
for(int j=0; j<poly.npoints; j++)
{
p2.setLocation(poly.xpoints[j], poly.ypoints[j]);
mittlelang+=ptmp.distance(p2);
}
mittlelang=mittlelang/poly.npoints;
if(mittlelang*2/letzte_maxl<0.85||!poly.contains(ptmp))
{
for(int j=0; j<poly.npoints; j++)
{
pixels[poly.ypoints[j]*w+poly.xpoints[j]]=(byte) 0;
}
return false;
}
anzahlkreis++;
IJ.log("Gefunden "+anzahlkreis+". gefuellter Kreis");
IJ.log("Mittel Punkt: x = "+ptmp.x+" , y = "+ ptmp.y);
pixels[ptmp.y*w+ptmp.x]=(byte) 255;
return true;
}
Zuletzt bearbeitet von einem Moderator: