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

"matrix" - Abbildungsmatrix Themen

Geometrische Transformationen

"transform{ ... }"
= zusammengefaßte Transformationen

Mit diesem Kommando ist es möglich mehrere Transformationen wie "scale", "rotate", "translate" und/oder "matrix", in irgendeiner Reihenfolge nacheinander ausgeführt, zu einem einzigen Transformations-Befehl zusammenzufassen.
Der Syntax des Schlüsselwortes ist folgender:

 #declare MeineTransformation
 = transform{ Beliebige Folge v. Transformationen}

Die Anwendung geschieht wie folgt:

 object{ Mein_Objekt transform MeineTransformation}

Hier sei eine Anwendung skizziert:
Für Details
zum Kanu-Bau
vgl. Beispiele!
Ein Objekt namens "Canoe" sowie die dazugehörenden Löcher in der Wasserfläche "Canoe_outside" sollen z.B. an 3 verschiedenen Positionen in verschiedenen Größbzw. Lagen bzw. Orientierungen platziert werden:
Dazu definiert man zuerst die Transformationen, welche zu den gewünschten Positionen führen:
//------------------------------------- Positionen:
#declare Canoe_Position1
  = transform { rotate< 0,30,0> translate<0.0,0,1>}
#declare Canoe_Position2
  = transform { rotate<-6,20,0> translate<1.5,0,5>}
#declare Canoe_Position3
  = transform { rotate< 5, 0,0> scale 0.55
                          translate< -0.3,0,-2.00>}
//-------------------------------------------------
Sodann werden die Kanus positioniert:

//---------------------- Kanus an ihren Positionen:
object{ Canoe transform Canoe_Position1}
object{ Canoe transform Canoe_Position2}
object{ Canoe transform Canoe_Position3}
//-------------------------------------------------
und ebenso die dazugehorenden Löcher in der Wasserfläche:
//-------------------------------------------------
difference{
plane{<0,1,0>, 0 }
object{Canoe_outside transform Canoe_Position1 }
object{Canoe_outside transform Canoe_Position2 }
object{Canoe_outside transform Canoe_Position3 }
   texture{Polished_Chrome
                    normal {crackle 1 scale 5
                            turbulence 1
                            translate<0,0,5>}
                    finish {ambient 0.35 diffuse 0.25
                            reflection 0.40}}
          }// end of difference
//----------------------------------------------- end


"matrix" - Abbildungsmatrix Themen

© Friedrich A. Lohmüller, 2004
email email: (legacy email redacted)
homepage:www.f-lohmueller.de