Descriptions et exemples pour le raytracer POV-Ray par Friedrich A. Lohmüller
Boucles, Sinus, Cosinus et POV-Ray     
English English English
Italiano Italiano
Deutsch Deutsch

Home - Page d'accueil
- Tutoriel POV-Ray
   Boucles avec
   Sinus, Cosinus
   et POV-Ray
   1. Ondes linéaires.
   2. Ondes
       concentriques.
 >3. Tapis volants.
                                              - Téléchargement

Sur tapis volants.

Additionnel à la possibilité de arranger la modulation y en façon symétrique autour un'axe de rotation on peut utiliser des facteur dépendant de la direction x ou z par sin(A) et cos(A).

#declare Ball =
 sphere{<0,0,0>,0.25
   texture{
     pigment{color rgb<1,0.65,0.0>}
     finish {diffuse 0.9 phong 1}
    }// fin de texture
 }// fin de sphere

#declare E = 5;
#declare Z = -E;    // start value Z
#declare EndZ = E;  // end value Z
#declare Step = 0.2;// step value
//--- début de boucle Z:
#while ( Z < EndZ + Step)

  #declare X = -E; // start value X
  #declare EndX = E; // end value X
  //-- début de boucle X:
  #while ( X < EndX + Step)

  object{ Ball
  translate<X,0.1*X*sin(Z)
              +0.1*Z*cos(X),Z>}

  #declare X = X+Step;//next X value
  #end // ---- fin de boucle X

#declare Z = Z+Step;//next Z value
#end // ----- fin de boucle Z

Avec une variation petite nous obtenons un tapis volant classique :

object{Ball
 translate<X,0.05*(X*sin(X-Z)
             +Z*cos(X*Z)),Z>}

Une variation avec des ondes plus paralleles nous obtenons par cette modulation :

 object{Ball
  translate<X,0.05*X*sin(X-2*Z)
           + 0.1*Z*cos(3*X-Z),Z>}

Un monceau de serpents fantastique on peut obtenir avec la variation suivante :

object{Ball
 translate<X,0.1*X*sin(X-Z)
  - 0.2*((Z/X)+1)*cos(X*Z),Z>}

top

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