Changer l'échelle avec "object media"
|
Changer l'échelle de "object media"
Si nous augmentons l'échelle d'un "object media" in POV-Ray
la "media density" non si change pas analogue!
En conséquence les rayon passent plus de "media" et cela fait un effet
plus fort.
Par ex. un "scattering media" fait une dispersion plus intnsive et
pour cette raison la media se présente plus sombre
(voir: l'image seconde sur cette page!).
Comment changer l'échelle de "object media" correctement :
Pour avoir un effet constant nous devons diviser la couleur
"color" (par ex. pour scattering) avec le facteur de l'échelle "scale"!
|
"object media" avec l'échelle scale 1.
|
"object media" avec l'échelle scale 4.
|
"object media" avec l'échelle scale 4 et color divisé avec 4.
|
|
Exemple :
Comment changer l'échelle de media
#declare Cloud_Scale = 10;// 1, ... 500
#declare Cloud =
sphere{ <0,0,0>, 1
pigment{rgbt 1}
hollow
interior{ //-----------
media{
emission <1,1,1>/Cloud_Scale
scattering{ 1,<1,1,1>/Cloud_Scale}
density{
spherical
turbulence 0
color_map {
[0 rgb 0.0]//border
[1 rgb 1.0]//center
} // end color_map
} // end of density
} // end of media ---
} // end of interior
scale Cloud_Scale
} //----- end of sphere
//--------------------------------------
object{ Cloud
// don't do any additional scaling here!
translate<0,1,15>
} //--------------------------------------
|
Et aussi comme un objet de macro :
|
Object media avec Cloud_Scale 1 à <0,1,1>
Object media avec Cloud_Scale 10 à <0,1,15>
Object media avec Cloud_Scale 500 à <0,50,600>
|
|
Exemple :
Une nuage avec media comme macro
#macro Cloud_01( Cloud_Scale )
sphere{ <0,0,0>, 1
pigment{rgbt 1}
hollow
interior{ //-----------
media{
emission <1,1,1>*0.75/Cloud_Scale
scattering{ 1,<1,1,1>*5/Cloud_Scale}
samples 20 // increase = more precise
intervals 1
density{ spherical
scale 0.65
turbulence 1.00
color_map {
[0 rgb 0.0] // border
[1 rgb 1.0] // center
} // end color_map
} // end of density
} // end of media ---
} // end of interior
scale Cloud_Scale
} //----- end of sphere
#end // end of macro ---------------------
object{ Cloud_01( 5 )//Cloud(Cloud_Scale)
// don't do any additional scaling here!
rotate <0,0,0>
translate <0,4,5>
} //--------------------------------------
|
|
Object media Cloud_1, scale 5 à <0,4,5>
|