2016-06-05 3 views
0

Also habe ich vor kurzem Grafikprogrammierung abgeholt und ich wollte eine kubische Bézier-Kurve berechnen. Ich habe this excellent answer auf quadratischem Bézier gefunden, aber ich weiß nicht, wie man das in eine kubische Bézierkurve umwandelt.Wie wird ein quadratischer Bezier-Kurvencode in eine kubische Bezierkurve umgewandelt?

+0

Es scheint, die Antwort liegt am Ende des Link –

+0

erwähnt Ich bin ein Mathe-noob, so dass, wenn Sie mich mit einigen Code verstehen helfen könnte, dass meine Tage enden würde von leiden –

+0

Ich werde bald eine Antwort posten –

Antwort

8

Für kubische Bézier-Kurve, wie Sie in der Verknüpfung sehen, die Sie geteilt haben, werden die grünen Linien von der gleichen Prozedur wie die quadratische erhalten. Die Unterschiede sind: Sie haben zwei grüne Linien, und dann müssen Sie eine blaue Linie basierend auf ihnen berechnen. So sind die for Schleife ändert sich:

for(float i = 0 ; i < 1 ; i += 0.01) 
{ 
    // The Green Lines 
    xa = getPt(x1 , x2 , i); 
    ya = getPt(y1 , y2 , i); 
    xb = getPt(x2 , x3 , i); 
    yb = getPt(y2 , y3 , i); 
    xc = getPt(x3 , x4 , i); 
    yc = getPt(y3 , y4 , i); 

    // The Blue Line 
    xm = getPt(xa , xb , i); 
    ym = getPt(ya , yb , i); 
    xn = getPt(xb , xc , i); 
    yn = getPt(yb , yc , i); 

    // The Black Dot 
    x = getPt(xm , xn , i); 
    y = getPt(ym , yn , i); 

    drawPixel(x , y , COLOR_RED); 
} 
+0

Gott, das ist die beste verdammte Antwort, die ich seit langer Zeit gelesen habe. Ich habe seit Monaten gekämpft (ich bin 15 Jahre alt in einer ländlichen Stadt in Indien ohne jegliche Hilfe)! Danke! –

+0

Gern geschehen :) –

Verwandte Themen