Descriptions et Exemples pour le raytracer de POV-Ray par Friedrich A. Lohmüller,

logo
    Animation 3D avec POV-Ray
        Quelques bases et exemples sur les animations.
English English English
Italiano Italiano
Deutsch Deutsch
Page d'Accueil
- Galerie d'Animations 3D
- Tutoriel POV-Ray

  Animation 3D
   Table des matières
  0. Bases.
     1. Exemple du base.
     2. Example 2.
     3. D'Images à gif animé.
     4. D'Images à Vidéo.
     5. Connaissance de base.
     6. Commandes d'animation.
  I. Animations cycliques.
     1. Objets tournants.
     1.2. Planètes en orbite.
     1.3. Une horloge.
     2. Caméra tournante.
     2.1. Caméra deplacée linéaire
     3. Le problème
         de la roue.
     3.1. Roues roulantes.
     4. Engrenages.
     4.1. Chaîne à rouleaux.
     4.2. Chaîne de bicyclette.
     5. Balancement.
     5.1. Pendule de Newton
     5.2. Rock le rocking chair !
     6. Oscillation.
     7. Bielle d'accouplement
     7.1. Bielle et manivelle.
     8. Psychédélique + Op-Art.
     9. Compteurs
        + Compte à rebours.
  >10. La pliage d'un cube.
  II. Mouvements non-linéaires
     1.0 Accélérer et ralentir 1.
     1.1 Accélérer et ralentir 2.
     2. Chuter et bondir.
     3. Accélération selon
          formules physiques.
     4. Mouvements
          avec fonctions spline.
  III. Chemins pour
      des animations avec
      des courbes spline
     1. Courbes spline.
     2. Spline fermé.
     3. Animation Paths.
                                                           

Pliage et Dépliage d'un Développement de Cube.
Comment plier un cube avec six carrés en POV-Ray.

Comme plier d'un cube :
Un cube si est composé de 6 carrés formantes un angle de 90° vers les carrés à les côtés.
De là nous commençons avec déclarer un objet nommé 'Square'.
(Noubliez pas de déclarer les textures d'abord comme vous voudrez !)
// -------------------- dimensions
#declare D = 0.00001;
#declare S = 1;
#declare Rl = 0.02;// "edge" radius
#declare Rp = 0.04;//"point" radius
// ------------------------- square
// Quadrat, quadrato, carré
#declare Square =
union{
 // the corners
 union{
  sphere{ <0,0,0>, Rp }
  sphere{ <S,0,0>, Rp }
  sphere{ <S,0,S>, Rp }
  sphere{ <0,0,S>, Rp }
  texture{ Corner_Texture } }
 // the edges
 union{
  cylinder{ <0,0,0>,<S,0,0>, Rl }
  cylinder{ <S,0,0>,<S,0,S>, Rl }
  cylinder{ <0,0,S>,<S,0,S>, Rl }
  cylinder{ <0,0,0>,<0,0,S>, Rl }
  texture{ Edge_Texture } }
 // the face
 box{ <0,-D,0>,<1,D,1>
  texture{ Face_Texture }}
} // end of union ------------------



Folding of a Cube
Un carré pour plier un cube.

Cube Net
Un développement de cube

La construction d'une chaîne des carrés :
Per plier un développement de cube (comme ce ici à droit ci-dessus)
nous devons rappeler à nous faire une chaîne des carrés A,B,C et D par des unions l'une emboîtée dans l'autre.
N'oubliez pas que la rotation par 'rotate' toujours tourne autour des axes de coordonnées !
Pour cette raison nous devons appliquer premièrement la rotation et ensuite la translation comme on peut voir dans l'image ici à droit pour les deux premières carrés A et B.
Note: 'rotation autour d'un axe' et 'translation' généralement ne sont pas commutatif ou ne sont pas permutable, c'est-à-dire : Nous ne pouvons pas échanger arbitrairement la séquence!


Comment faire l'animation :
Pour obtenir un commencement et une fin douce du mouvement nous utilissons la macro suivante :
#macro Cos_010( X ) //-----
  (0.5-0.5*cos(2*pi*X))
#end //--------------------
#declare Fold_Angle =
    -90*Cos_010(clock);
//---------------------------------

L'assemblage des composants du cube :
union{ // A + B + C
  object{ Square } // C ------
  union{ // A + B
     object{ Square } // B ------
     object{ Square   // A ------
             rotate<Fold_Angle,0,0>
             translate<0,0,S>
           } //--------------
     rotate<Fold_Angle,0,0>
     translate<0,0,S>
  } // end A + B
  rotate<Fold_Angle,0,0>
  translate<0,0,S>
} // end A + B + C

object{ Square } // D ------
object{ Square   // E ------
        translate<-S,0,0>
        rotate<0,0,Fold_Angle>
      } //------------------
object{ Square   // F ------
        rotate<0,0,-Fold_Angle>
        translate<S,0,0>
      } //------------------

Folding_a_Cube
Pliage d'un cube:
rotation, movement, carré suivante!

Cos_010()
La macro 'Cos_010(...)'
Folding_a_Cube
Pliage d'un cube
Le fichier de la scène pour POV-Ray :
"Folding_a_Cube_2.ini" et
"Folding_a_Cube_2.pov"
Pour des autres exemples pour la pliage des polyèdres réguliers voir :
Géométrie de Base - pour Raytracing ou : 3D-Animations - Geometry
top

© Friedrich A. Lohmüller, 2010
http://www.f-lohmueller.de