User Tools

Site Tools


animation:flow

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
animation:flow [2016/06/27 16:48]
freek
animation:flow [2016/06/27 16:49] (current)
freek
Line 1: Line 1:
 +
 +
 +
 +{{youtube>​small:​fpOnwbaAPig}}
 +
 +{{youtube>​small:​cvqboFWTHBo}}
 +{{youtube>​small:​141WIkmU-kE}}
 +
 +===create an example===
 +
 +<​code>​
 +import flowNode
 +flowNode.run()
 +</​code>​
 +
 +  *[[https://​github.com/​microelly2/​Animation/​blob/​master/​testcases/​test_flow1.py]]
 +  *[[https://​github.com/​microelly2/​Animation/​blob/​master/​testcases/​test_flow2.py]]
 +  *[[https://​github.com/​microelly2/​Animation/​blob/​master/​testcases/​test_flow3.py]]
 +
 +
 +===Parameter===
 +==Animation==
 +  ***count Slices** - Anzahl der berechneten Frames
 +  ***period** - nach wie vielen Frames soll eine neue Welle nachgesendet werden, Wenn dieser Wert Nulll ist, wird nur einmal eine Welle gesendet
 +  ***sleep** - Pause zwischen den Animationsschritten
 +  ***time** - wird vom Animation Manager gesetzt
 +==Bounds==
 +  ***bound Box** - das Objekt liefert mit seiner BoundBox die Grenzen für die Teilchen
 +  ***bound Mode** - wo verläuft die Grenze, derzeit funktioniert Boud Box, Bound Cylinder und no Bound. Für andere Begrenzungsflächen ist die Berechnung sehr zeitintensiv und noch nicht vorgesehen.
 +==Clouds==
 +  ***color Slides** - Farbe der vordersten Schicht
 +  ***color 2, 3, 4 Slides** - Farben der älteren Schichten, damit erzeugt man Nachleuchteeffekte
 +  ***count 2, 3, 4 Slides** - wie viele ältere Schichten sollen noch angezeigt bleiben
 +  ***damper Wall** - Parameter für die Dämpfung beim Aufprall an eine Wand 1 bedeute keine Dämpfung, 0 bedeutet Anhaften
 +
 +  ***start Position** - Die gesamte Folge der Punktwolken wird mit diesem Placement an eine andere Position, in eine andere Lage im Raum gebracht.
 +  ***delta Position** - relative Positionsänderung von Schicht zu Schicht, damit kann man die Animation entlang gebogener Rohre fließen lassen (wobei dann Schweredruckeffekte nicht merh sinnvoll dargestellt werden können)
 +  ***start Face** - Anfangsform der Punktwolke: Rechteck oder Kreis 
 +  ***dim U, dim V** - Anzahl der Punkte in einer Punktwolke. Beim Kreis ist U die Anzahl der Segmente und V die Anzahl der Ringe
 +  ***lenght, width Start Cloud** -Ausdehnung der Anfangswolke in Millimeter, bei unterschiedlichen Werten und Start Face = Circle wird eine Ellipse erzeugt
 +  ***noise** - zufälliges Abweichen der Punkte je Schritt
 +  ***method Damper** - Methode aus der Datei Animation/​flowlib.py,​ welche die Dämpfung je Punkt und Schritt berechnet
 +  ***method Force** - Methode aus der Datei Animation/​flowlib.py,​ welche die Kraft je Punkt und Schritt berechnet  ​
 +
 +===Die Methode force und damper==
 +
 +Die Bewegungen der Partikel werden durch zwei Funktionen gesteuert.
 +
 +//damper// gibt einen Vektor zurück, der festlegt wie stark die Geschwindigkeit z.B. durch Reibung reduziert wird.
 +(1, 1, 1) bedeutet keine Reibung und keine Geschwindigkeitsreduktion. (1, 0.5, 0) bedeutet: Die z-Komponente der Geschwindigkeit wird auf 0 zurückgesetzt (Ende einer vertikalen Bewegung) und die y-Komponente wird auf die Hälfte reduziert.
 +
 +//force// ist die Kraft, die auf das Partikel wirkt.
 +
 +Ausgehend vom aktuellen Ort des Partikel (x,y,z) und seiner aktuellen Geschwindigkeit v wird die Kraft force berechnet und führt zu einer Geschwindigkeitsänderung. Diese führt zu einer Ortsänderung des Partikels. Anschließend wird am neuen Ort des Partikels in Abhängigkeit von der neune Geschwindigkeit die Dämpfung berechnet und die Geschwindigkeit eventuell herunter gesetzt.
 +
 +In der Datei flowlib.py sind einige Methoden vorbereitet. Die Datei kann auch mit eigenen Methoden erweitert werden.
 +
 +Beide Methoden erhalten als Parameter den Ort des Partikels x, y, z, seine Geschwindigkeit als Vektor v und die Zeit t (die Nummer der aktuell berechneten Schicht)
 + 
 +
 +
 +
 +
 +
 + 
  
animation/flow.txt · Last modified: 2016/06/27 16:49 by freek