Descrizioni ed esempi per POV-Ray di Friedrich A. Lohmüller
Design di Superfici con "texture" in POV-Ray -
English English English
Français français
Deutsch Deutsch

Home
- POV-Ray Tutorial

  Design di Superfici
  - Colori e Texture
    Index

    Sintassi di texture
    Testure pronto per l'uso
    Colori Do-it-yourself
    Motivi - patterns
    Liste di motivi
    - Motivi regolari
    - Motivi per caso
    - Motivi Frattali
    - Altri motivi
    Warps
    - warp mapping
   >uv_mapping
    Mapping
    Sovrapposizioni

    Vostre testure
 
                                           
mapping without uv_mapping

Surface mapping with uv_mapping
Surface Mapping con 'uv_mapping'
 Come adattare motivi (patterns) a superfici.

Motivi processurali (processural patters) normalmente sono definiti in 3D nel spazzio, ma spesso abbiamo motivi per testuri definito solo in 2D su un piano. Questi motivi solitamente non vanno bene con gli superfici 3D di solidi.
I motivi di checker, hexagon, square, triangle, tiling e pavement sono definito nel piano xz. Questi motivi devono essere girati con 'rotate<-90,0,0> per allineare i motivi con il piano xy. I motivi di brick e image_map sono gia definito nel piano xy.
'uv_mapping' è un metodo per adattare questi motivi con avvolgere i motivi intorno a un oggetto. I punti di un motivo 2D sono descritti con vettori 2D, uv-vettori, con cosiddetti uv-coordinati (u,v).
I coordinati u vanno da 0 a 1 (La larghezza del motivo ou del'immagine), i coordinati v vanno verso l’alto da 0 a 1 (l'altezza del motivo ou del'immagine).

Surface mapping con 'uv_mapping' al momento attuale è definito in POV-Ray per gli oggetti seguenti:

  1. box :   'box mapping' o 'cube mapping' come con 'Sky_Box' e cubemaps.
  2. sphere : cosiddetto 'spherical mapping' come con 'Sky_Domes' e skymaps.
  3. lathe, sor: con un spherical mapping modificato. Qui: u (0...1) avvolge intorni al asse y, la coordinata collegato ai punti di controllo degli oggetti (0..1).
  4. mesh, mesh2: Le coordinate uv sono definiti con ogni vertice e interpolati fra questi.
  5. bicubic_patch: Le coordinate uv si basano sulle coordinate parametriche del patch, s'estendono con i punti di controllo.
  6. parametric: la 'map' si prende dai confini dello spazio uv, dove la superficie parametriche deve essere calcolata.
  7. torus : la 'map' si prende della area <0,0><1,1> la coordinate u si avvolge intorno con il raggio maggiore, la coordinata v intorno con il raggio minore.
La sintassi generale per uv_mapping
texture {
 uv_mapping pigment{PIGMENT_BODY} | pigment{uv_mapping PIGMENT_BODY}
 uv_mapping normal {NORMAL_BODY } | normal {uv_mapping NORMAL_BODY }
 uv_mapping texture{TEXTURE_BODY} | texture{uv_mapping TEXTURE_BODY)
}

uv_mapping for box
Lo schema di mapping per box è dimostrato con le due immagini seguenti:
Sample CubeMapping
Cube Mapping schema in coordinati uv
Sample CubeMappingWrapping
Wrapping di un motivo con Cube Mapping


UV_mapping con box con un motivo nel piano xz
'tiling' con la larghezza di base di 1 unitá:
Il motivo deve essere ridotto con 1/4 per avere la stessa scale come sul piano xz.
Esempio:
box{ <0,0,0>,<1.6,0.5,1>
     texture { uv_mapping
        pigment{
           tiling 6 // 1~24 Pattern_Number
              color_map{
                [ 0.0 color rgb<1,1,1>]
                [ 1.0 color rgb<0,0,0>]
                } // end color_map
           scale 0.10/4
         rotate<-90,0,0>
          scale<1/1.6,2,1>
        } // end pigment
        finish { phong 1}
      } // end of texture

     translate<0,0.0,0>
   } // end of box ------------------------



Sample uv_mapping on a box
uv_mapping con box
UV_mapping con box con lunghezza, larghezza et/o altezza differenti
Un 'tiling' con la larghezza di base di 1 unitá:
Il motivo deve essere ridotto inverse ai lati del cuboido!
Esempio:
box{ <0,0,0>,<1.6,0.5,1>;
     texture { uv_mapping
        pigment{
           tiling 6 // 1~24 Pattern_Number
              color_map{
                [ 0.0 color rgb<1,1,1>]
                [ 1.0 color rgb<0,0,0>]
                } // end color_map
           scale 0.10/4
         rotate<-90,0,0>
         scale<1/1.6,1/0.5,1>
        } // end pigment
        finish { phong 1}
      } // end of texture

     translate<0,0.0,0>
   } // end of box ------------------------


Sample uv_mapping on a box
uv_mapping su un box

uv_mapping con sphere
Un motivo nel piano xz 'mapped' su una sfera:
Esempio:
sphere{ <0,0,0>, 0.75
     texture { uv_mapping
        pigment{
           tiling 6 // 1~24 Pattern_Number
              color_map{
                [ 0.0 color rgb<1,1,1>]
                [ 1.0 color rgb<0,0,0>]
                } // end color_map
           scale 0.025
         rotate<-90,0,0>
        } // end pigment
        finish { phong 0.1}
      } // end of texture
translate<0.5,0.5,0.5>
} // end of sphere -------------------------
E con un color_map più vivace:
#declare Pigment_1 =
   pigment{
      tiling 3 // 1~24 Pattern_Number
      color_map{
                [ 0.0 color rgb<1,1,1>]
                [ 0.5 color rgb<1,0,0>]
                [ 1.0 color rgb<0,0,0>]
               } // end color_map
      scale 0.075
      rotate<-90,0,0>
    } // end pigment
// -----------------------------------------
sphere{ <0,0,0>, 0.75
   texture {
      pigment{ uv_mapping Pigment_1 }
      normal { uv_mapping
         pigment_pattern{ Pigment_1 }
         0.25} // end normal
        finish { phong 0.1}
      } // end of texture
translate<0.5,0.5,0.5>
} // end of sphere -------------------------
Lo stesso effetto con 'warped tiling':
#declare Pigment_1 =
   pigment{
      tiling 6 // 1~24 Pattern_Number
      color_map{
                [ 0.0 color rgb<1,1,1>]
                [ 0.5 color rgb<1,0,0>]
                [ 1.0 color rgb<0,0,0>]
               } // end color_map
      scale 0.075
      rotate<-90,0,0>
      warp{ spherical
            orientation <0,0,1>
            dist_exp 0
          } // end of warp
    } // end pigment
//------------------------------------------
sphere{ <0,0,0>, 0.75
   texture { // no uv_mapping !
      pigment{ Pigment_1 } // end pigment
      normal{
         pigment_pattern{ Pigment_1 }
         0.5} // end normal
      finish { phong 0.1}
   } // end of texture
translate<0.5,0.5,0.5>
} // end of sphere -------------------------

Sample uv_mapping on a sphere
uv_mapping con sphere

Sample uv_mapping on a sphere
uv_mapping con sphere








Sample uv_mapping on a sphere
warped tiling con sphere
Più su 'warp' q.v. qui:Mapping con Warps

uv_mapping con torus
A tiling pattern in the xz plane mapped on a torus:
Esempio:
sphere{ <0,0,0>, 0.75
     texture { uv_mapping
        pigment{
           tiling 6 // 1~24 Pattern_Number
              color_map{
                [ 0.0 color rgb<1,1,1>]
                [ 0.5 color rgb<1,0,0>]
                [ 1.0 color rgb<0,0,0>]
                } // end color_map
      rotate<-90,0,0>
      //frequency 10
      scale<0.05,0.2,1>*0.25
        } // end pigment
        finish { phong 0.1}
      } // end of texture
translate<0.5,0.5,0.5>
} // end of torus -------------------------

Sample uv_mapping on a torus
uv_mapping con torus
Sample uv_mapping on a torus
uv_mapping con torus e 'frequency 10'

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