lehrkraefte:blc:math:povray:lektion1

Aufgabe 1

Laden Sie folgenden Code herunter (kopieren kann u.U. zu Fehlern führen) und speichern Sie den Code auf Ihrem USB-Stick. Öffnen Sie den Code in POV-Ray und erzeugen Sie das Bild.

vorlage.pov
// Das ist ein Kommentar und bewirkt nichts.
 
// 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 <10,2,5>    // Position der Kamera
      look_at <0, 0, 0>    // Blickrichtung (erscheint im Bildmittelpunkt)
      angle 30             // Öffnungswinkel der Kamera
}
 
// Lichtquellen
light_source { 
 <6,-2,8>              // Position des Lichts
 color rgb <1,1,1>     // Farbe des Lichts, als rot-grün-blau Vektor (Komponenten 0 bis 1)
}
light_source { 
 <3,10,3>              // Position des Lichts
 color rgb <1,1,1>     // Farbe des Lichts, als rot-grün-blau Vektor (Komponenten 0 bis 1)
}
 
 
// Boden
plane { 
  z,0        // Ebene, senkrecht zu z=<0,0,1>, mit Abstand 0 zum Ursprung
  pigment {  // Schachbrett, durchsichtig (t steht für transmit, hier 80% lichtdurchlässig
    checker color rgbt <1,1,1,0.8>, color rgbt <0.2,0.2,0.2,0.8>
  }
}
 
// Objekte
sphere {
  <0,0,1>, 1  // Kugel mit Mittelpunkt und Radius
  pigment { color rgb x }   // Farbe rot x=<1,0,0>
}
 
cylinder { 0, 2*x, 0.1  // Zylinder vom Ursprung 0=<0,0,0> zum Punkt 2*<1,0,0>=<2,0,0>, Radius 0.1
  pigment { color rgb z }  // Farbe blau z=<0,0,1>
}
 
cone { 2*x, 0.2, 2.4*x, 0  // Kegel von <2,0,0> zu <2.4,0,0>, Startradius 0.2, Endradius 0
  pigment { color rgb z }  // Farbe blau z=<0,0,1>
}

Aufgabe 2

In obigem Code entfernen Sie die rote Kugel und vervollständigen Sie den Code so, dass das Koordinatensystem durch 3 Achsen dargestellt wird, mit den Achsen von jeweils -1 bis +4. Die Farben der Achsen sollen rot ($x$), grün ($y$) und blau ($z$) sein.

Fügen Sie ebenfalls die beiden anderen Koordinatenebenen ein. Passen Sie die Position (location) und Blickrichtung (look_at) so an, dass das ganze Koordinatensystem sichtbar ist.

Aufgabe 3

Speichern Sie Ihre Datei als “koordinatensystem.inc”. Löschen Sie die Definition von Kamera und Licht und speichern Sie die Datei. Die Datei kann so nicht mehr gerendert werden. Aber Sie kann in andere Dateien eingebunden werden.

Aufgabe 4

Laden Sie nochmals die Datei “vorlage.pov” und speichern Sie die Datei unter “includetest.pov”. Entfernen Sie alle Objekt-Definitionen und ersetzen Sie diese durch die Zeile:

#include "koordinatensystem.inc"

In Zukunft kann damit ein Koordinatensystem eingebunden werden (und auch einfach wieder entfernt oder auskommentiert werden).

Aufgabe 5

Stellen Sie den Punkt $A=(2,4,1)$ dar. Zeichnen Sie dazu auch “Stützlinien” und markieren Sie den Punkt.

Kopieren Sie Ihre POV-Ray-Datei (nicht das Bild) ins Klassenlaufwerk mit dem Dateinamen A5Hansli.pov, wobei natürlich Hansli durch Ihren Namen zu ersetzen ist.

Es können achsenparallele Quader definiert werden, indem man gegenüberliegende Punkte angibt. Folgender Code erzeugt in etwa die Form eines Dominosteins:

box { <0,-1,0>, <1,-1.2,2>
  pigment { color rgbt <0,1,0,0.4> } // 40% durchscheinend
}

Aufgabe 6

Bauen Sie obigen code in eine Szene ein und markieren Sie die beiden Eckpunkte.

Mit folgendem Code kann etwas wiederholt werden und aus der Variablen $i$, die sich bei jedem Durchgang ändert, Dinge berechnet und damit definiert werden:

#declare i=0;
#while (i<10)
  sphere {<0,i,0>,0.1
    pigment { color rgb x }
  }
  #declare i=i+1;
#end //while

Beachten Sie, wie die Code-Zeilen eingerückt sind. Alle Zeilen zwischen #while und #end sind eingrückt. Wird eine geschweifte Klammer geöffnet, werden folgende Zeilen eine Stufe mehr eingerückt. Die entsprechende schliessende geschweifte Klammer steht senkrecht unter dem Anfang der Zeile der öffnenden Klammer.

Aufgabe 7

Bauen Sie obigen Code in eine Szene ein und studieren Sie den Code, bis Sie jede Zeile davon verstehen.

Ändern Sie den Code so ab, dass eine Domino-Reihe entsteht.

  • lehrkraefte/blc/math/povray/lektion1.txt
  • Last modified: 2017/04/28 14:00
  • by Ivo Blöchliger