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.
                                                           
Bielle d'accouplement
Animation cyclique avec des fonctions sinus et cosinus.
           


pleuel
Pour tourner un objet avec un rayon R
autour un centre O =<0,0>
avec un angle de rotation A (en degrés),
nous devon déplacer cet objet
vers la position <X,Y> avec
X = R * cos( radians ( A ) );(verte)
Y = R * sin ( radians ( A ) );(orange)
Note: En POV-Ray sin() et cos()
  ont besoin de l'arguments en radiant!
pleuel
Le rayon correspondante
è Rc = le rayon
du point d'accouplement.

Bielles d'accouplement - relient les roues d'entraînement.
Définition e calcul des valeurs de base :
#local Gauge_ = 1.435; // standard gauche  //écartement
#local Wheel_R = 1.00/2; //  rayon des roues
#local Con_R  = 0.20;   // rayon d'accouplement
#local Conjunction_Len = 1.20;
       // conjunction length = distance des essieus

#local Time = clock + 0.00;
#local Wheel_Angle = 360*1*Time; // rotation angel
#local Wheel_Circ = 2*pi*Wheel_R ;// wheel circumference
#local Wheel_Move  = Wheel_Circ*Wheel_Angle/360;

// Conjunction position relative to wheel center:
#local Con_Y = Con_R * sin( radians( Wheel_Angle ));
#local Con_X = Con_R * cos( radians( Wheel_Angle ));
Les rous et bielle d'accouplement, nous pouvons utiliser des macro defini dans mo Railway System 'RW_System', les rails appropriés on peut trouve dans le Rail Track System 'RT_System'.
pleuel
    RW_Wheel_11
RW_Axix_11
    RW_Axix_11
RW_Coupling_Rod_00
RW_Coupling_Rod_00
RT_Track_Straight_00
RT_Track_Straight_00
2 essieus avec les roues et bielle d'accouplement :
//--------------------------------------------------------------//
#include "RW_System/RW_Axis_11.inc"
#local Axis =  // l'essieu
object{ RW_Axis_11(
          2*Wheel_R, // wheel diameter, // in meter
          12,   // Number_Of_Spokes, //
          0.20, // Connector Radius // 0 or >wheel diameter/2
                // must be between:  < 0 and < 0.5 wheel diameter
          0.15, // counterweight depth, // 0=non, < wheel radius
          Gauge_, // gauge in meter
                  ) //------------------------------------------//
        rotate<0,0,Wheel_Angle>
      } //------------------------------------------------------//
#include "RW_System/RW_Coupling_Rod_00.inc"
#declare Coupling_Rod = // bielle d'accouplement
union{
 object{ RW_Coupling_Rod_00(
           Conjunction_Len,// coupling rod length x+(link to link)
           0.12, // rod height in y
           0.06, // depth in -z //
           0.09, // Rod_End_R // radius end links, >Rod_H/2 !
           1,    // Oil_Fillers_On // 0 = non, 1= On
          ) //-----
         scale <-1,1,1≶// mirrowed to x-
       }
 // coupling rod axes
 cylinder{<0,0,-0.05>,<0,0,0.05>,0.03 texture{ Rod_Metal_1} }
 cylinder{<0,0,-0.05>,<0,0,0.05>,0.03 texture{ Rod_Metal_1}
                            translate<-Conjunction_Len,0,0> }
} // end union Coupling_Rod ------------------------------------//
//--------------------------------------------------------------//
#include "RT_System/RT_Track_Straight_00.inc" //
#declare Rail_Spikes_On = 1; // optional, default = 0,
#declare Track = // les rails
object{ RT_Track_Straight_00(
            Wheel_Circ , // track length in x+ in meter
            2.00 , //  number of ties per meter; ~1.5
          ) //----------------------------------------
      } //------------------------------------------------------//
//--------------------------------------------------------------//

union{ // ---- 2 axes with connecting rods:
  object{ Axis translate<-Conjunction_Len,0,0>}
  object{ Axis translate<        0,0,0>}
  object{ Coupling_Rod translate<+Con_X,+Con_Y,-Gauge_/2-0.12>}
  object{ Coupling_Rod scale<1,1,-1>
                       translate<-Con_X,-Con_Y,+Gauge_/2+0.12>}
 translate<0,Wheel_R,0>
 translate<-Wheel_Move,0,0> // move it by clock to the right!
 translate<0,Height_Rail_Top,0> // lift it to rail top
} // end of union ----------------------------------------------//

union{ // ----- adding the rail tracks:
 #local Nr = -3;     // start
 #local EndNr = 4; // end
 #while (Nr < EndNr)
   object{ Track translate< Nr*Wheel_Circ,0,0 >}
 #local Nr = Nr + 1;  // next Nr
 #end // --------------- end of loop
} // end of union ----------------------------------------------//
//--------------------------------------------------------------//
// animated 'camera':
#declare Camera_Position = Camera_Position+<-Wheel_Move,0,0>;
#declare Camera_Look_At =  Camera_Look_At +<-Wheel_Move,0,0>;
//-----------------------------------------
camera{ location Camera_Position
        right    x*image_width/image_height
        angle    Camera_Angle
        look_at  Camera_Look_At
      } //------------------------------------------------------//
//--------------------------------------------------------------//
....

Coupling_Rod
  2 essieus et une bielle d'accouplement.
coupling rods
Bielle d'accouplement animée sur rails.
Fichiers de la scène
pour POV-Ray:

"Coupling_Rod_tut_01_.ini" et
"Coupling_Rod_tut_01_.pov"
et les fichiers include utiliser ici :
"RW_Wheel_11.inc",
"RW_Axis_11.inc",
"RW_Coupling_Rod_00.inc",
Ici nous avons besoin des rails
('railtracks') de mon ensemble
de fichiers include
Rail Track System for POV-Ray

Attention : Nous devons avoir les fichiers include files dans les registres correspondantes 'RT_System' et 'RT_System' dans quelque part de notre 'include file path', comme mentionné dans le texte ci-dessus !
 
Un exemple d'animation de cette façon
on peut trouver ici : 3D-Animations - Railroad (Linked Axes).

top

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