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

Home
- POV-Ray Tutorial

  Oberflächengestaltung
  - Farben und Texturen
    Inhalt

    texture Syntax
    Vorgefertigtes
    Farben Do-it-Yourself
   Muster
    - patterns -Arten
    Reguläre Muster
    - checker, hexagon
      square, triangular
    - brick
   > object pattern (1)
    - object pattern (2)
    - object pattern (3)
    - tiling
    - pavement
    Streifenmuster
    - color_map{...}
    Patterns mit pigment
    - pigment_pattern (1)
    - pigment_pattern (2)
    - image_pattern
    Muster Listen
    - Reguläre Muster
    - Random Muster
    - Fractal Muster
    - Besondere Muster
    Warps
    uv_mapping
    Mapping
    Überlagerungen

    Eigene Texturen
 
                                           
  Object Pattern (1)
Syntax:
object{
  OBJECT_IDENTIFIER | OBJECT {}
  LIST_Outside, LIST_Inside
  }
Diese Muster (pattern) kann nicht color_map, wave types oder slope_map verwenden.
OBJECT = Ein 'solid object'*) ohne Textur.
  *) Körper mit klar definiertem Innen und Aussen!
Die folgende Liste enthält das, was das Muster kontrolliert.
Dieses kann sein: colors, pigments, textures, normals, etc. ...
LIST_Outside = zugeordnet zu den Punkten innerhalb des OBJECTs.
LIST_Inside = zugeordnet zu den Punkten außerhalb des OBJECTs.
Beispiel 1: Object pattern angewandt auf Farben
// object for object pattern
#declare Pattern_Object_1=
union{
  object{
   Round_Box(<-10,-.5,-3>,<0,1.3,-.5>,.4,0)}
  object{
   Round_Box(<-10,-.5,.5>,<0,1.3,3.0>,.4,0)}
} // end of union
//-------------------------------------------
#declare Object_Pigment_1 =
pigment{
  object{
      Pattern_Object_1
      color rgb<1,0.65,0.2> // outside
      color rgb<0.6,0.00,0>  // inside
    }// object
} // end pigment
//-------------------------------------------
#declare Body_Texture =
   texture{ pigment{ Object_Pigment_1 }
            finish { phong 1 }
          } // end of texture
//-------------------------------------------
#declare D = 0.00001;
#declare W = 0.75;// width
#declare Sz = 3; // z scale
#declare H  = 3; // height
union{ // Body
  object{ Round_Box(<-3,0,-W>,<0,H,W>,W-D,0)
          matrix<1, 0, 0, // shear_y_to_x
                 -0.5, 1, 0,
                    0, 0, 1,
                    0, 0, 0>} //
  object{ Round_Box(<-5,0,-W>,<0,H,W>,W-D,0)
          translate<-2,0,0>} //
  scale<1,1,Sz>
  texture{ Body_Texture }
} //-----------------------------------------

Object for Object Pattern
Man entscheide, welcher Teil des Raumes mit der Inside-Farbe
gefüllt werden soll und prüfe, ob das Muster-Objekt
die Körperoberfläche an den richtigen Stellen trifft.
Object Pattern
Das 'object pattern' angewand auf den Körper.
POV-Ray Szenendatei: Object_Pattern_100.pov

Beispiel 2:Das Object-Pattern mit 3 Farben
//-------------------------------------------
#declare Body_Texture_1 =
   texture{ pigment{ Object_Pigment_1 }
            finish { phong 1 }
          }
//-------------------------------------------
// another object for an object pattern
#declare Pattern_Object_2=
  box{<-10,2.25,-3>,<0,3,3>}
//-------------------------------------------
#declare Object_Pigment_2 =
pigment{
   object {
    Pattern_Object_2
    color rgbf<1,1,1,1> // outside
    color rgb<1,1,1>*0.05// inside
   }// object
  } // end pigment
//-------------------------------------------
#declare Body_Texture_2 =
   texture{ pigment{ Object_Pigment_2 }
            finish { phong 1 }
          }
//-------------------------------------------
// layered texture:
#declare Body_Texture =
 texture{ Body_Texture_1 }
 texture{ Body_Texture_2 }
//-------------------------------------------

Object Pattern 3 colors
'object pattern' mit 3 Farben
POV-Ray Szenendatei: Object_Pattern_150.pov

Beispiel 3:'Object pattern' für pigment und normal
//-------------------------------------------
#declare Object_Normal_1 =
normal{
   object {
    Pattern_Object_1
    normal{ agate 2 scale 0.15  } // outside
    normal{ bumps 0.35 scale 0.15} // inside
   }// object
  } // end normal
//-------------------------------------------
//-------------------------------------------
#declare Body_Texture =
   texture{ pigment{ Object_Pigment_1 }
            normal { Object_Normal_1 }
            finish { phong 1 }
          }
//-------------------------------------------

Object for Object Pattern
Das 'object pattern' angewandt auf 'pigment' und 'normal'
POV-Ray Szenendatei: Object_Pattern_100.pov
top

© Friedrich A. Lohmüller, 2012
http://www.f-lohmueller.de