Descrizioni ed esempi per il raytracer POV-Ray di Friedrich A. Lohmüller
logo
    Animazione 3D con POV-Ray
        Fondamenti ed esempi per l'animazione 3D.
English English English
Français français
Deutsch Deutsch
Home
- Galeria Animazione 3D
- Tutorial POV-Ray

  Animazione 3D
   Indice del contenuto
  0. Nozioni fondamentali
     1. Esempio di base
     2. Da Immagini al Video
     3. Termini tecnici di base
     4. Comandi di Animazione
  I. Animazioni ciclici
     1. Oggetti rotanti
     1.2. Pianeti in orbita
     1.3. L'Orologio
     2. Fotocamera rotante
     2.1. Fotocamera in volo dritto
     3. Il Problema di
         Ruota Western
     3.1. Ruote Girante
     4. Ingranaggi
  > 4.1. Catena di Trasmissione
     4.2. Catena della Bicicletta
     5. Pendolo oscillante
     5.1. Pendolo di Newton
     5.2. Rock il Rocking Chair!
     6. Molla a spirale
     7. Biella di accoppiamento
     7.1. Biella motrice
     8. Psychedelico + Op-Art
     9. Contatori + Countdown
    10. Piegatura di un Cubo
  II. Movimenti non-lineari
     1.0 Accelerare e Frenare 1
     1.1 Accelerare e Frenare 2
     2. Cadere e Saltellare
     3. Accelerazione secondo
          le formule de la fisica
     4. Controllo di movimenti
          con funzioni spline
  III. Sentieri di Animazione
      con Spline
     1. Curve Spline
     2. Spline ciuso
     3. Sentieri di Animazione
                                                           

Catena di Trasmissione girante
Come si fa l'animazione di una catena per motocicli, biciclette,
cingoli, nastri trasportatori, cinghie trapezoidali e altre macchine.    

Come girare una catena?
Innanzitutto dobbiamo capire la geometria di due cerchi con le tangenti esterne.
Per più dettagli si piò vedere qui:
    Tangenti esterne di due Cerchi

Con i raggi r1 > r2 e la distanza d dei assi
con ri = r2-r1 abbiamo per la cintura della catena:
La lunghezza delle parti lineare:
2·t = 2·sqrt( d2 - ri2).
L'angolo de la catena:     α = asin(ri/d).
Il segmento del cerchio 1:  l1 = 2π·r1 ·(180+2·α)/360.
Il segmento del cerchio 2:  l2 = 2π·r2 ·(180-2·α)/360.


Per il piazzamento equidistante delle maglie di catena sulla cinture dobbiamo dividere la lunghezza completa per il numero delle maglie di catena (con catene per motocicli o biciclette abbiamo due tipi differenti di maglie, cosi il numero delle maglie deve essere pari!).

Per l'animazione di una catena girante dobbiamo muovere le maglie su i 4 parti differente della cintura in 4 modi differenti dipendèndo dalla posizione attuale della maglia! Possiamo fare questo con usare il commando condizionale: '#if'

// -------------- dimensions -----------
#local R1 = 0.15;  // big wheel radius
#local R2 = 0.075; // small wheel radius
#local Dist = 0.30;// axis distance
#local Link_N = 30;// number of links
// -------------- calculations ---------
#local Ri = R1-R2;
#local C_Angle = degrees(asin(Ri/Dist));
// chain linear length
#local LLen=sqrt(pow(Dist,2)-pow(Ri,2));
// segment angle and length
#local Ang1 = 180+2*C_Angle;
#local Ang2 = 180-2*C_Angle;
#local Len1 = Ang1/360*2*pi*R1;
#local Len2 = Ang2/360*2*pi*R2;
// total length
#local C_Len = 2*LLen+Len1+Len2;
#local Link_L  = C_Len / Link_N;
#declare Link =        // the chain link
sphere{<0,0,0>,0.0075
       texture{Chrome_Metal}}
//--------------------------------------
#local Ani=clock*Link_Len;// animation!
union{ //-------------------------------
#local Nr = 0; // start loop
#while (Nr < Link_N)
 #local Pos = mod(Nr*Link_L+Ani,C_Len);
 //-------------------------------------
 #if(Pos< Len1 ) // front down
  #local Rot1 = Pos/Len1*Ang1;
  object{Link translate<0,R1,0>
         rotate<0,0,-Rot1 +C_Angle>}
 #end //--------------------------------
 #if((Pos>Len1) & (Pos<=Len1+LLen))
  #local LPos = Pos-Len1; // base side
  object{Link translate<-LPos,-R1,0>
            rotate<0,0,-C_Angle>}
 #end //--------------------------------
 #if((Pos>Len1+LLen )       // back up
      & (Pos<= Len1+LLen+Len2))
  #local Rot2 =
      (Pos-Len1-LLen)/Len2*Ang2;
  object{Link translate<0,R2,0>
          rotate<0,0,-Rot2-C_Angle-180>
              translate<-Dist,0,0>}
 #end //--------------------------------
 #if((Pos>Len1+LLen+Len2) // up forward
      & (Pos <= Len1+LLen+Len2+LLen))
  #local LPos = Pos-(Len1+LLen+Len2);
  object{Link translate<LPos,R2,0>
              rotate<0,0,C_Angle>
              translate<-Dist,0,0>}
 #end //--------------------------------
#local Nr = Nr + 1;  // next Nr
#end // --------------- end of loop
} // end of union ----------------------
externel tangents
La geometria di 2 cerchi con le tangenti esterne!
Roller_Chain
La posizione per le maglie di una catena di trasmissione.


roller chain links ani
Animazione delle posizioni per le maglie di una catena di trasmissione!
Descrizione della scena
per POV-Ray:
"Roller_Chain_1.ini" e
"Roller_Chain_1.pov"
Roller_Chain
Un'altra animazionedi una catena di trasmissione.

Continuare con due tipi di maglie di catena qui:
    Catena della Bicicletta.
Per animazioni di catene della bicicletta giranti q.v.:
    3D-Animations - Engineering.
top

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