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
                                                           

Pendolo a Molla a Spirale oscillante

   Oscillazioni di spirali in ritmo sinusoidale.

Un Pendolo a molla oscillante:
Per la costruzione d'un pendolo a spirale abbiamo bisogno di calcolare la sua effettiva lunghezza.
Prima di tutto definiamo la lunghezza minima e l'ampiezza della molla a spirale. Con questo abbiamo valori calcolare la media lunghezza:

#declare Amplitude = 0.60;
#declare Minimal_Length   = 0.80;
#declare Middle_Length    = Amplitude + Minimal_Length;
La spirale oscilla attorno al loro medio lunghezza con una oscillazione sinusoidale. Sua lunghezza attuale (al momento "clock"!) viene calcolato in questo modo:
lunghezza attuale = lunghezza media + ampiezza*sin(clock*2*pi)
//---------------------------------------------- time ----------------------
#declare Time_test = 0.25; // 0.25/0.75 shows maximum/minimal extension!!!

#declare Spiral_Length = Middle_Length+Amplitude*sin((clock+Time_test)*2*pi);
//--------------------------------------------------------------------------
Trucco speciale:
Per la fase di test ho aggiunto qui il valore "Time_test" al valore di tempo "clock". Questo consente di verificare se la minima e la massima estensione della spirale si trovano all'interno della finestra di rendering!

spiral
Descrizione della scena per POV-Ray:
"spiral0.ini" e
"spiral0.pov"
amplitude

La spirale fatta con un While Loop:
#declare Spiral  =  //--------------------------------- the spiral
union{
 #local N_per_Rev = 500;   // Number of Elements per revolution
 #local N_of_Rev  = 8.00;  // Total number of revolutions
 #local H_per_Ref = Sp_Length / N_of_Rev;// Height per revolution
 #local Nr = 0;                          // start loop
 #while (Nr< N_per_Rev*N_of_Rev)
   sphere{ <0,0,0>,0.025
           translate<0.25, -Nr*H_per_Ref/N_per_Rev, 0>
           rotate<0,  Nr * 360/N_per_Rev,0/gt;

           texture{ Chrome_Metal
                    finish {diffuse 0.9 phong 1}}
         }
 #local Nr = Nr + 1;    // next Nr
 #end // --------------------------------- end of loop

  sphere {<0,0,0>, 0.4
          translate<0,-Nr*H_per_Ref/N_per_Rev-0.2,0>
          texture{ pigment{color rgb<1,0.65,0>}
                   finish {diffuse 0.9 phong 1}}
        }
} // end of union  -------------------------------- end of spiral


object { Spiral  translate< 0.0,2.42,0>}
//------------------------------------------------
Alcuni esempi per le animazioni di questo tipo
si può trovare qui: 3D-Animations - Oscillations .


top

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