Arbeitsblatt: Arbeitsheft für PovRay

Material-Details

Einführung und Aufgaben in das Programm "PovRay". Durch programmierte Anweisungen können fotorrealistische Bilder erzeugt werden.
Informatik
Programmieren
10. Schuljahr
13 Seiten

Statistik

31909
2818
12
05.01.2009

Autor/in

Jexe (Spitzname)
Land: Deutschland
Registriert vor 2006

Downloads Arbeitsblätter / Lösungen / Zusatzmaterial

Die Download-Funktion steht nur registrierten, eingeloggten Benutzern/Benutzerinnen zur Verfügung.

Textauszüge aus dem Inhalt:

Seite 1 Einführung in POVray 1 Die POV-Ray-Welt POVRAY erzeugt 3D-Bilder, indem berechnet wird, wie ein Lichtstrahl auf die Objekte fällt: Genau genommen wird dabei der Lichtstrahl vom Auge des Betrachters (von der Kamera) zurückverfolgt (Lichtwege sind grundsätzlich umkehrbar!). Aus diesem Verfahren leitet sich der Name ab: Persistence of Vision Raytracer. Quellen: -Fächer -Informatik -Material - Povray (für Schüler der 10. Klasse gedacht) (sehr gute Anleitung!) Übrigens,die offizielle Anlaufstelle für POV-Ray ist POV-Ray unterscheidet sich von üblichen Grafikprogrammen darin, dass hier Bilder in ihrer Entstehung berechnet werden. Grundlage dieser Berechnungen bildet eine Textdatei, in der Informationen über Objekte einschließlich ihrer Parameter (Vektoren, Formen, Farben, Texturen und Lichtquellen) definiert sind. Diese Informationen sind in Form einer von POV-Ray interpretierbaren Scriptsprache formuliert. POV-Ray simuliert mathematisch den Verlauf der Lichtstrahlen in einer „Szene, um ein phantastisches, dreidimensionales fotorealistisches Bild zu erzeugen. Die entstandenen Bilder können in nahezu jedem gängigen Grafikformat gespeichert werden und sind somit auch betriebssystem-unabhängig. 1.1 Das Koordinatensystem Grundsätzlich wichtig zum Verständnis der Scriptsprache ist ein dreidimensionales Koordinatensystem. Es enthält zusätzlich zum üblichen xy-Koordinatensystem eine dritte Achse (z-Achse), die in die Tiefe zeigt. Verwendet wird ein sogenanntes linkshändiges Koordinatensystem. Die Raumkoordinaten für xyz-Richtung sind wie folgt relativ zueinander definiert: (Daumen-Zeigefinger-Mittelfinger der linken Hand zueinander senkrecht abgespreizt) nach rechts positiv der Daumen horizontal nach oben positiv der Zeigefinger vertikal nach vorne positiv der Mittelfinger in die Raumtiefe hinein (vorwärts) Die Pfeile geben die positive Koordinatenrichtung an. Der Schnittpunkt der drei Achsen ist der Nullpunkt (auch Ursprung genannt) des Koordinatensystems. Jeden Punkt kann man durch die Angabe von drei Werten – von eckigen Klammern eingeschlossen – beschreiben, wobei die Reihenfolge x-Wert, y-Wert, z-Wert beachtet werden muss. Seite 2 Einführung in POVray Aufgabe 1.1: Zeichne in das Koordinatensystem folgende Punkte ein: a) Einen roten Punkt, der 2 Einheiten rechts, 5 Einheiten oben und 3 Einheiten hinten liegt: b) Einen blauen Punkt, der 6 Einheiten unten, 4 Einheiten hinten und 8 Einheiten rechts liegt: c) Einen gelben Punkt, der 2 Einheiten vorn und 12 Einheiten links liegt: d) Ein orangefarbenen Punkt, der 6 Einheiten nach vorn vom Ursprung entfernt liegt: e) Ein grünen Punkt, der 2 Einheiten links, 3 Einheiten oben und 4 Einheiten hinten liegt: f) Ein violetten Punkt, der 1 Einheit links, 1 Einheit unten und 1 Einheit hinten liegt: 1.2. Allgemeiner Aufbau eines POVray-Skripts HINWEIS: Das Textskript in POV-ray besteht aus Schlüsselwörtern und Zahlenangaben und muss präzise geschrieben werden. Ein Komma oder eine Klammer an der falschen Stelle führt zu Fehleranzeigen. Beachte Großund Kleinschreibung. Das Programm bearbeitet den Text von oben nach unten. Überflüssige Leerzeichen oder Neue-Zeile-Zeichen werden ignoriert. Hinter dem Zeichen // kann man sich Kommentare und Anmerkungen auch mit deutschen Umlauten (sonst verboten!) notieren der Rest der Zeile wird bei der Übersetzung der Szenenbeschreibung (parsing) ignoriert! Längere Kommentare über mehrere Zeilen können mit /* und */ eingeschlossen werden. Punkt statt Komma: Die Zahlenschreibweise ist amerikanisch-englisch: Für deutsch 2,51 schreibt man 2.51. (Fließkommazahl float.) Ein Komma trennt mehrere Zahlen oder Zahlengruppen! Geordnete Zahlengruppen aus 3 oder 4 Zahlen (sogenannte Vektoren) werden mit spitzen Klammern eingeschlossen. Der Punkt P( 0,2 3,35 1) wird zu Koordinatenangaben erfolgen immer in der Reihenfolge nach der Linke-Hand-Regel Seite 3 Einführung in POVray Es dürfen bei der Angabe von Größen auch Rechenaufgaben verwendet werden, stehen diese hinter Vektoren, so gelten sie für alle Komponenten d.h.*2 0.5*2,1.0*2,3.5*2 Rechenzeichen sind: , , , und runde Klammern und ). Eine Szenebeschreibung besteht (mindestens) aus folgenden Bestandteilen: A. Der Programmkopf: Hier stehen die Kommentare (Autor/in), Datum, Programmname, . Hier werden auch die sog. INCLUDE-Dateien eingebunden. Dies sind Dateien, in denen Objekte, Farben, Texturen, Makros, . festgelegt werden können B. Der Deklarationsteil: Hier werden (globale) Variable definiert, d. h. solche, die für das ganze Programm gültig sein sollen, wie z. B. #declare Blau_01color rgb Deklarationen werden mit einem Semikolon abgeschlossen. C. Der Verarbeitungsteil: Hier werden die Objekte angegeben, deren Eigenschaften, was mit ihnen geschehen soll: 1. camera Betrachterstandpunkt und Blickpunkt. 2. light_source Lichtquelle Position und Lichtfarbe. 3. Objekte und deren Eigenschaften, diese werden beschrieben durch: 3.1. Form (shape) (plane, sphere, box, cylinder, cone, torus u.v.a.m.) Diese Form kann eine dieser Grundformen sein, oder aus solchen auf die verschiedensten Weisen zusammengesetzt. Das Verfahren hierfür wird als CSG Constructiv solid Geometry bezeichnet. 3.2. Textur Oberflächenbeschaffenheit (texture 3.2.1.: Farbe (muß!) und Durchsichtigkeit (falls nötig) pigment{}) 3.2.2.: Oberflächenrauhheit (kann! falls nicht glatt) normal {.}) 3.2.3.: Oberflachen-Helligkeit und -Glanz (sollte!) finish {}) 3.3. Transformationen Lage- und Formveränderungen 3.3.1: Skalierung Maßstabsveränderungen (scale ) 3.3.2: Drehung um den Ursprung (rotate) 3.3.3: Parallel-Verschiebung (translate) Bsp.: Kommentare Kommentare zu zu Version, Version, Titel, Titel, Autor, Autor, Datum Datum Versionseinstellung, Versionseinstellung, Kontrastanpassung Kontrastanpassung Einbindung von Dateien mit vorgefertigten FarbEinbindung von Dateien mit vorgefertigten Farbund Textur-Definitionen und Textur-Definitionen Standpunkt des Betrachters // camera --------------------------------Standpunkt des Betrachters und Blickrichtung camera {location und Blickrichtung look_at ground der Erdboden // end of sphere .und z.B. eine schwebende // background ----------------------------------dottergelbe Kugel background color Navy auf blauem Hintergrund // POV-Ray 3.6 Scene File uebung1.pov // by J.Exner, November 2004 #version 3.6; global_settings assumed_gamma 1.0 //----------------------------------------#include colors.inc #include textures.inc //-------------------------------------- end (Kommentare sind hellgrau dargestellt, das eigentliche Programm ist schwarz) Beachte: Zur einem „sauberen Programmier-Stil gehört unbedingt die übersichtliche Anordnung und Kommentierung der einzelnen Programmteile. Sinnvoll ist eine optische Abgrenzung der einzelnen Elemente (hier mit //-------------------) und eine kurze kommentierende Beschreibung. Seite 4 Einführung in POVray Aufgabe 1.2 Öffne das Programm POVray und lege eine neue Datei an (Schaltfläche „New oder im Menü: File – New File oder StrgN). Füge nun Header „Scene File Header (im Menü: Insert – Header ) ein. Trage nun unter File den Dateinamen „uebung1.pov ein, unter Desc eine kurze Beschreibung (z.B. „Kugel, unter Date und Auth das aktuelle Datum und deinen Namen ein. Füge nun die „Standard Includes ein (ebenfalls im Menü: Insert – Header) Übernimm nun die vorgegebenen Programmteile für die Kamera, das Licht, das Objekt (Kugel) und den Hintergrund. Herzlichen Glückwunsch- deine erste POVray-Szene ist fertig! 2 Einfache Objekte 2.1. Objektkatalog Objekt Syntax box pigment {color Orange} Beschreibung Zwei Punkte geben zwei diagonal gegenüberliegende Ecken des Quaders an. Zylinder cylinder 2.5 pigment {color Yellow} Zwei Punkte geben die Mittelpunkte der beiden „Deckel des Zylinders an, die Zahl ist der Radius der beiden „Deckel. Kugel sphere 3.8 pigment {color Blue} Der Punkt gibt den Mittelpunkt der Kugel an, die Zahl den Radius. Kegel cone 0 2.7 pigment {color Red} Ring torus 3.7 1.2 pigment {color Green} a) prism{ 0.00, 1.00, 4 1.00, 0.00, 0.00, 2.00, texture{ pigment{color White} Der Kegel entspricht fast dem Zylinder. Der erste Punkt gibt den Mittelpunkt, die erste Zahl den Radius des oberen „Deckels an. Bei einem Kegel ist der Radius 0, beim Kegelstumpf größer 0. Der zweite Punkt gibt den Mittelpunkt, die zweite Zahl den Radius des unteren „Deckels an. Der Ring liegt zunächst immer um den Ursprung in der xz-Ebene. Die erste Zahl ist der Radius des Kreises im Innern des Rings, die zweite ist der Radius des „Schlauches. y1 und y2 sind die y-Werte des senkrechten Prismas (0Dicke). n gibt die Anzahl der dann folgenden Punkte der Umrisslinie um die Querschnittsfläche an. Diese Querschnittsfläche wird durch die folgende Serie von Punkten in der xzEbene festgelegt. Dabei ist zu beachten, dass der letzte Punkt mit dem ersten Punkt übereinstimmen muss, d.h. der Streckenzug, der die Querschnittsfläche umgibt, muss geschlossen sein! Bei z.B. 5 Eckpunkten benötigt man 6 Punktkoordinaten, denn der erste muss am Schluss wiederholt werden! Beschreibung Quader Prisma Objekt Syntax Ausgabe Ausgabe Seite 5 Einführung in POVray Ebene Text plane 0 pigment {color Brown} Ein vom angegebenen Punkt zum Ursprung zeigender virtueller Pfeil (Vektor) steht senkrecht auf der Ebene, womit die Achsenlage der Ebene bestimmt wird. Die nachfolgende Zahl gibt den Abstand zum Ursprung an (Höhe). Hier wird also eine Ebene erzeugt, die in xz-Richtung liegt und direkt durch den Ursprung verläuft. Ebenen lassen sich gut als Hintergrund einsetzen. text Mit „ttf wird die Schriftart definiert, da{ ttf c:\WINDOWS\FONTS\Frak- nach steht auch in Anführungszeichen tur.ttf Text der darzustellende Text. Die erste Zahl 0.8 bestimmt die Dicke der Buchstaben, der pigment {color Grey} scale nachfolgende Vektor steht für den OFFSET, d.h. die Verschiebung der text ttf c:\WINDOWS\FONTS\Fraktur.ttf Text 0.8 pigment {color Grey} scale einzelnen Buchstaben in x-Achsen-, y-Achsen- und in z-Achsenrichtung. Der Text verläuft zunächst immer vom Ursprung (Beginn links unten) in xy-Richtung. Verwendbare Schriftarten: alle True-Type-Font-Schriftarten, die auf dem Rechner installiert sind (im WindowsFont-Verzeichnis alle Schriftarten mit der Dateierweiterung *.ttf) Aufgabe 2.1: Lösche in der Datei Übung1.pov „sphere{, 0.75 pigment{color Yellow}} // end of sphere und füge stattdessen die entsprechenden Befehle für die nachfolgenden Figuren ein. Speichere jede Figur unter dem angegebenen Dateinamen ab. Quader: 2 hoch (stehend), 1 breit, 1.4 tief, Anfangspunkt im Ursprung, pigment {color Red} – Dateiname: objekt1.pov Würfel: Kantenlänge 2, Mittelpunkt im Ursprung, pigment {color Red} Dateiname: objekt2.pov Zylinder: 1.2 hoch (stehend) Radius 0.3, Mittelpunkt des unteren „Deckels im Ursprung, blau – Dateiname: objekt3.pov Füge dem Zylinder noch eine orangefarbene Ebene in xz-Richtung und mit dem Abstand –2 zum Ursprung hinzu. Beobachte, was passiert, wenn du den Abstand verringerst bzw. vergrößerst! Dateiname: objekt4.pov Ring: Innenradius 3, Schlauchradius 1.2 (liegend), pigment {color Yellow} Dateiname: objekt5.pov Zusatz: Kegel: 3 hoch (liegend in neg. x-Richtung) stumpf, Radius oben 0.2, Radius unten 1, Mittelpunkt des oberen „Deckels im Ursprung, pigment {color Green} Dateiname: objekt6.pov Aufgabe 2.2: Erstelle in der Datei koord.pov auf den Achsen als Markierung bei den Längeneinheiten 2,4,6,8, -2, -4, -6 und -8 kleine gelbe Kugeln. Nicht vergessen: Versehe deine Skript-Datei mit geeigneten Kommentaren. Tippe nicht alles neu, sondern benutze kopieren/einfügen! Seite 6 Einführung in POVray 2.2. Oberflächengestaltung 2.2.1. Farbgebung Mit pigment wird die Farbe und die Farbverteilung eines Objekts angegeben. Der allgemeine Befehl dazu lautet: pigment {color farbname} (Verfügbare Farbnamen samt der zu erzeugenden Farben: siehe Anlage I) Farbnamen können aber auch in der Datei „colors.inc eingesehen werden. (Dateipfad: c:\programme\povray für windows v3.6.\include\colors.inc im Programm POVray öffnen) Da es insgesamt ca. 16 Millionen Farbabstufungen gibt, kann nicht jede Farbe einen Namen haben. So kann jede beliebige Farbe auch aus den drei Farben rot, grün und blau dargestellt werden. Der Befehl dazu lautet: pigment {color rgb wobei r, und Werte zwischen 0 (nicht) und 1 (voll) annehmen kann. Bei Angabe eines vierte Parameters (Filter) kann die Transparenzstärke eingestellt werden. Der Befehl dazu lautet: pigment {color rgbf wobei Werte zwischen 0 (völlig undurchsichtig) und 1 (völlig durchsichtig) annehmen kann. Eine genauere Erläuterung findest du in der Anlage III. Aufgabe 2.3: Lege eine neue Datei unter dem Dateinamen rgbf.pov an (zur Erinnerung: Insert – Headers – Scene File Header und Insert – Headers – Standard Includes). Definiere die Kamera, das Licht und den Hintergrund: // Kamera --------------------------------camera {location look_at // Licht-----------------------------------light_source{ color White} // Hintergrund ----------------------------background color MediumBlue} // Objekte --------------------------------. . // Ende------------------------------------- Füge nun einen durchsichtigen gelben Ring (RGB-Farben: 0.7, 0.7, 0) mit dem Innneradius 1 und dem „Schlauchradius 1.5 ein. Setze einen weiteren kleineren Ring (Innenradius: 0.5, Schlauchradius: 0.75, Farbe: Seegrün (Anlage III), Transparenz: 0.2). 2.2.2. Musterung 2.2.2.1. Karomuster Mit checker wird ein räumliches Karomuster erzeugt. Dazu sind zwei Farbangaben notwendig. Der allgemeine Befehl dazu lautet: pigment {checker color rgb color rgb oder pigment {checker color farbname color farbname} Aufgabe 2.4: Verändere die Datei rgbf.pov folgendermaßen: Der größere Ring soll nun mit einem gelb-weißen Karomuster (beide Farben durchsichtig), der kleinere Ring mit einem schwarzweißem Karomuster versehen werden. Speichere die Datei unter karo.pov ab. 2.2.2.2. Sechseckmuster Das Sechseckmuster funktioniert ähnlich, nur dass drei Farben festgelegt werden müssen: pigment {hexagon color rgb color rgb color rgb oder pigment {hexagon color farbname color farbname color farbname} Seite 7 Einführung in POVray Aufgabe 2.5: Lege für den kleineren Ring ein Sechseckmuster mit den Farben schwarz, weiß und rot fest (hexagon.pov) 2.2.2.3. Andere Mehrfarbmuster Soll ein Objekt mit mehrere Farben versehen werden, kann auch color_map (Farbbereich von 0.0 bis 1.0) zur Anwendung kommen. Dazu ist ein Schlüsselwort für den Farbverlauf bzw. das Muster anzugeben. Schlüsselwörter können sein: gradient achse marble wood onion leopard granite bozo Regenbogenähnlicher Farbverlauf, angeordnet entlang der angegebenen Achse. Regenbogenähnlicher Farbverlauf, angeordnet entlang der x-Achse, bei zweimaligem Durchlauf der Farbpalette. Holzähnlicher Farbverlauf kreisförmig um die z-Achse. Zwiebelähnlicher Farbverlauf kreisförmig um alle Raumachsen. Leopardähnliche Musterung. Steinähnliche Musterung. Wolkenähnliche Musterung. Der allgemeine Befehl dazu lautet: pigment {mustername color_map {[farbwert1 color farbname] [farbwert2 color farbname] [.] } zum Ausprobieren: Lösche in der Datei „hexagon.pov den größeren Ring und füge eine Ebene ein: // objects-----------------------------------------torus {0.5 0.75 pigment {hexagon color White color Black color Red plane {,0 pigment {gradient color_map {[0.0 color Navy] [0.5 color Blue] [1.0 color White]} } Speichere die Datei unter colormap.pov ab. (Hinweis: Der Ring wird durch die Ebene „geschnitten und erscheint nur zur Hälfte.) Experimentiere mit den verschiedenen color_map-Musterungen (ersetze z.B. gradient durch gradient oder gradient oder onion oder). Welche Auswirkungen haben die Farbwerte (hier 0.0, 0.5 und 1)? Verändere sie und beobachte! Verändere auch die Farben und/oder füge neue hinzu! Speichere dein schönstes Ergebnis unter colormap.pov ab. 2.2.3. Lichtreflexion Mit finish kann die Lichtreflexion beeinflusst werden. Dazu ist ein Schlüsselwort mit einem entsprechenden Wert anzugeben. Schlüsselwörter können sein: phong wert Gibt an, wie stark die Oberfläche des Objekts glänzen soll. diffuse Steuert die Reflexion von Licht, das direkt aus Lichtquellen kommt und das Obwert jekt trifft. ambient Steuert die Reflexion von Licht, das nicht aus Lichtquellen kommt – ist für „eiwert genes Leuchten zuständig. Der allgemeine Befehl dazu lautet: finish {lichtreflexionsname wert} wobei wert zwischen 0 (nicht) und 1 (voll) liegen kann. Beispiel: Im Ursprung liegende Kugel mit dem Radius 1, rot glänzend: sphere 1 pigment {color Red} finish {phong 1 ambient 0.5 diffuse 0.6} Seite 8 Einführung in POVray Aufgabe 2.6: Lege eine Datei unter dem Namen finish.pov an: Hintergrund weiß Grüne Kugel im Ursprung Kobaltblaue durchsichtige Ebene (rgb in xz-Richtung durch den Ursprung Probiere verschiedene Werte für die Lichtreflexion aus! (Was passiert, wenn du diffuse auf 0 setzt, was, wenn ambient auf 1 steht, was bewirkt phong,.?) 2.2.4. Texturen Eine Textur ist als eine Zusammenfassung mehrerer Oberflächeneigenschaften anzusehen. Mit texture können u. a. die in den Punkten 2.2.1 bis 2.2.3 angegebenen Oberflächengestaltungsmöglichkeiten gebündelt definiert und weitere speziellere Manipulierungen vorgenommen werden. Texture ersetzt also pigment und finish. Außerdem hat man die Möglichkeit, solch einer Zusammenfassung von Eigenschaften mit #declare einen Namen zu geben und mehreren Objekten zur Verfügung zu stellen, wie das z. B. in der Datei „textures.inc zu sehen ist. Wird diese Datei in ein POV-Ray-Script mit „#include textures.inc einbezogen, können z.B. die Texturen in Anlage II genutzt werden. Beispiel: Im Ursprung liegende Kugel mit dem Radius 1, granitähnliches Aussehen sphere 1 texture {Brown_Agate} Sehr einfach lassen sich Texturen mit dem Add-On „Basic Templates einfügen: Insert – Basic Templates Textures and Materials Hinweis: Manchmal ist eine weitere Include-Datei notwendig – z.B. benötigen die Goldtexturen „#include golds.inc (häufige Fehlerquelle!) Aufgabe 2.7: Entwirf einen auffallenden Schriftzug für die Realschule Bergfelde! (schrift.pov). Aufgabe 2.8: Erstelle folgende Datei: // camera --------------------------------camera {location look_at // sun -----------------------------------light_source{ color White} Hintergrund: als Ebene durch den Ursprung; RGB-Farbe: Spielfigur aus einer Kugel und einem Kegel zusammensetzen Kugel: Radius 1, 4 Einheiten auf der y-Achse Kegel: Radius des oberen Deckels: 0.4 (Deckelmittelpunkt liegt im Kugelmittel-punkt), Radius des unteren Deckels: 2 (Deckelmittelpunkt liegt im Ursprung) Textur beider Objekte: Polished_Chrome (aus Basic_Templates – Textures and Materials – Mirrors and Glasses entnehmen); Farbe Rot (im Texturtext ändern) Speichere die Datei unter „Spielfigur.pov ab. Seite 9 Einführung in POVray 3 Veränderung von Objekten Fast immer ist es einfacher, Objekte erst im Ursprung zu erzeugen und anschließend durch Verschiebungen, Drehungen, Verkleinerungen oder Vergrößerungen zu verändern. 3.1 Verschiebungen Objekte werden durch den Befehl translate verschoben, in dem man durch einen sogenannten Vektor angibt, um wie viel Einheiten es entlang der x-Achse, y-Achse und z-Achse zu verschieben ist. Der allgemeine Befehl dazu lautet: translate Will man nur in die Richtung einer Achse verschieben, so lautet der Befehl: translate achse wert Beispiele: Ein Würfel mit der Kantenlänge 2 (Mittelpunkt im Ursprung) soll 2 Einheiten nach unten, 3 Einheiten nach links und 4 Einheiten nach hinten verschoben werden: box pigment {color Yellow} translate Der gleiche Würfel soll um 4.5 Einheiten entlang der z-Achse verschoben werden: box pigment {color Yellow} translate * 4.5} 3.2 Drehungen Objekte werden durch den Befehl rotate gedreht, in dem man den Drehwinkel um die x-Achse, y-Achse und z-Achse angibt. Soll das Objekt um seinen eigenen Mittelpunkt rotieren, so muss es sich im Ursprung befinden. Natürlich kann der Befehl auch dazu benutzt werden, ein Objekt auf einer Kreisbahn zu bewegen, wenn es sich außerhalb des Ursprungs befindet. Der Drehwinkel kann positiv (gegen den Uhrzeigersinn) oder negativ (im Uhrzeigersinn) sein. Der allgemeine Befehl dazu lautet: rotate Will man nur um eine Achse drehen, so lautet der Befehl: Beispiele: rotate achse winkel Der Würfel aus dem vorangegangenen Beispiel soll um 45 Grad um die y-Achse, 10 Grad um die x-Achse und 60 Grad um die z-Achse gedreht werden: box pigment {color Yellow} rotate Der gleiche Würfel soll um 30 um die y-Achse gedreht werden: box pigment {color Yellow} rotate * 30} 3.3 Vergrößerungen und Verkleinerungen (Skalieren) Objekte werden durch den Befehl scale vergrößert oder verkleinert, in dem man durch einen Vektor angibt, um welchen Faktor das Objekt in Richtung x-Achse, y-Achse und z-Achse zu skalieren ist. Das zu skalierende Objekt sollte sich im Ursprung befinden, da sonst auch der Abstand zum Ursprung mitskaliert wird. Der allgemeine Befehl dazu lautet: scale Will man nur um eine Achse skalieren, so lautet der Befehl: scale achse faktor Will man auf allen Achsen gleichmäßig skalieren, lautet der Befehl: scale faktor Wenn eine Angabe faktor für eine Achse kleiner als 1 ist, dann wird verkleinert. Wenn eine Angabe für eine Achse größer als 1 ist, dann wird vergrößert. Seite 10 Einführung in POVray Beispiele: Der Würfel soll soll doppelt so hoch und dreimal so breit werden box pigment {color Red} scale Der Würfel soll in der Gesamtgröße vervierfacht werden: box pigment {color Red} scale 4} Ein Zylinder soll im Durchmesser halbiert werden: cylinder 2 pigment {color Blue} scale Aufgabe 3.1 Öffne die Datei „koord.pov und füge eine rote Box ein, die von der Ecke bis zur Ecke reicht. Speichere nun die Datei als „koordversuch.pov und füge eine 2. andersfarbige (z.B. blaue) Box ein, die mit translate um 6 Einheiten in Richtung der xAchse verschoben wurde. An dieser 2. Box soll nun eine Drehung getestet werden: Mit rotate wird diese Box nun um den Winkel dreh um die y-Achse gedreht. Probiere verschiedene Winkel aus, z.B. Schritte von 30. Speichere eine Version unter „koordversuch1.pov ab. Was stellst du fest bei Eingabe eines positiven Winkels, bei Eingabe eines negativen Winkel? Antwort: Speichere nun „koordversuch1.povals „koordversuch2.povund vertausche die beiden Zeilen für Verschiebung und Drehung. Was stellst du fest? Antwort: Öffne noch einmal die Datei „koord.pov und speichere sie als „koordversuch3.pov. Füge folgenden Quelltext hinzu: box{ pigment {color rgbf } box{ pigment {color rgbf scale 1.5} box{ pigment {color rgbf translate x*5} box{ pigment {color rgbf translate x*6 scale 1.5 Einführung in POVray Seite 11 Überlege, warum die roten und die blauen Würfel unterschiedlich angeordnet sind. Wie kann eine gleichmäßige Anordnung erreicht werden? Antwort: Stelle nun ein Bild her (aus dem du zum Schluss das Koordinatensystem entfernst), das auch schön aussieht. Benutze immer einen bestimmten Körper, dre gedreht, verschoben und skaliert wird. Benutze verschieden Texturen, Farben, Oberflächenstrukturen für die einzelnen Körper, füge auch eine Hintergrundebene ein. (Falls du mehrere Bilder machen möchtest, dann nenne sie bitte koorda, koordb, ) Beispiele: Seite 12 Einführung in POVray 4. csg: Constructive Solid Geometry Mit UNION. DIFERENCE und INTERSECTION können Körper zusammengesetzt werden: Beide Anweisungen werden zum Verbinden von verschiedenen Objekten zu neuen Objekten benutzt, Solche Objekte kann man gemeinsam einfärben und/oder zusammen abbilden (mittels scale, rotate, translate). So kann man z. B. ein Mensch-Ärgere-Dich-nicht-Männchen oder eine Schachfigur Figur aus verschiedenen Grundkörpern zusammensetzen. Beispiele: Hinweis: Es wurden Glastexturen verwendet, um den Effekt deutlicher hervortreten zu lassen. union{ box sphere 3} difference{ box sphere 3} intersection{ box sphere 3} Exkurs: #declare Mit „#declare lassen sich Objekte zusammenfassen, die aus mehreren Grundkörpern bestehen. Diese deklarierten Objekte können mit „object {objektname} aufgerufen werden. Beispiel: #declare apfel union torus {1 4.5 Hier wird das Objekt „apfel deklariert pigment {color YellowGreen} cone 0.2 0.5 pigment {color Brown} } object {apfel} Hier wird das Objekt „apfel aufgerufen Seite 13 Einführung in POVray Aufgabe 4.1: 4.1.1.: Deklariere das Objekt „apfel ähnlich wie im Beispiel oben. Nutze dazu den Befehl union. Kopiere, verschiebe und skaliere dann das Objekt, so dass mehrere davon in einem Bild erscheinen. 4.1.2.: Versieh den „Ursprungsapfel mit Bissspuren. Nutze dazu den Befehl „difference und weiße Kugeln. Aufgabe 4.2: Stelle ein Mensch-Ärgere-Dich-Nicht-Spiel mit drei Spielfiguren dar. Deklariere dazu die Objekt „spielfigur und „spielfeld (Angaben dazu in Aufgabe 2.8. auf S. 8) und positioniere die Objekte mithilfe von translate und rotate.