Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Di Jul 08, 2025 08:45

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Gewichtete Bezierkurve
BeitragVerfasst: Fr Jan 18, 2008 15:42 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Aug 18, 2007 18:47
Beiträge: 694
Wohnort: Köln
Programmiersprache: Java
Mahlzeit,

ich habe aus einem Gamedev.net Artikel ne Funktion für Kubische Splines gebastelt.
Funktioniert prima. Nur würde ich gerne eine Wichtung für die einzelnen Kontrollpunkte haben.
In Animationsprogrammen auch Easing genannt. Mir fehlt nur jegliche Idee wo ich da ansetzen soll.

hier mal die Funktion:
Code:
  1.  
  2. function TCubicBezier.Eval(a : single);
  3. var
  4.   pA, pB, pC, pD : TVector;
  5.   b, aaa, aab, abb, bbb : single;
  6.  
  7. begin
  8.   b := 1.0 - a;
  9.  
  10.   aaa := a*a*a;
  11.   aab := 3*a*a*b;
  12.   abb := 3*a*b*b;
  13.   bbb := b*b*b;
  14.  
  15.   pA := FPoints.A;
  16.   pB := FPoints.B;
  17.   pC := FPoints.C;
  18.   pD := FPoints.D;
  19.  
  20.   Result[0] := pA[0]*aaa + pB[0]*aab + pC[0]*abb + pD[0]*bbb;
  21.   Result[1] := pA[1]*aaa + pB[1]*aab + pC[1]*abb + pD[1]*bbb;
  22.   Result[2] := pA[2]*aaa + pB[2]*aab + pC[2]*abb + pD[2]*bbb;
  23. end;
  24.  



prinzipiell bräuchte ich ja nur das übergebene 'a' am anfang und am ende etwas zu 'verzögern/verzerren'.

_________________
Es werde Licht.
glEnable(GL_LIGHTING);
Und es ward Licht.


Zitat aus einem Java Buch: "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off"

on error goto next


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 18, 2008 16:57 
Offline
DGL Member
Benutzeravatar

Registriert: Di Mai 18, 2004 16:45
Beiträge: 2623
Wohnort: Berlin
Programmiersprache: Go, C/C++
Ich verstehe den Sinn dahinter nicht ganz, die Kontrollpunkte müssen doch nur stärker verschoben werden,um die Auswirkung auf das bezier zu verstärken. Einfach die Kontrollpunkte vorher mit der jeweiligen multiplikation(auf vektorbasis) verstärken.

_________________
"Wer die Freiheit aufgibt um Sicherheit zu gewinnen, der wird am Ende beides verlieren"
Benjamin Franklin

Projekte: https://github.com/tak2004


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Jan 18, 2008 17:27 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Aug 18, 2007 18:47
Beiträge: 694
Wohnort: Köln
Programmiersprache: Java
Genau das meinte ich mit "Ansatz".

Danke TAK. :)

_________________
Es werde Licht.
glEnable(GL_LIGHTING);
Und es ward Licht.


Zitat aus einem Java Buch: "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off"

on error goto next


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste


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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 14 Queries | GZIP : On ]