Programm "Installation" und Start
Installation
Dieser Vorgang muss nur ausgeführt werden, wenn im Laufwerk C: kein Ordner POV-Ray existiert.
- Im Klassenlaufwerk finden Sie im Ordner Mathe die Datei pvinst.bat. Starten Sie diese. Dieser Vorgang muss nur einmal ausgeführt werden.
Programmstart
- Im Laufwerk C:, im Ordner POV-Ray, starten Sie die Datei pvstart.bat.
- Legen Sie eine neue POV-Ray Datei an und speichern Sie diese mit der Dateiendung .pov an einem geeigneten Ort. Für Animationen speichern Sie die Datei in einem separaten Ordner nur für diese Datei.
POV-Ray Aufgaben
Grundstruktur:
// Kamera camera { sky <0,0,1> // Vektor, der festlegt, wo oben ist. right <-4/3,0,0> // Bildverhältnis 4:3, plus Spiegelung für rechtsdrehendes System location <20,8,18> // Position der Kamera look_at <0, 0, 1> // Blickrichtung (erscheint im Bildmittelpunkt) angle 30 // Öffnungswinkel der Kamera } // Lichtquellen light_source { <12,-2,12> // Position des Lichts color rgb <1,1,1> // Farbe des Lichts, als rot-grün-blau Vektor (Komponenten 0 bis 1) } light_source { <13,10,13> // Position des Lichts color rgb <1,1,1> // Farbe des Lichts, als rot-grün-blau Vektor (Komponenten 0 bis 1) } // Boden (xy-Ebene, kariert mit Quadraten von Seitenlänge 1) plane { z,0 // Ebene, senkrecht zu z=<0,0,1>, mit Abstand 0 zum Ursprung pigment { // Schachbrett checker color rgb <1,1,1>, color rgb <0.2,0.2,0.2> } finish { reflection 0.4 } } // Ende Boden
Aufgabe 441
Erst werden die Parameter der Aufgabe festgelegt, dann eine Person definiert (kann noch beliebig verkompliziert werden) und schliesslich die beiden Personen dargestellt.
Um die Animation zu rendern, muss in POV-Ray noch die Option “+KFF20” eingetragen werden, damit z.B. 20 Bilder erzeugt werden.
// TODO // HIER FEHLT NOCH KAMERA, LICHT UND BODEN #declare oa=<0,4,0>; // Startposition A #declare va=<1,0,0>; // Geschwindigkeitsvektor A #declare ob=<3,0,0>; // Startposition B #declare vb=<0,1,0>; // Geschwindigkeitsvektor B #declare zeit=clock*6; // Total 6 Sekunden simulieren #declare person=union { // Person, zentriert auf <0,0,0>, Blickrichtung in x-Richtung box { <-0.15,-0.3,0>, <0.15,0.3,1.7> } } // Ende union Person // Person A object { person // TODO // translate HIER DIE POSITION AUS DER zeit BERECHNEN pigment { color rgb <1,0,0> } } // Ende Person A object { person rotate 90*z // damit die Person in y-Richtung schaut. // TODO // translate HIER DIE POSITION AUS DER zeit BERECHNEN pigment { color rgb <0,1,0> } } // Ende Person A
Wer möchte, kann sich überlegen, wie man noch Beine animieren könnte. Dazu eignet sich die Modulo-Funktion:
#declare beinzeit = mod(zeit,1.0); // Liefert die Nachkommastellen // TODO // AUS beinzeit DIE POSITION DER FUESSE BERECHNEN
Video-Encoding mit ffmpeg
C:\ffmpeg-20180831-3ad0e67-win64-static\bin\ffmpeg.exe -i .\aufgabe441og%02d.png movie.mp4