es heißt ja immerwieder man könne Bezier kurven gut für Kamerafahten benutzen... nun wollte ich das grad mal machen..
Na ja, Problem 1 war:
Die BezierCurve darf nur max. 8 Punkte haben...
Problem 2:
glEvalCoord1f liefert Koordinaten zurück... wie kann ich die rausbekommen???
Also, wie bekomme ich die X,Y,Z Koordinaten einer Kurve an der Stelle 0,3 ihrer gesamt länge heraus...???
Au'revoir,
Aya~
PS: Bitte nich einfach nur auf das Tutorial von DelphiC und das RedBook verweisen... DelphiC hat zwar eine Formel gezeigt wie man es per hand ausrechnen kann, aber soweit ich das verstanden hab nur mit 3 Punkten.. ich hab aber 8
Hm, ich persönlich hatte die Problematik leider nicht. Aber die Kurve von Hand auszurechnen dürfte IMO warscheinlich die beste Lösung sein. Und was in einem Beispiel mit 3 Punkten tut, müsste mit 8 auch Funktionieren, oder? (Weiss es leider nicht genau. Hab's nicht probiert). Such doch einfach mal im Netz nach entsprechenden Algos für die Kurve...
_________________ Und was würdest Du tun, wenn Du wüsstest, dass morgen Dein letzter Tag auf dieser Erde ist?
Ja, bezier Kurven sind prima geeigent für Kamerafahrten.
@DelphiC hat zwar eine Formel gezeigt wie man es per hand ausrechnen kann, aber soweit ich das verstanden hab nur mit 3 Punkten.. ich hab aber 8:
du hast 2 Möglichkeiten:
1. Du machst keinen 8 Knoten Bezier sondern teilst ihn auf.
2. Du Benutzt die Formel zum Errehcnen der Basisfunktionen(die in Meinem Tutorial übrigens steht - ich hab sie ja auch verwendet) für 8 Knotenpunkte.
Das ganze findest du unter folgendem Satz:
Zitat:
Nun haben wir eine Definition einer quadratischen Bézier Kurve entwickelt. Es gibt eine einfache Formel für die Basis Funktionen von Bezier Kurven für einen beliebigen Grad. n ist der Grad, i beziffert die Basis Funktion und reicht damit von 0 bis n:
Da ist ein Bildchen drunter, das sich wegen der schwarzen schrift ein wenig schlecht liest, aber in der Druckansicht kann mans gut lesen.
Da sieht man mal wieder, wie gut ihr meine Tutorials anschaut Wäre denk ich, besonders bei meinen Tutorials manchmal sehr zu empfehlen, sie etwas langsamer zu lesen.
Zuletzt geändert von Delphic am So Jul 19, 2009 16:30, insgesamt 1-mal geändert.
Also die Grundstrucktur einer jeden Bezier Kurve:
Q(t)=Summe von i=0 bis n Bi(t)*Pi
Q(t)=Punkt an der Stelle t
Und diese grässliche Formel von Oben erzeugt die entsprechenden Bs, sie ethält keine besonderen Rechenzeichen, ausser vielleciht Fakultät(das !), das kennt nicht jeder Schüler. Ist aber ganz einfach. Ich denke diese Beispiele zeigen das deutlich:
(0!=1)
1!=1
2!=2*1=2
3!=3*2*1=6
4!=4*3*2*1=24
5!=5*4*3*2*1=120
Im Netz wirst du keine sonderlich anderen Formeln finden und für 8 Knoten wirds keiner ausgerechnet hingestellt haben, also musst du das selber echnen - viel Spas
so, jetzt hab ich auch zeit für dich:
stell dir einen Punkt p vor, der durch 3 koordinaten gegeben ist:
P = (x,y,z) und du skalarmultiplizierst ihn jetzt mit einer zahl(in unserem fall den wert der blendfunktionen), dann erhältst du:
s*P=(s*x, s*y, s*z)
oder du addierst 2 punkte p1(x1, y1, z1) und p2(x2, y2, z2), dann erhältst du
p1 + p2 = (x1+x2, y1 + y2, z1 + z2).
simpelste vektorrechnerei die dahintersteckt, ich hoffe du kannst jetzt deine eigenen kamerafahrten bauen.
Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.