Einführung in die Beschreibungssprache des Raytracers POV-Ray       - Seite 5
von Friedrich A. Lohmüller
English English English
Italiano Italiano
Français français

Home
- POV-Ray Tutorials
 
  
POV-Ray Einführung
   INHALT  -  INDEX
 
  0. Arbeiten mit POV-Ray:
      "Insert Menu Add-on".
  1. Grundsätzliches
      zum Schreiben von Texten.
  2. Räumliche Koordinaten,
      Zahlen und Vektoren
  3. Szenen-Aufbau
      #include-Dateien,
      camera, light_source.
      Formen von Lichtquellen
> 4. Grundobjekte plane, sphere,
      box, cylinder, cone, torus.
      andere Körper
      height_field, text, etc.
  5. Transformationen
      Streckung, Drehung,
      Verschiebung u. andere.
      CSG: union,
      difference, intersection.
  6. Farbe + Oberflächen       texture, pigment, normal, finish
  7. #declare, #local,
      #macro .. #end,
      #include,
      wiederverwendbare Objekte.
  8. #while Schleifen
  9. Rationelles Arbeiten,
      Geschwindigkeit, Flexibilität,
      modulares Arbeiten
      Anpassung v. 3.1 auf 3.5/3.6
      Anpassung v. 3.5/3.6 auf 3.7
      POV-Ray + Windows Vista.
 
  - Insert Menu Add-on
    & Download
                                       

IV 3.1.Grundformen für Objekte:


1.

Kugel:

sphere{< 0, 1, 0>, 0.5
               texture{Glass3}
               interior{I_Glass3}}

   Kugelmittelpunkt <xM.yM,zM>, Radius ...
sphere

2.

Zylinder / Rohr:

cylinder{< 0, 0, 0>,< 0, 1, 0>, 0.1
                 pigment {color Orange}}

   Mittelpunkt am 1.Ende <xM1,yM1,zM1>,
   Mittelpunkt am 2.Ende <xM2,yM2,zM2>, Radius.
cylinder

3.

Kegel / Kegelstumpf / Konus:

cone{< 0, 0, 0>, 1.25, < 0, 2.5, 0>, 0.5
             pigment {color YellowGreen}}

   Mittelpunkt 1.Ende <xM1,yM1,zM1>, Radius 1.Ende,
   Mittelpunkt 2.Ende <xM2,yM2,zM2>, Radius 2.Ende.
cone

4.

Torus / Ring / Reifen:

torus{ 1, 0.25
             rotate<90,0,0>
             translate< 0, 1+0.25, 0>
             pigment {color rgb< 1, 0.8, 0>}}

Ringradius bis Schlauchmitte: rmajor,
Radius des Schlauches: ,rminor.
Der Torus liegt in der xz-Ebene, seine Achse bildet die y-Achse.
Mit obigen Anweisungen erhält man einen senkrecht in der xy-Ebene und auf der xz-Ebene stehenden Ring.
torus

5.

Quader / Schachtel:

box{<-1,-1,-1>,< 1, 3, 2>
          pigment {color MediumOrchid}}

Gegenüberliegende Eckpunkte: <x1.y1,z1> <x2,y2,z2> :
Quader reicht in x-Richtung von x1 bis x2, in y-Richtung von y1 bis y2 und in z-Richtung von z1 bis z2. Schräg im Raum liegende Quader sind durch Drehung mit "rotate< , , >" zu erhalten.
box

6.

senkrechtes Prisma:

prism{ -1, 0, 3, <-1, 0>, < 1, 0>, < 0,1.5>
              pigment {color White}}

{von z =... , bis z = ..., Anzahl der Eckpunkte der Grundfläche,xz-Koordinaten der Punkte getrennt durch Kommata}
Das Prisma liegt mit den parallelen Kanten parallel zur y-Achse und wird durch die Eckpunkte seiner Querschnittsfläche in der Grundform in der xz-Ebene definiert. Durch Drehungen um 90° um die Koordinatenachsen lassen sich Prismen in z-Richtung und in x-Richtung erhalten!
="prism"

7.

Ebene (eigentlich: Halbraum):

plane{ < 0, 1, 0>, 0
            texture{Cork}}

   <0,1,0> = "Normalenvektor". Bei < , , >, 0 gibt die vierte Zahl den Abstand vom Ursprung <0,0,0> an!
