Variable Anzahl von Punkten zur Linie verbinden

Federhalter

Mitglied
Hallo,

die Überschrift hört sich vielleicht im ersten Moment wie eine Anfängerfrage an, aber die Implementation ist für mich gar nicht so einfach.
Also ich habe eine Liste aus einzelnen Punkten, die zur Laufzeit immer wieder neu erzeugt werden können.
Nun möchte ich diese einzelnen Punkte miteinander verbinden.
Das ganze grafische Ding ist ein 32x32 Kachelgitter deren Mittelpunkte die Punkte der Liste sind und genau diese möchte ich miteinander verbinden.

Ich habe es mit drawLine,drawPoliline und GeneralPath versucht, aber es kamen immer nur falsche Ergbnisse dabei heraus. Es gibt wahrscheinlich eine Formel oder einen Trick vermute ich, wie man das berechnen kann und genau diesen versuche ich herauszufinden.
Mir liegt viel daran nicht zu viel schreiben zu müssen und genau deshalb schreibe ich hier rein, denn mit richtig vielen if abfragen könnte ich das Problem lösen aber genau das möchte ich nicht.
 

sheel

I love Asm
Hi

es geht um Swing?

Wie ist das Ergebnis falsch? Bei dem, was man zB. drawPolyLine übergeben kann, gibts nicht viel zum falschmachen. Einfach Koordinaten und die Anzahl der Punkte...
 

Federhalter

Mitglied
Ich poste mal kurz den Code. Es funktioniert fast, denn es wird zwar das was ich möchte gezeichnet aber dann auch noch eine Linie vom Ursprung zu den einzelnen Punkten.

xpoints = new int[path.size()];
ypoints = new int[path.size()];

if(path!=null){
for(int i=0;i<path.size();i++){
xp = path.get(i).x*w + w/2;
yp = path.get(i).y*h + h/2;

xpoints = xp;
ypoints = yp;
g.drawPolyline(xpoints,ypoints,xpoints.length);
System.out.println(xpoints[0]);

}
}
 

melmager

Erfahrenes Mitglied
um den Grafikcursor zu bewegen ohne zu zeichnen muss mit moveto gearbeitet werden.

Und warum die Schleife ?