lehrkraefte:blc:math:vektoranalysis:povrayaufgaben

This is an old revision of the document!


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

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 va=<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
  • lehrkraefte/blc/math/vektoranalysis/povrayaufgaben.1534746900.txt.gz
  • Last modified: 2018/08/20 08:35
  • by Ivo Blöchliger