Normalenvektor = die xyz-Korordinaten der Spitze eines Pfeiles, der senkrecht von der Ebene weg zeigt, hier: < 0, 1, 0> zeigt in y-Richtung, d.h. die Ebene ist horizontal (in xz-Richtung).
(Eigentlich beschreibt "plane" den "Halbraum", welcher hinter der Ebene und gegenüber dem angegebene Normalenvektor liegt! - dies ist wichtig bei "union", "difference" und "intersection" -> vgl. "CSG" ) Es empfiehlt sich die genaue Lage von Ebenen durch rotate u. translate aus einfachen Grundebenen zu modellieren!
plane

Andere Körper und besondere Objekte:

height_field - Berge von Bildern:

Das Höhenfeld - der Farbwert eines Bildes wird als Höhenindex benutzt.
Sample mounts by height_field 600x450

Text Objekt, Text Macros: - Rämliche Schriften

(Alle truetype fonts, auch UNI-Code!)
.
Sample text macro

Isosurface Objekte:
( "Äquipotenzialflächen" )

Diese erlauben eine große Anzahl von Formen, die durch 3dimensionale Funktionen definiert werden.
Achtung: Isosurfaces können nicht mit CSG-Befehlen "difference" und "intersection" verwendet werden! Dafür benötigt man die nicht ganz leicht zu handhabende Include-Datei "ISO_CSG.inc" von Christoph Hormann.
Sample isosurface
 
Sample isosurface
 
Sample isosurface

Reguläre Vielecke:
"shapes2.inc" enthält u.a. reguläre Vielecke, wie etwa Pyramiden, Dodekaeder, Oktaeder und den Ikosaeder.

shape2.inc 640x480

Paraboloid, Hyperbolid:
"shapes.inc" enthält u.a. verschiedene Paraboloide und Hyperbolide.

shape1.inc 640x480


Ferner seien erwähnt:
sor - surface of revolution: Rotation einer geschlossenen Spline-Kurve um eine Achse.
lathe: Rotation einer geschlossenen Spline-Kurve um eine Achse ähnlich sor.
superquadric ellipsoid: Quader- und Zylinderformen mit abgerundeten Kanten - ideal für Polster!
blob: Tropfenfiguren, die durch ineinanderfließende Kugeln und Zylinder entstehen.
julia fractal: Ein dreidimensionales Fraktal-Objekt.



Flächen, die durch Gleichungen höherer Ordnungen beschrieben werden: Beispiele für "cubic", "quadric", "quartic" und "polynomial" wie Sattelflächen, Schraubenflächen und viele anderen mathematisch komplizierteren Flächen ähnlicher Art findet man in "shapesQ.inc".
2D-Flächen, die nicht bzw. nur begrenzt csg-fähig sind:

disc: Eine Scheibe, auch mit Loch in der Mitte.
triangle: Ein einfaches Dreieck.
smooth_triangle: Dreieck, dessen Normalenvektoren in den Ecken "verbogen" werden können - die Reflexion wird gemittelt aus den Normalenvektoren in den 3 Ecken gerechnet. Dadurch sind weiche, gerundet erscheinende Flächen aus Dreiecksnetzen möglich.
polygon: "Vieleck" - eine Möglichkeit zur Darstellung beliebiger 2D-Flächen, die durch anzugebende Punkte begrenzt werden.
bicubic patch: Freiform-Oberfläche, die durch wenige Kontrollpunkte definiert werden kann (3D-Bézier-Kurve). Das Objekt wird dann durch ein Dreiecksnetz angenähert, welches auf Wunsch mit weichen Übergängen gerechnet wird.
mesh: Ein Netz aus Dreiecksflächen, wie es meist von anderen 3D-Programmen produziert wird. Besonders schnelle und speichersparende Rechenmethode für Figuren aus Dreiecksnetzen.


Dies alles ist nur eine kleine Auswahl der möglichen Körper, die in POV-Ray möglich sind. Eine intensiver Vorstellung der Körper vermittelt die Übersicht über mein Zusatz "Insert Menu Addon".
top

© Friedrich A. Lohmüller, 2009
email email: Friedrich.Lohmueller_at_t-online.de
homepage:http://www.f-lohmueller.de