HI,
ich hab mich gestern mit Bezier Kurven beschäftigt und festgestellt, dass das nich das ist wonach ich gesucht hab. Ich brauch ne saubere Line durch Punkte die ich frei definieren kann. Also kommen die Bezier Kurven da schon nah ran! Vlt kann man die ja irgendwie umschreiben?! Ich hab bis jetzt aber nix dazu gefunden...
Ich brauch das ganze für ne Line, die ich dann in OpenGL zeichnen will, also sollte das ganze auch 3D sein.
Hier mal der Ansatz zu meinen Bezier Kurven, vlt erkennt jmd wie ich das umschreiben muss:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| function TForm1.GetBezierPoint(Points: array of TGLVector3f; t: Single): TGLVector3f; var i,j,n: Integer; var b: single; var TempPoint: TGLVector3f; begin for j := 0 to 2 do TempPoint[j] := 0;
n := Length(Points)-1; for i := 0 to n do begin b := Fakultaet(n)/(Fakultaet(i)*Fakultaet(n-i))*IntPower(1-t,n-i)*IntPower(t,i); for j := 0 to 2 do TempPoint[j] := TempPoint[j] + b * Points[i][j]; end; result := TempPoint; end; |
Das ganze hab ich mir mit Hilfe
dieser Seite erarbeitet. Ne kleine Idee wie ich das berechnen kann würde mir reichen. Wenn das so ähnlich wie auf der Seite is, kann ich den Rest dann selbst implementieren.
MfG Bergmann