Bezier-Spline - Tangenten Koordinaten Steuerung

rown

Mitglied
Hallo alle zusammen,

ich würde gern Bezier-Splines mit dem Morph-Tag animieren. Da das Morph-Tag allerdings die Tangenten-Koordinaten nicht mit übernimmt, würde ich gern die Stütz- und Tangentenpunkte über einen Referenzspline, der neben jedem Stützpunkt auch für jeden Tangentenpunkt ein Punkt hat.
Nun meine Frage: Wie kann ich die Tangenten auslesen bzw. wie kann ich an diese eine Koordinate weitergeben lassen?
Dass das mit Xpresso nicht wirklich möglich sein soll, habe ich mit bedauern lesen müssen. Doch mit COFFEE soll das wohl machbar sein. Kann mir evtl. jemand im Fall Spline-Objekt/Punkt3/linkeTangente sagen wie?
Gerne würde ich eine Schaltung in Xpresso einbauen, wenn das möglich ist. Allerdings muss ich gestehen, dass Coffee für mich bislang nur Bohne ist.

Danke schonmal und bis denne
Rown
 
Verwende doch ein B-Spline. Dann hast Du das Problem mit den Tangenten nicht.
Falls ein Bezier-Spline sein muss, könnte C4DJacks SurfaceSPREAD helfen. Dort gibt es das wire Objekt. Mit dem lassen sich auch Tangenten kontrollieren. Ob das im Zusammenhang mit dem Morph-Tag funktioniert, weiß ich allerdings nicht.

>Grüße, CUBE
 
Hola Cubeman,

habe die Tage lang und viel damit zugebracht eine Schaltung zu bauen, die bei B-Splines Tangenten generiert. Funktioniert auch ganz gut. Allerdings stellte sich mir dann die Frage, wie ich die Index-Nummer eines LIVEselektierten Punktes ausgeben kann (ist aber ein anderes Thema). Und weil hinzukommt, dass Bezier-Splines einfach schöner sind als Bezier-SplineImmitate, wollte ich jetzt zu dem ursprünglichen Problem zurück.
Danke Für den Tip... das schaue ich mir mal an.

Bis denne
Rown
 
Danke dir nochmal...

Aber ich suche denn doch lieber den COFFEEcode, da ich mir das alles lieber selber erstellen möchte und weniger gerne auf Plugins zurückgreife.

Bis denne
Rown
 
Hola alle,

so das ist alles was ich für heute mit Kaffee und Coffee auf die Beine stellen konnte. Und das, was funktioniert, habe ich abgeschrieben (http://www.psd-tutorials.de/forum/1405532-post5.html). Alles in allem sehr frustrierend.
Nach meiner heutigen Weltreise habe ich noch immer absolut keine Ahnung wie man die Tangenten ansteuert. Vielleicht fehlt mir ein grundsätzliches Verständnis für COFFEE.
Wenn mir jemand wie was und wo sagen kann, dann würde ich mich mit großer Dankbarkeit bedanken.

Bis denne
Rown
 

Anhänge

  • coffee_001.jpg
    coffee_001.jpg
    107,4 KB · Aufrufe: 43
Also, das Script da oben ist ein ziemlicher Schmarrn, zumindest die letzten 2 Absätze ;)
Keine Ahnung was errare sich dabei gedacht hat ^^

So, schade dass du keine COFFEE verständnisse hast. Ich hab dir 2 Funktionen geschrieben, die die Tangente eines Splines setzen.
Code:
GetGlobalTangent(op,right,num) {
	var tnum = num*2+right;
	return op->GetPosition()+op->GetPoint(num)+op->GetTangents()[tnum];
}
SetGlobalTangent(op,right,num,align,val) {
	var tnum = num*2+right;
	var arr = op->GetTangents();
	arr[tnum] = val-op->GetPosition()-op->GetPoint(num);

	if(align == True) {
		var tleft = num*2-right+1;
		arr[tleft] = (-1)*arr[tnum];
	}
	op->SetTangents(arr);

	op->Message(MSG_UPDATE);
	return True;
}
Übergabewerte:
op: Spline
right: Wenn die rechte Tangente verändert werden soll, dann "True" setzen, bei der linken "False"
num: Splinepunkt index

align: wenn "True" wird die andere Tangente angepasst, andernfalls nicht.
val: Die position der Tangente


Am besten verbindest du das mit Benutzerdaten, schau dir dazu die Datei genau an.

Cheers, nux

PS: Die GetTag() funktion hat dich erstmal nicht zu interessieren, hehe. Ist ein wenig komplexer. ^^

Anhang: http://www.file-upload.net/download-3270748/TangentToObject.c4d.html
 
Hola nux,

ich übersende dir ein riesengroßes dickes Dankeschön.
Es erschreckt mich aber wie wenig nachvollziehbar das für mich auf den ersten Blick ist. Nun ja, in Anbetracht der Tatsache, dass ich gestern noch nicht einmal wußte wofür doc und op steht, ist das wohl auch ok. Habe mir jetzt das Video2Brain dazu geordert. Ich hoffe das bringt mich weiter.
Wenn jemand eine gute sofort zu bekommende und erklärende Übersicht zu Coffeebefehlen oder soetwas wie eine Einstiegshilfe kennt, dann würde ich mich sehr freuen.
Somit auf auf! auf den langen Weg durch die Kaffeemaschine.

Beste Grüße
Rown
 
So ich habe es geschafft. Es funktioniert. Ist zwar sehr rudimentär, aber vom Grund her schonmal gut.

@nux
10.000mal danke && ich habe dein Script mit meinen zwei linken Gehirnhälften durchgeackert und eine excel-Datein angelegt, in der ich versucht habe die Schritte zu analysieren. Wenn du Lust und Zeit hast kannst du sie dir ja mal anschauen. Wäre vielleicht ganz schön hier mal solch eine Aufschlüsselung, die natürlich korrekt sein sollte, auszustellen. Dank dir nochmal und if(possible) {Rown Dir Wein schicken}; return false; naja oder so ähnlich. http://rapidshare.com/files/451813806/Tangente_Script.xlsx

Bis denne
mir gehts gut
Rown
 

Anhänge

  • coffee_002.jpg
    coffee_002.jpg
    166,5 KB · Aufrufe: 23

Neue Beiträge

Zurück