User Tools

Site Tools


animation:speeder

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
animation:speeder [2016/05/09 19:28]
freek
animation:speeder [2016/05/11 10:04] (current)
freek
Line 1: Line 1:
 +====== Speeder ======
 +
 +{{:​story:​b033:​speeder.png?​100|Animation workbench FreeCAD }}
 +
 +Normalerweise werden Animationsobjekte mittels eines Managers animiert. Der Manager lässt in der Grundeinstellung die Schritte von 0 bis 100 laufen. Für das Animationsobjekt hat man auf diese Weise 100 mögliche Anordnungen. Mit dem Speeder kann man den Zeitverlauf und damit auch das Verhalten des Animationsobjektes auf einfache Weise verändern.
 +
 +Die Transformation der Zeit ist als Funktionsterm in der Eigenschaft **trafo** hinterlegt. Die Funktionsterme nutzen die Variable //time//, welche die Werte von 0 bis 1 in Hunderstelschritten durchläuft,​ wenn der Speeder vom Manager in seiner Grundkonfiguration angesprochen wird. Weiterhin sind noch die Parameter **a,b,c,d** und **m,g** verwendbar.
 +
 +===mode===
 +
 +Es gibt bereits eine Reihe von voreingestellten Funktionen, welche ü+ber die Eigenschaft **mode** abgerufen werden. ​
 +
 +'​forward','​backward','​quadratic','​sine wave','​fade','​ping pong','​expression'​
 +
 +==forward==
 +
 +trafo = a*time
 +
 +Die Animation läuft vorwärts, wenn man a auf 100 setzt, läuft die Animation in der gleichen Geschwindigkeit,​ bei a = 50 mit halber Geschwindigkeit.
 +
 +==backward==
 +
 +trafo = a -a*time
 +
 +Die Animation läuft rückwärts.
 +
 +==quadratic==
 +
 +trafo = %%a*time**2+ b*time + c%%
 +
 +==sine wave==
 +
 +trafo = a*math.sin(math.pi*b*time+c)
 +
 +
 +==fade==
 +
 +trafo = 0 if time<b else a*(time-b)/​(c-b) if time <c else a
 +
 +Ein verzögerter Start mit einem vorzeitigen Ende wird durch einen schnelleren Durchlauf erreicht.
 +
 +Von 0 bis b passiert zunächst nichts, dann von b bis c erfolgt der normale Durchlauf und von c bis 1 bleibt das Animationsobjekt in seiner Zielkonfiguration. ​
 +
 +Es muss gelten 0 < b < c < 1
 + 
 +==ping pong==
 +
 +Die Animation läuft einmal durch zur Endkonfiguration und dann wieder zurück zur Ausgangskonfiguration.
 +Die Durchlaufzeiten stehen im Verhältnis b:(1-b).
 +
 +Es muss gelten 0 < b < 1
 +
 +trafo = a*time/b if time <b else  2*a - a*time/b
 +
 +==expression==
 +
 +In diesem Modus kann man den Term völlig frei selbst eingeben und dabei die Parameter a, ... m nutzen.
 +
 +===target===
 +
 +Der Speeder aktualisiert den Parameter time des in **target** hinterlegten Objekts. Alle Animationsobjekte haben eine Eigenschaft time und reagieren auf deren Wertänderung. Natürlich kann man hier auch eigene Klassen ansprechen, wenn diese einen Parameter time besitzen.
 +
 + 
 +
 +===Mechanik===
 +
 +Die Parameter m und g werden im Sinne der Mechanik als Massen- und Gravitationsparameter verwendet.
 +Der Speeder erlaubt eine grafische Darstellung der Entwicklung der Geschwindigkeit und Trägheitskraft oder mathematisch einfach der ersten und zweiten Ableitung der berechneten Zeit nach der Eingangszeit.
 +Das Diagramm erzeugt man über das Kontextmenü des Speeder.
 +
 +
 +{{youtube>​large:​rA4r8XGTORU}}
 +
 +
  
animation/speeder.txt · Last modified: 2016/05/11 10:04 by freek