« Povray/Tutorials/RealisticWater » : différence entre les versions

De TartareFR
Aller à la navigation Aller à la recherche
 
(7 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
== Une surface de l'eau simple, opaque, plat et réfléchissant ==
== Une surface de l'eau simple, opaque, plate et réfléchissante ==
{|
{{Povray/tuto|Le plus souvent la surface de l'eau paraît comme un miroir opaque. Pour simuler cette surface il suffit d'ajouter une texture comme 'Polished_Chrome'. L'eau même est transparente, légèrement grisée très clair (L'eau claire n'a pas de couleur !!!).
|-
| Le plus souvent la surface de l'eau paraît comme un miroir opaque. Pour simuler cette surface il suffit d'ajouter une texture comme 'Polished_Chrome'. L'eau même est transparente, légèrement grisée très clair (L'eau claire n'a pas de couleur !!!).
La couleur d'une surface de l'eau est surtout défini par les objets que se réfléchissent dans la surface. ( Bleu est la couleur de la mer seulement les jours ensoleillés avec un ciel bleu ! L'eau a l'air différente avec des ciels différents ! ).
La couleur d'une surface de l'eau est surtout défini par les objets que se réfléchissent dans la surface. ( Bleu est la couleur de la mer seulement les jours ensoleillés avec un ciel bleu ! L'eau a l'air différente avec des ciels différents ! ).
<syntaxhighlight lang="povray">
<syntaxhighlight lang="povray">
// sea ------------------------------
plane{<0,1,0>, 0
plane{<0,1,0>, 0
       texture{pigment{rgb <.2,.2,.2>}
       texture{pigment{rgb <.2,.2,.2>}
Ligne 16 : Ligne 13 :
               }// end of texture
               }// end of texture
     }// end of plane
     }// end of plane
//-----------------------------------
</syntaxhighlight>
</syntaxhighlight>
Si nous avons inséré les définitions des textures, nous pouvons écrire cela plus court :
Si nous avons inséré les définitions des textures, nous pouvons écrire cela plus court :
<syntaxhighlight lang="povray">
<syntaxhighlight lang="povray">
#include "textures.inc"
#include "textures.inc"
// sea ------------------------------
plane{<0,1,0>, 0
plane{<0,1,0>, 0
       texture{ Polished_Chrome }
       texture{ Polished_Chrome }
     }// end of plane
     }// end of plane
//-----------------------------------
</syntaxhighlight>
</syntaxhighlight>
| [[Fichier:PovrayTutoRealisticWater01.png|300px]]<br>
| [[Fichier:PovrayTutoRealisticWater01.png|300px|vignette|Surface simple, opaque, plate et réfléchissante<br>[[Media:PovrayTutoRealisticWater01.pov|Fichier POVRay correspondant]]]]
[[Media:PovrayTutoRealisticWater01.pov|Fichier POV]]
}}
|}


== L'eau peu agitée avec reflections des nuages ==
== L'eau peu agitée avec reflections des nuages ==
{{col-begin}}
{{Povray/tuto|Des ondes modérées font une surface de l'eau plus réaliste. Nous ajoutons à la texture la commande suivante :
{{col-break}}
Des ondes modérées font une surface de l'eau plus réaliste. Nous ajoutons à la texture la commande suivante :
<syntaxhighlight lang="povray">
<syntaxhighlight lang="povray">
normal{ bumps 0.03
normal{ bumps 0.03
Ligne 40 : Ligne 31 :
         turbulence 0.6
         turbulence 0.6
       }
       }
//-----------------------------------
</syntaxhighlight>
</syntaxhighlight>
{{col-break}}
| [[Fichier:PovrayTutoRealisticWater02.png|300px|vignette|Surface peu agitée avec réflexion<br>[[Media:PovrayTutoRealisticWater02.pov|Fichier POVRay correspondant]]]]
[[Fichier:PovrayTutoRealisticWater02.png|300px]]<br>[[Media:PovrayTutoRealisticWater02.pov|POV]]
}}
{{col-end}}


== La mer agitée, la surface de l'eau plus agitée ==
== La mer agitée, la surface de l'eau plus agitée ==
[[Fichier:PovrayTutoRealisticWater03.png|120px|vignette|droite|Avec bumps: [[Media:PovrayTutoRealisticWater03.pov|POV]]]]
 
Nous obtenons cela par ajouter à la texture la commande suivante :
{{Povray/tuto|Nous obtenons cela par ajouter à la texture la commande suivante :
<syntaxhighlight lang="povray">
<syntaxhighlight lang="povray">
normal{ bumps 0.3
normal{ bumps 0.3
Ligne 54 : Ligne 43 :
         turbulence 0.6
         turbulence 0.6
       }
       }
//-----------------------------------
</syntaxhighlight>
</syntaxhighlight>
 
| [[Fichier:PovrayTutoRealisticWater03.png|300px|vignette|Surface agitée avec bumps<br>[[Media:PovrayTutoRealisticWater03.pov|Fichier POVRay correspondant]]]]
[[Fichier:PovrayTutoRealisticWater04.png|120px|vignette|droite|Avec crackle: [[Media:PovrayTutoRealisticWater04.pov|POV]]]]
}}
Aussi un effet très realiste on peut voir par ex. comme cela :
{{Povray/tuto|Aussi un effet très realiste on peut voir par ex. comme cela :
<syntaxhighlight lang="povray">
<syntaxhighlight lang="povray">
normal{ crackle 0.15
normal{ crackle 0.15
Ligne 65 : Ligne 53 :
         translate<-1,0,5>
         translate<-1,0,5>
       }
       }
//-----------------------------------
</syntaxhighlight>
</syntaxhighlight>
| [[Fichier:PovrayTutoRealisticWater04.png|300px|vignette|Surface agitée avec crackle<br>[[Media:PovrayTutoRealisticWater04.pov|Fichier POVRay correspondant]]]]
}}
== Une surface de l'eau ridée par le vent ==
== Une surface de l'eau ridée par le vent ==
[[Fichier:PovrayTutoRealisticWater05.png|120px|vignette|droite|Avec bozo: [[Media:PovrayTutoRealisticWater05.pov|POV]]]]
 
Nous obtenons cela avec le motif 'crackle' ou 'bozo' et par ajouter des échelles différentes en direction x et y et aussi une rotation dans la direction transversale au vent :
{{Povray/tuto|Nous obtenons cela avec le motif 'crackle' ou 'bozo' et par ajouter des échelles différentes en direction x et y et aussi une rotation dans la direction transversale au vent :
<syntaxhighlight lang="povray">
<syntaxhighlight lang="povray">
normal{ bozo 1.75
normal{ bozo 1.75
Ligne 77 : Ligne 67 :
         translate<0,0,-2>
         translate<0,0,-2>
       }
       }
//-------------------------------------
</syntaxhighlight>
</syntaxhighlight>
| [[Fichier:PovrayTutoRealisticWater05.png|300px|vignette|Surface de l'eau ridée avec bozo<br>[[Media:PovrayTutoRealisticWater05.pov|Fichier POVRay correspondant]]]]
}}


[[Fichier:PovrayTutoRealisticWater06.png|120px|vignette|droite|Avec crackle: [[Media:PovrayTutoRealisticWater06.pov|POV]]]]
{{Povray/tuto|L'effet ressemblent avec 'crackle':
L'effet ressemblent avec 'crackle':
<syntaxhighlight lang="povray">
<syntaxhighlight lang="povray">
normal{ pigment_pattern{
normal{ pigment_pattern{
Ligne 93 : Ligne 84 :
       rotate<0,10,0>
       rotate<0,10,0>
     }
     }
//-------------------------------------
</syntaxhighlight>
</syntaxhighlight>
| [[Fichier:PovrayTutoRealisticWater06.png|300px|vignette|Surface de l'eau ridée avec crackle<br>[[Media:PovrayTutoRealisticWater06.pov|Fichier POVRay correspondant]]]]
}}


Remarque : Tout cela sont seulement des simulations des surfaces ondulées! Géométriquement, ils sont toujours parfaitement plat. Pour obtenir des des surfaces tridimensionnelles ondulées, il faut beaucoup plus ! Voir ici et ici !
Remarque : Tout cela sont seulement des simulations des surfaces ondulées! Géométriquement, ils sont toujours parfaitement plat. Pour obtenir des des surfaces tridimensionnelles ondulées, il faut beaucoup plus ! Voir ici et ici !


== Une surface de l'eau partiellement transparente et réfléchissante ==
== Une surface de l'eau partiellement transparente et réfléchissante ==
[[Fichier:PovrayTutoRealisticWater07.png|120px|vignette|droite|[[Media:PovrayTutoRealisticWater07.pov|POV]]]]
 
Si l'eau paraît partiellement transparent
{{Povray/tuto|Si l'eau paraît partiellement transparent
et réfléchissent, nous pouvons simuler cela par utiliser la texture 'Glass3' (l'eau clair) ou 'Green_Glass' (l'eau vert par des plantes aquatiques !). Dans ces cas le sous-sol doit être définé bien - le sous-sol a une grande influence à l'apparence de la surface de l'eau!
et réfléchissent, nous pouvons simuler cela par utiliser la texture 'Glass3' (l'eau clair) ou 'Green_Glass' (l'eau vert par des plantes aquatiques !). Dans ces cas le sous-sol doit être définé bien - le sous-sol a une grande influence à l'apparence de la surface de l'eau!


<syntaxhighlight lang="povray">
<syntaxhighlight lang="povray">
// ground -----------------------------
plane{<0,1,0>, 0  translate<0,-3,0>
plane{<0,1,0>, 0  translate<0,-3,0>
       texture{pigment{color LightWood}
       texture{pigment{color LightWood}
Ligne 114 : Ligne 105 :
       }// end of plane 1
       }// end of plane 1


// sea water --------------------------
plane{<0,1,0>, 0
plane{<0,1,0>, 0
       texture{ Green_Glass
       texture{ Green_Glass
Ligne 127 : Ligne 117 :
     interior{I_Glass}
     interior{I_Glass}
     }// end of plane 2
     }// end of plane 2
//-------------------------------------
</syntaxhighlight>
</syntaxhighlight>
| [[Fichier:PovrayTutoRealisticWater07.png|300px|vignette|Surface de l'eau partiellement transparente et réfléchissante<br>[[Media:PovrayTutoRealisticWater07.pov|Fichier POVRay correspondant]]]]
}}


== Ondes concentriques autour d'un poteau ==
== Ondes concentriques autour d'un poteau ==
[[Fichier:PovrayTutoRealisticWater08.png|120px|vignette|droite|[[Media:PovrayTutoRealisticWater08.pov|POV]]]]


<syntaxhighlight lang="povray">
{{Povray/tuto|<syntaxhighlight lang="povray">
// sea water --------------------------
plane{<0,1,0>, 0
plane{<0,1,0>, 0
       texture{ Green_Glass
       texture{ Green_Glass
Ligne 147 : Ligne 136 :
     interior{I_Glass}
     interior{I_Glass}
     }// end of plane 2
     }// end of plane 2
//-------------------------------------
</syntaxhighlight>
</syntaxhighlight>
| [[Fichier:PovrayTutoRealisticWater08.png|300px|vignette|Ondes concentriques<br>[[Media:PovrayTutoRealisticWater08.pov|Fichier POVRay correspondant]]]]
}}
== Un trou dans l'eau - un tourbillon ==
== Un trou dans l'eau - un tourbillon ==
[[Fichier:PovrayTutoRealisticWater09.png|120px|vignette|droite|[[Media:PovrayTutoRealisticWater09.pov|POV]]]]
 
{{Povray/tuto|
Cela on peu faire avec quelques fonctions simples de CSG. À la fin nous devons appliquer une texture avec un composant 'normal' approprié sur le plan pour simuler le tourbillon de l'eau.
Cela on peu faire avec quelques fonctions simples de CSG. À la fin nous devons appliquer une texture avec un composant 'normal' approprié sur le plan pour simuler le tourbillon de l'eau.
Pour plus de clarté j'ai découpé un quart du plan.
Pour plus de clarté j'ai découpé un quart du plan.
Ligne 157 : Ligne 148 :
# Pour arrondir cet arête vive nous prenons un autre cylindere avec le rayon agrandi du rayon du bords ronds.<br>[[Fichier:PovrayTutoWaterHole03.jpg]]
# Pour arrondir cet arête vive nous prenons un autre cylindere avec le rayon agrandi du rayon du bords ronds.<br>[[Fichier:PovrayTutoWaterHole03.jpg]]
# Encore une fois nous soustrayons ce deuxième cylindre ! <br>[[Fichier:PovrayTutoWaterHole04.jpg]]
# Encore une fois nous soustrayons ce deuxième cylindre ! <br>[[Fichier:PovrayTutoWaterHole04.jpg]]
# Puis nous ajoutons un tore (un anneau) avec le rayon majeur = rayon de notre deuxième cylindre et le rayon mineur = rayon du bords ronds.<br>[[Fichier:PovrayTutoWaterHole05.jpg]]
# Puis nous ajoutons un tore (un anneau) avec le rayon majeur <nowiki>=</nowiki> rayon de notre deuxième cylindre et le rayon mineur <nowiki>=</nowiki> rayon du bords ronds.<br>[[Fichier:PovrayTutoWaterHole05.jpg]]
# La construction est fini!<br>[[Fichier:PovrayTutoWaterHole06.jpg]]
# La construction est fini!<br>[[Fichier:PovrayTutoWaterHole06.jpg]]
À la fin nous ajoutons à la texture de l'eau, une normale come cela :
À la fin nous ajoutons à la texture de l'eau, une normale come cela :
Ligne 168 : Ligne 159 :
}
}
</syntaxhighlight>
</syntaxhighlight>
| [[Fichier:PovrayTutoRealisticWater09.png|300px|vignette|Un tourbillon<br>[[Media:PovrayTutoRealisticWater09.pov|Fichier POVRay correspondant]]]]
}}

Dernière version du 1 septembre 2013 à 17:54

Une surface de l'eau simple, opaque, plate et réfléchissante

Le plus souvent la surface de l'eau paraît comme un miroir opaque. Pour simuler cette surface il suffit d'ajouter une texture comme 'Polished_Chrome'. L'eau même est transparente, légèrement grisée très clair (L'eau claire n'a pas de couleur !!!).

La couleur d'une surface de l'eau est surtout défini par les objets que se réfléchissent dans la surface. ( Bleu est la couleur de la mer seulement les jours ensoleillés avec un ciel bleu ! L'eau a l'air différente avec des ciels différents ! ).

plane{<0,1,0>, 0
      texture{pigment{rgb <.2,.2,.2>}
              finish {ambient 0.15
                      diffuse 0.55
                      brilliance 6.0
                      phong 0.8
                      phong_size 120
                      reflection 0.6}
              }// end of texture
     }// end of plane

Si nous avons inséré les définitions des textures, nous pouvons écrire cela plus court :

#include "textures.inc"
plane{<0,1,0>, 0
      texture{ Polished_Chrome }
     }// end of plane
Surface simple, opaque, plate et réfléchissante
Fichier POVRay correspondant


L'eau peu agitée avec reflections des nuages

Des ondes modérées font une surface de l'eau plus réaliste. Nous ajoutons à la texture la commande suivante :
normal{ bumps 0.03
         scale <1,0.25,0.25>*1
         turbulence 0.6
       }
Surface peu agitée avec réflexion
Fichier POVRay correspondant


La mer agitée, la surface de l'eau plus agitée

Nous obtenons cela par ajouter à la texture la commande suivante :
normal{ bumps 0.3
        scale 0.05
        turbulence 0.6
      }
Surface agitée avec bumps
Fichier POVRay correspondant
Aussi un effet très realiste on peut voir par ex. comme cela :
normal{ crackle 0.15
        scale 0.75
        turbulence 0.3
        translate<-1,0,5>
      }
Surface agitée avec crackle
Fichier POVRay correspondant


Une surface de l'eau ridée par le vent

Nous obtenons cela avec le motif 'crackle' ou 'bozo' et par ajouter des échelles différentes en direction x et y et aussi une rotation dans la direction transversale au vent :
normal{ bozo 1.75
         scale <2.0,1,0.3>*0.20
         rotate<0,10,0>
         turbulence 0.9
         translate<0,0,-2>
       }
Surface de l'eau ridée avec bozo
Fichier POVRay correspondant


L'effet ressemblent avec 'crackle':
normal{ pigment_pattern{
             crackle
             colour_map { [0, rgb 0]
                          [1, rgb 1] }
             turbulence 1.7
             translate <0,0,1>}
             0.5}
       scale <2.0,1,0.3>*2
       rotate<0,10,0>
     }
Surface de l'eau ridée avec crackle
Fichier POVRay correspondant


Remarque : Tout cela sont seulement des simulations des surfaces ondulées! Géométriquement, ils sont toujours parfaitement plat. Pour obtenir des des surfaces tridimensionnelles ondulées, il faut beaucoup plus ! Voir ici et ici !

Une surface de l'eau partiellement transparente et réfléchissante

Si l'eau paraît partiellement transparent

et réfléchissent, nous pouvons simuler cela par utiliser la texture 'Glass3' (l'eau clair) ou 'Green_Glass' (l'eau vert par des plantes aquatiques !). Dans ces cas le sous-sol doit être définé bien - le sous-sol a une grande influence à l'apparence de la surface de l'eau!

plane{<0,1,0>, 0  translate<0,-3,0>
       texture{pigment{color LightWood}
               normal {bumps 0.25
                       scale 0.05}
               finish {ambient 0.45
                       diffuse 0.55}
               }// end of texture
       }// end of plane 1

plane{<0,1,0>, 0
      texture{ Green_Glass
              normal{ripples 0.3
                     scale 0.25
                     turbulence 0.75
                     translate< 1,0,2>}
              finish{ambient 0.45
                     diffuse 0.55
                     reflection 0.3}
             }// end of texture
     interior{I_Glass}
     }// end of plane 2
Surface de l'eau partiellement transparente et réfléchissante
Fichier POVRay correspondant


Ondes concentriques autour d'un poteau

plane{<0,1,0>, 0
      texture{ Green_Glass
              normal{ripples 0.3
                     scale 0.25
                     turbulence 0.5
                     translate< 1,0,2>}
              finish{ambient 0.45
                     diffuse 0.55
                     reflection 0.3}
             }// end of texture
     interior{I_Glass}
     }// end of plane 2
Ondes concentriques
Fichier POVRay correspondant

Un trou dans l'eau - un tourbillon

Cela on peu faire avec quelques fonctions simples de CSG. À la fin nous devons appliquer une texture avec un composant 'normal' approprié sur le plan pour simuler le tourbillon de l'eau. Pour plus de clarté j'ai découpé un quart du plan.

  1. Nous prenons un plan xz ( plane{<0,1,0>,0} ) et un cylindre un peu plus haut. pour éviter des surfaces coïncidentes dans une 'difference'.
    PovrayTutoWaterHole01.jpg
  2. Nous soustrayons ce cylindre du notre plan. Nous obtenons un trou avec un arête vive.
    PovrayTutoWaterHole02.jpg
  3. Pour arrondir cet arête vive nous prenons un autre cylindere avec le rayon agrandi du rayon du bords ronds.
    PovrayTutoWaterHole03.jpg
  4. Encore une fois nous soustrayons ce deuxième cylindre !
    PovrayTutoWaterHole04.jpg
  5. Puis nous ajoutons un tore (un anneau) avec le rayon majeur = rayon de notre deuxième cylindre et le rayon mineur = rayon du bords ronds.
    PovrayTutoWaterHole05.jpg
  6. La construction est fini!
    PovrayTutoWaterHole06.jpg

À la fin nous ajoutons à la texture de l'eau, une normale come cela :

normal {spiral1  20  0.25 
        sine_wave
        turbulence 0.1
        rotate<90,0,0>
        scale 0.5
}