Beschreibungen und Beispiele zum Raytracer POV-Ray von Friedrich A. Lohmüller
    POV-Ray Beispiele - Die Erstellung von Objekten für POV-Ray
English English English
Italiano Italiano
Français français

Home
- POV-Ray Tutorial

  - POV-Ray Beispiele
    Inhaltsübersicht
  - Geometrie
    - Bauern-Figur
    - Drahtgitter-Würfel
    - Oktagon
    - Eiform
    - Star - Stern
    - Optische Linse
    - Schachbrett
    - Rundkolben-Form

    - Erlenmeyerkolben-Form
    - Zwei-Zylinder-Blob
    - Regulärer Tetraeder
    - Penrose-Dreieck
    - Yin & Yang
    - Fischblase
    - 3fach Fischblase
    - Dreipass
  - Architektur
  - Technik
                                             
 
wireframe cube

Drahtgitter-Würfel

Die Konstruktion eines Würfels mit Zylindern und Kugeln in den Ecken.
Objekte:   "cylinder", "sphere".
Methoden: "#declare", "union{...}", "object{...}"

Anmerkung: Dies ist nur eine Übung um etwas Erfahrung und Routine mit den 3D-Koordinaten und den Methoden zu erlangen.
Man kann dasselbe Resultat erhalten mit der Verwendung von #include "shapes.inc"
und dem Makro "object{ Wire_Box(<-1,-1,-1>,<1,1,1>, 0.20, 0)} .


Die Konstruktion im Detail:
Die Rohrstücke werden symmetrisch zum Mittelpunkt angeordnet. Die Ecken werden mit Kugeln mit dem gleichen Radius wie die Zylinder gebildet. Durch die vorherige Definieren mittels 'declare' läßt sich der Radius einfach ändern. Da der Würfel als neues Objekt namens 'BigCube1' definiert wird, kann er durch die Anweisung

object{ BigCube1
        rotate<...> translate<...>}
leicht mehrfach verwendet werden, wie die Fortsetzung zeigt.
Bestimmung des Radius Ri
der inneren Kreise.

//========= Würfel aus Rohren =======
#declare R = 0.20;  //Radius der Rohre
#declare BigCube1 =
union{
// 8 Ecken
sphere{<-1,-1,-1>,R}
sphere{< 1,-1,-1>,R}
sphere{<-1,-1, 1>,R}
sphere{< 1,-1, 1>,R}
sphere{<-1, 1,-1>,R}
sphere{< 1, 1,-1>,R}
sphere{<-1, 1, 1>,R}
sphere{< 1, 1, 1>,R}
// 4 in x-Richtung
cylinder {<-1,-1,-1>,< 1,-1,-1>,R}
cylinder {<-1,-1, 1>,< 1,-1, 1>,R}
cylinder {<-1, 1,-1>,< 1, 1,-1>,R}
cylinder {<-1, 1, 1>,< 1, 1, 1>,R}
// 4 in y-Richtung
cylinder {<-1,-1,-1>,<-1, 1,-1>,R}
cylinder {<-1,-1, 1>,<-1, 1, 1>,R}
cylinder {< 1,-1,-1>,< 1, 1,-1>,R}
cylinder {< 1,-1, 1>,< 1, 1, 1>,R}
// 4 in z-Richtung
cylinder {<-1,-1,-1>,<-1,-1, 1>,R}
cylinder {<-1, 1,-1>,<-1, 1, 1>,R}
cylinder {< 1,-1,-1>,< 1,-1, 1>,R}
cylinder {< 1, 1,-1>,< 1, 1, 1>,R}
texture{pigment{color rgb<1,0.8,0>}
        finish{ diffuse 0.9 phong 1}}
}//-- Ende des Drahtgitter-Wuerfels --

//------------- Zeichnen -------------
object{BigCube1 scale 0.7
       rotate<0,60,0>
       translate<0,1.2,0>}
//-------------------------------- end

Dies ergibt folgendes Bild:
 
Beispiel Würfel 600x450
Szenenbeschreibung für POV-Ray:
"povcube0.txt" oder "povcube0.pov"

Variation zum Thema:

Ändert man die Zeile mit der Marke //<---1
wie folgt:

camera {Cam1}
ebenso die Zeilen ab der Marke //<---2
wie folgt:
          color_map{[0    color Blue]
                    [0.45 color White]
                    [0.55 color White]
                    [1.0  color Blue]}
          scale 2 translate<0,-1,0>}
und die Zeile mit der Marke //<---3
wie folgt:
#declare R = 0.25   //Radius der Rohre
sowie die Zeilen ab der Marke //<---4
wie folgt:
texture{
    Polished_Chrome
    pigment{quick_color rgb<1,0.8,0>}
    finish {diffuse 0.9 phong 1}}
}//-- Ende des Drahtgitter-Wuerfels --
//----------- Zeichnen ---------------
union{
 object{ BigCube1 scale 0.7
         translate< 0.0, 0.0, 0.0>}
 object{ BigCube1 scale 0.4
         translate< 0.7, 0.7,-0.7>}
 rotate<-45,65,0>
 rotate<10,0,0>
 translate<0.3,0.8,0>}
----------------------------------- end 
so ergibt sich folgendes Bild:
 
Beispiel2 Würfel 600x450
top

© Friedrich A. Lohmüller, 2009
www.f-lohmueller.de