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.
                                                     

Accélération selon
les formules physiques
Mouvements non-linéaires dans les animations
pour la simulation d'une accélération/decélération realistique selon
les lois du mouvement de la physique avec POV-Ray.

Les lois du mouvement simples
( t = temps, s = distance, v = vitesse, a = accélération )
1. Mouvement uniforme
      avec une vitesse constante v :

vitesse v = konstant  
distance parcourue     s(t) = v * t  

v = const.

2a. mouvement uniformément accéléré
      avec une accélération constante a :

accélération a = konstant
vitesse v(t) = a * t
distance parcourue     s(t) = 1/2*a*t2  
a = const.

2b. Accélération constante
      et la vitesse initiale v0 :

accélération a = konstant
vitesse v(t) = a * t + v0
distance parcourue     s(t) = 1/2*a*t2 + v0*t  
v0 + a = const.

Simulation d'une accélération a
avec une vitesse initiale constante v0:
//---------------------------------------------------
#declare Total_Time = 4.48;
#declare Time = Total_Time*clock; //

#declare Time_A  = 2.65; // start with acceleration
#declare Time_B  = 3.45; //   end with acceleration
// total acceleration time:
#declare Ac_Time = Time_B-Time_A;
// last sector without acceleration:
#declare End_Time= Total_Time-Time_B;

#declare Acceleration =   5.0 ;
// v(0) = constant speed at start:
#declare V_0          =     1 ;

// vitesse finale après l'accélération constante
#declare End_Speed  = Acceleration * Ac_Time + V_0 ;

// distances parcourues -----
//1: avec vitesse constante:
#declare Way1 = V_0*Time_A ;
//2: avec accélération constante:
#declare Way2 =
   Acceleration/2*pow(Ac_Time,2)+V_0*Ac_Time+Way1;
   //note: pow(Ac_Time,2) = Ac_Time*Ac_Time

// au fin avec la vitesse constant
//3: distance totale
#declare Way3 =  End_Speed*(  End_Time ) + Way2 ;
//---------------------------------------------------
Accelerate speed
Accelerate speed

Les fichiers de la scène
pour POV-Ray :
"Accelerate_speed_1.ini" et
"Accelerate_speed_1.pov"
Le calcule de la distance parcourue
//---------------------------------------------------
// calculating the distance at 'Time'
 --- calulation de la distance au temps 'Time'
// covered by the rolling sphere;
 --- parcourue de la sphère roulante:

 // constant translation
 #if ( Time < Time_A )
   #declare Way = V_0*Time;
 #end
 // constant translation + acceleration
 #if (( Time >= Time_A ) & ( Time < Time_B ))
   #declare Way = Acceleration/2*pow(Time - Time_A,2)
                  + V_0*(Time - Time_A) + Way1;
 #end
 // way with constant speed after acceleration ends
 #if ( Time >= Time_B )
   #declare Way = End_Speed*( Time - Time_B) + Way2;
 #end
//---------------------------------------------------
 sphere{<0,0,0>,0.75  translate<0,0.75, Way>}
 //--------------------------------------------------
Sur la sphere roulante voir les fichiers de la scène !
top

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