Descrizioni ed esempi per il raytracer POV-Ray di Friedrich A. Lohmüller
    Oggetti Geometrici in POV-Ray
English English English
Français français
Deutsch Deutsch

Home
- POV-Ray Tutorial
 
Oggetti Geometrici
   Indice
Oggetti di Base
Oggetti con macros + CSG
Oggetti in "shapes3.inc"
Altri Oggetti come Macros
Oggetti di Testo 3D
Altri Oggetti
Forme Non-CSG

height_field + HF macros
  - height_field con immagini
  - height_field rastered
  - height_field con funzioni
  - height_field massivo
  >HF - monti e valli
  - HF_Square

  - HF_Sphere
  - HF_Cylinder
  - HF_Torus

Isosurfaces
                                   
Esempio " height_field " con fonzioni

"height_field" per monti e per valli:

Comme si crea
un paesaggio con monti et valli
con un " height_field " con fonzioni


Un paesaggio con "height_field" con monti et valli:

Se mettiamo una montagne di "height_field" solo su il piano di base, possiamo solo vedere le cime dei monti che si sollevano sopra il terreno paitto, le valli sono assente !!!
Sembra che le valli sono ripieno con polvere di sabbia mobile come nel deserto!
 
Se vogliamo vedere anche le valli, dobbiamo essere sicuro che non c'è tanta di polvere di sabbia mobile qui intorno. Dobbiamo passare l'aspirapolvere attraverso questa scena !-)
Abbiamo successo in questa cosa con 3 passi nel seguente spiegati con 3 immagini qui a destra:

#declare HF_Res_X = 1024; // number of points in x
#declare HF_Res_Z = 1024; // number of points in z
#declare SF =
 function {
   pigment {
   spherical
     color_map {
       [0.0, color 0.0 ]
       [0.5, color 0.8 ]
       [1.0, color 1.0 ]
     } // end color_map
    scale <0.5,1,0.5>
    translate<0.5,0,0.5>
   } // end pigment
 } // end function

#declare HF_Function   =
 function(x, y, z)
  {1+f_snoise3d(x*10,y*10,z*10)*0.3 * SF(x,y,z).gray}

#declare HF_Amplitude    = 0.5;
#declare D = 0.00001; // just a little bit!

union{ // height_field + ground
 intersection{
  height_field{
   function  HF_Res_X, HF_Res_Z
   { HF_Function(x,0,y) * HF_Amplitude }
   //smooth
    translate<0,D-0.4 ,0>
   } // end HF
  box{ <D,-0.10,D>,<1-D,0.2-D,1-D>
   } // end box
  translate<0,-0.10,0>
 } // end intersection

difference{ // ground minus hole for height_field
 plane { <0,1,0>, 0 }   // plane of the ground
 box{ <D,-0.10,D>,<1-D,0.2-D,1-D> }
 } // end difference

 scale <1,1,1>
 translate<0,0,0>
 texture { pigment{ color rgb<1,0.95,0.8>}
           normal { bumps 0.75 scale 0.0025 }
           finish { phong 0.1 }
         }// end texture


}// end of  height_field + ground ------------- 
"height_field" solo su piano di base :
Non ci sono le valli !!!
"height_field" massivo con la funzione
function{1+f_snoise3d(x*10,y*10,z*10)*0.3
multiplicato con la funzione di motivo "boxed"
et "intersection" con "box"
Dapprima si deve cavare un buco nel piano di base!
Poi dobbiamo méttre il "height_field" massivo nel buco!
E poi si può vedere non solo i monti, ma anche le valli!
 
Descrizione della scena per POV-Ray:
"HF_by_function_32.txt" o
"HF_by_function_32.pov"
top

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