Spline Rendering?

Status
Nicht offen für weitere Antworten.
S

Seppel

Gast
Hi zusammen!

Ich stehe vor einem Problem. Ich habe ein Punktarray und möchte gerne eine B-Spline durch die Punkte verlaufen lassen und sie dann später natürlich auch rendern?
ist es überhaupt möglich, Splines zu rendern?

Grüße,
Sep!
 

Soulfly

Bekanntes Mitglied
Wenn ich mich nicht irre, ist das eine stetige Funktion die auf mehrere Punkte gelegt wird. Kann man glaube ich mit Interpolation vergleich. Mathematiker schlagt mich bitte nicht! :)

Hast du überhaupt schon mal gegooglet das gibbet viele beispiele.

MfG
Soulfly
 

kaie

Bekanntes Mitglied
Das Problem mit Splines ist leider, dass zusätzlich zu den Punkten, durch die die Kurve laufen soll, auch noch die Ausrichtung und Krümmung der Splines in den Punkten bekannt sein muss, die durch zusätzliche Hilfspunkte angegeben werden müssen (ansonsten gäbe es unendlich viele Möglichkeiten). Wenn Du diese Informationen irgendwie bestimmen kannst, kannst Du einfach die bestehenden Methoden aus Graphics2D verwenden:
Code:
public void paint( Graphics g )
{
    Graphics2D g2 = (Graphics2D) g;
    GeneralPath p = new GeneralPath();
    p.moveTo( 100,100 ); // Startpunkt (100,100)
    p.lineTo ( 200,100 ); // gerade Linie zum Punkt (200,100)
    p.quadTo( 300,100, 300,200  ); // quadratische Kurve zum Punkt (300,200)
    p.curveTo( 300,300, 200,250, 200,400 ); // Bezier-Kurve zum Punkt (200,400)
    p.closePath();
    g2.draw(p);
}
Echte B-Splines beherrscht Java leider nicht, da musst Du wohl selber was schreiben. Hilft Dir das weiter?
KaiE
 

ff

Aktives Mitglied
wie wärs, ne funktion zu schreiben, die einfach nur die koeffizienten für die splines berechnet und diese einem zeichnomat weitergibt, der einfach in einer gegebenen auflösung punkte auf dem spline generiert und diese miteinander verbindet?

wär vermutlich schnell gemacht.... (falls das überhaupt hilft)
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben