Beschreibungen und Beispiele zum Raytracer POV-Ray von Friedrich A. Lohmüller
logo
    3D Animationen mit POV-Ray
        Grundlagen und Beispiele zu Animationen.
English English English
Italiano Italiano
Français français
Home
- Animationen Galerie
- POV-Ray Tutorial

  3D Animation
  Inhaltsübersicht
  0. Grundlagen
     1. Beispiel
     2. Beispiel 2
     3. Bilder zu animierte Gif
     4. Von Bildern zum Video
     5. Grundbegriffe
     6. Animationsbefehle
  I. Zyklische Animationen
     1. Objekt-Rotation
     1.2. Planeten im Orbit
     1.3. Animierte Uhr
     2. Kamera-Rotation
     2.1. Kamera Geradeausflug
     3. Western-Kutschen
        -Problem
     3.1. Rollende Räder
     4. Zahnradgetriebe
     4.1. Rollende Kette
     4.2. Fahrradkette
     5. Pendelschwingung
     5.1. Newtonpendel
     5.2: Schaukelstuhl
     6. Federpendel
     7. Koppelstange
     7.1. Pleuelstange
     8. Psychedelic + Op-Art
     9. Zähler + Countdowns
    10. Faltung eines Würfels
  II. Nichtlineare Bewegungen
     1.0 Beschleunigung
          +Bremsen 1
     1.1 Beschleunigung
          + Bremsen 2
     2. Fallen + Hüpfen
  > 3. Beschleunigung nach
          physikalischen Formeln
     4. Geschwindigkeitssteuerung
          mit Spline-Funktionen
  III. Animationspfade
      mit Spline-Kurven
     1. Spline-Kurven
     2. Geschlossene Splines
     3. Animationspfade
                                                     

Beschleunigung nach
physikalischen Formeln
Nichtlineare Bewegungen in Animationen
zur Simulation von realistischem Beschleunigung/Verzögerung(Bremsen) nach
physikalischen Bewegungsgesetzen in POV-Ray.

Die Gesetze einfacher Bewegungen
// t = Zeit, s = Weg, v = Geschwindigkeit, a = Beschleunigung )
1. Bewegung mit konstanter Geschwindigkeit v:
Geschwindigkeit v = konstant  
Zurückgelegter Weg     s(t) = v * t  
v = const.

2a. Bewegung mit konstanter Beschleunigung a:
Beschleunigung a = konstant
Geschwindigkeit v(t) = a * t
Zurückgelegter Weg s(t) = 1/2*a*t2  
a = const.

2b. Konstante Beschleunigung
    + Anfangsgeschwindigkeit v0:

Beschleunigung a = konstant
Geschwindigkeit v(t) = a * t + v0
Zurückgelegter Weg s(t) = 1/2*a*t2 + v0*t  
v0 + a = const.

Simulation einer Beschleunigung a
bei konstanter Anfangsgeschwindigkeit 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 ;

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

// covered distances
//---- distances parcourues -----
//1: with constant speed:
// ---- avec vitesse constante:
#declare Way1 = V_0*Time_A ;
//2: with constant acceleration
// --- 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

// with constant speed in last sector
//-avec la vitesse constant dans le dernière secteur
//3: total distance
// --- distance totale
#declare Way3 =  End_Speed*(  End_Time ) + Way2 ;

//----------------------------
Accelerate speed
Accelerate speed

Szenenbeschreibung für POV-Ray:
"Accelerate_speed_1.ini" und
"Accelerate_speed_1.pov"
Berechnung des zurückgelegten Weges
//---------------------------------
// 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>}
 //--------------------------------------------------
Zum Rollen der dargestellten Kugel siehe Szenenbeschreibung!
top

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