OpenSCAD - tworzenie animacji

Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 2267 razy

OpenSCAD pozwala na tworzenie animacji oraz zapisywanie poszczególnych klatek tak utworzonej animacji do plików png. Działanie mechanizmu jest proste, każde przesunięcie, obrót czy też każdy kontrolowany wymiar obiektu może być modyfikowany po funkcji zależnej od globalnej zmiennej $t, która zmienia się w trakcie animacji od 0 do 1. W poniższej animacji ruch tłoka w górę i w dół został uzależniony od zmiennej $t jako ruch posuwisto zwrotny z kolei wał napędowy wykonuje jedynie ruch obrotowy również uzależniony od zmiennej $t. Najbardziej złożony ruch wykonuje korbowód, gdyż nie tylko przesuwa się on w górę i w dół, ale również obraca.

Przykład animacji utworzonej w programie OpenSCAD, która pokazuje ruch tłoka silnika spalinowego wraz z częścią korbowodu
Rys. 1
Przykład animacji utworzonej w programie OpenSCAD, która pokazuje ruch tłoka silnika spalinowego wraz z częścią korbowodu

Uruchomienie animacji polega na wybraniu z menu pozycji View→Animate, której kliknięcie spowoduje pojawienie się paska animacji jak na poniższym rysunku.

OpenSCAD pasek animacji
Rys. 2
OpenSCAD - pasek animacji, gdzie:
  • Time - pole zmieniane automatycznie w trakcie animacji (jest to wartość zmiennej $t;
  • FPS - (ramki na sekundę);
  • Steps - liczba kroków (klatek) animacji;
  • Dump Pictures - tworzy zrzut klatek zapisywanych na dysku w miejscu utworzenia dokumentu programu OpenSCAD

Wystarczy ustawić powyższe pola aby uruchomiła się animacja. Oczywiście jeżeli żaden parametr rysowanych obiektów nie będzie uzależniony od zmiennej $t to animacja się nie wyświetli. Przykładowy kod prostej animacji zamieszczam poniżej.

color([1, 0.5 - 0.5 * sin($t * 360), 0]) sphere(r = 500 + 450 * $t * -sin($t * 360)); color([0.1, 0.1, 0.1]) rotate([0, 0, $t * 360]) translate([750, 0, 0]) sphere(r = 20);