Easing Equation

haeuslebauer

Lt. Commander
Registriert
Dez. 2010
Beiträge
1.351
Hi,

ich möchte eine Strecke in Punkte aufteilen, dabei soll sich der Abstand zur Mitte hin verlängern.
Dafür benutze ich folgende Funktion:

Code:
def easeInOutQuad(t, b, c, d):
	t /= d/2
	if t < 1:
		return c/2*t*t + b
	t-=1
	return -c/2 * (t*(t-2) - 1) + b

Allerdings hätte ich gerne eine "Startlänge" für das erste und letzte Segment. Es soll also nicht bei null anfangen, sondern bei einem Startwert.

Aktuell lasse ich das für t=0.0 bis t=1.0 durchlaufen, für Step_t = (1/n_segmente)
b=0
c=Gesamtlänge der Strecke (z.b. 8000 mm)
d=1

Danke
hb
 
hi
Der Code ist schwer zu lesen mit den kurzen Variablennamen.

Ansonsten könntest du durch die Stückelung der Segmente bzw dessen Relation zum Ziel kommen.
Bei einer 10er Stückelung sind es 10 etwa gleich große Stücke.
Wenn jetzt das erste und das letzte Segment aber jeweils 1/5 (also 2/10) sind, wird die Strecke länger.

Wenn ich jetzt keinen Denkfehler hab.
 
Zurück
Oben