Descrizioni ed esempi per il raytracer POV-Ray di Friedrich A. Lohmüller
Design del Interno dei Oggetti trasparenti con POV-Ray
English English English
Français français
Deutsch Deutsch

Home
- Tutoriels POV-Ray


  Indice del contenuto
  material, interior, media

  - Sintassi di material,
      texture e interior
  - Vetro della finestra
        e max_trace_level
  - fog - Nebia
  Media
  - Sintassi di media
  - Media e Density Maps
  Atmospheric Media
    con/senza density map
  - Raggi nella Nebbia
  Object Media
  Emitting Media
  - Spada di Luce
  - Fiamme di candele
  Scattering Media
  - Luce della Finestra
  - Vapore, Fumo, Nuvole
  Absorbing Media
  - Tromba d'Aria.
  Problemi Speciali con Media
  - Cambiare la scala di Media
  - Sovrapposizione di Media
                                             

Fiamme di candele
con Emitting Media

L'uso della parola chiave "media emission"
per la simulazion di una fiamma di una candela.

Fiamme di candele con "media emission".

Con una media di tipo "emission" possiamo simulare fiamme di candele. L'oggetto di container usato (qui: una forma ovale)deve essere chiaro e con la parola chiave "hollow" (Per admettre gli effetti di quot;mediaquot; e di "fog" all'interno dell'oggetto!). L'oggetto si può essere trasformato insieme con la media alla forma di una fiamma.
Note: Il colore di luce "emessa" è specificata doppo la parola chiave " emission ". Ma la media stessa non può vraimente veramente "eméttre" luce - questo vuole solamente dire che media è visibile anche senza alcune illuminazion esterna!
Se vogliamo una media che splende e che può fare ombra etc., dobbiamo aggiungere una fonte di luce nel centro! !


// -----------------------------------------
#local Flame__Shape =
merge{    // egg
intersection{
   sphere{<0,0,0>,1}
   box{<-1,-D,-1>,< 1,1  ,1>}
   scale <1,2.5,1>}
intersection{
   sphere{<0,0,0>,1}
   box{<-1,-1 ,-1>,< 1,0+0.01,1>}
   }
} // end of merge
// -----------------------------------------
#local C__Flame =
object{
  Flame__Shape
  hollow
  pigment{ color rgbf<1,1,1,1>}// clear!
  finish { ambient 0 diffuse 0 }
  interior {
    media {
      emission color rgb<1.0,0.75,0.1>*1.75
      intervals 9
      samples 1, 20
      confidence 0.9999
      variance 1/100
      density{ spherical
               ramp_wave
               turbulence 0.15
               color_map {
               [0.0 color rgb <0.0,0.0,0.0>]
               [0.6 color rgb <0.8,0.3,0.0>]
               [0.9 color rgb <1.0,0.8,0.3>]
               [1.0 color rgb <1.0,1.0,0.1>]
                         } // end color_map
            scale <1,2.5,1>
          } // end of density
    }//end of media
}//------------------------------------------


media con "density_map" sferica e oggetto di container fatto visibile - senza "scale"!
media con "density_map" sferica, in forma di una fiamma.
La media incandescente all'interno:
Una "density map" con "crackle" tagliato di una "density map" sferica seconda con l'orlo tenue.
media{
    emission color rgb<1.0, 0.75, 0.1>*2.75
    intervals 3
    samples 32
    method 3
    aa_threshold 0.1 aa_level 5
    density{ crackle  turbulence 0.3
             scale 0.75 translate<0,24,0>
             color_map {
                    [0 rgb 0]
                    [0.00 rgb 0]
                    [0.07 rgb 1]
                    [0.10 rgb 1]
                    [0.12 rgb 0]
                    [1.00 rgb 0]
              } // end color_map
           } // end density
     density{ spherical
              color_map {
                    [0 rgb 0]
                    [0.7 rgb 1]
                    [1 rgb 1]
                } // end color_map
            } // end density
   scale<1,2.5,1>*0.5
   translate<0,0.01,0>
 }// end media
//------------------------------------------
Aggiunta una regione interna incandescente con una media seconda con "crackle" tagliato con l'orlo tenue di un'altra "density map" sferica.
Se volgiamo fare splendere la fiamma della candela, dobbiamo aggiungere una fonte di luce nel centro de la fiamma.
(note: "emission media" lastessa non può veramente illuminare qualcosa!).
Per raggiungere le ombra tenue prendiamo una "area_light", l'intensità è controllata di un numero sopra di 0:
#if(Shining__On > 0) //---------------------
light_source{
   <0,0,0>
   color rgb <0.8, 0.5, 0.2>*Shining__On
   area_light       // kind of light source
   <0,0,0><0,0.25,0>//lights spread area
   1, 10      // total number of lights x,y
   adaptive 3 // 0,1,2,3...
   jitter // adds random softening of light
   translate<0,CandleHeight+0.45,0>
} //---------------- end of area_light -----
#end // of "#if(Shining__On>0)"
 
 
 
 
 
Aggiunta una "area_light" per fare le candele splendere!
Descizione della scena per POV-Ray:
"candle_flame_4.txt" o "candle_flame_4.pov"

Per più di realismo si può fare la sorgente luminosa più largo et anche si può aggiungere un altro "area_light" girato con 90 gradi.
Un'altra proposta di Thierry Banel:
Con "fade_distance" e "fade_power" possiamo simulare anche l'attenuazione della lume di candela con la distanza.  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Quest'oggetto è disponibile come
oggetti pronto per l'uso
per POV-Ray: Candela accesa
Più realistico: "area_light" + "Fade_Distance" + "Fade_Power"!
Include file et esempi per POV-Ray quod vide "Candle_2" a
Oggetti pronto per l'uso.


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