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. Esempio 2
     3. Da Immagini al animated gif
     4. Da Immagini al Video
     5. Termini tecnici di base
     6. 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
                                                           

Accelerare e Frenare (1)
Mouvementi non lineari in animazioni per l'accelerazione e per la decelerazione realistica con funzioni di base in POV-Ray.

Simulazione realistica di
accelerazione e decelerazione

4 macro utili:
//---------------------------
#macro Cos_01( X )
  (0.5-0.5*cos(  pi*X))
#end
//---------------------------
#macro Cos_010( X )
  (0.5-0.5*cos(2*pi*X))
#end
//---------------------------
#macro Cos_10( X )
  (1-(0.5-0.5*cos(  pi*X)))
#end
//---------------------------
#macro Cos_101( X )
  (1-(0.5-0.5*cos( 2*pi*X)))
#end
//---------------------------

speed up and slow down
macro 'Cos_01( TIME )'
avviamento leggero, fine leggera.
speed up and slow down
macro 'Cos_010( TIME )'
avviamento leggero, voltare leggerament,
con ritorno e fine leggera.
speed up and slow down
macro 'Cos_10( TIME )'
avviamento leggero, fine leggera.
speed up and slow down
macro 'Cos_101( TIME )'
avviamento leggero, voltare leggerament,
con ritorno e fine leggera.

Qui qualche esempio come usare:
#macro Cos_010( X ) //------------
  (0.5-0.5*cos(2*pi*X))
#end //---------------------------
// hard
#object{ Tower // left
  translate<2,0,1+3*clock>}
// smooth
#object{ Tower // right
  translate<3,0,1+3*Cos_01(clock)>}
//--------------------------------
Move smooth
Muovere bruscamente (sinistra) e leggerament (destra)
Descrizione della scena per POV-Ray:
"Move_hard_n_smooth_1.ini" and
"Move_hard_n_smooth_1.pov"
#macro Cos_010( X ) //-----
  (0.5-0.5*cos(2*pi*X))
#end //--------------------
#declare Fold_Angle =
    -90*Cos_010(clock);
//-------------------------

Per una descrizione della scena completa e più di detagli si può vedere: La Piegatura di uno Sviluppo del Cubo.
speed up and slow down
macro 'Cos_101( TIME )'
avviamento leggero,
voltare leggerament,
con ritorno e fine
leggera.
speed up and slow down
piegare senza
accelerazione
 
 
 

Nota:
Usare una funzione esponenziale come like 1/(1+exp(-X*A+A/2)), con A >=10, sembra di essere una approssimazione matematica più corretto, ma il problema qui: i punti del inizio e della fine non sono essattamente y=0 o y=1!
Cosi (0.5-0.5*cos(2*pi*X)) è un'approssimazione migliore!
Anche f(X)= 3*X*X - 2*X*X*X ha f(0)= 0, f(1)= 1 e f'(0) = f'(1) = 0.
Per movimenti con inizio e fine a v=0 e a=0, une funuzione con la derivazione seconda = 0 al inizio e al fine, come f(X)= 6*X5 -15*X4 +10*X3 = X*X*X*(10+X*(6*X-15)), è una approssimazione più perfetta!
speed up and slow down
1/(1+exp(-X*10+10/2))
speed up and slow down
0.5-0.5*cos(2*pi*X)
speed up and slow down
X*X*X*(10+X*(6*X-15))
top

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