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
                                                     

Schwingendes Federpendel 

Diese zyklische Animation verwendet die Sinus-Funktion.

Eine schwingende Spiralfeder:
Zur Konstuktion der Spiralfeder muß deren augenblickliche Länge berechnet werden. Zunächst legt man die Mindestlänge und die Amplitude der Feder fest. Daraus berechnet sich die mittlere Länge:

#declare Amplitude = 0.60;
#declare Minimal_Length   = 0.80;
#declare Middle_Length    = Amplitude + Minimal_Length;
Die Feder schwingt um die mittlere Länge mit einer Sinus-Schwingung.
Ihre augenblickliche Länge zur Zeit "clock" berechnet sich dann wie folgt:
Aktuelle Länge = Mittlere Länge + Amplitude*sin(clock*2*pi)
//---------------------------------------------- time ----------------------
#declare Time_test = 0.25; // 0.25/0.75 shows maximum/minimal extention!!!

#declare Sp_Length = Middle_Length+Amplitude*sin((clock+Time_test)*2*pi);
//--------------------------------------------------------------------------
Zum Testen wurde hier noch ein Wert "Time_test" zum Wert von "clock" dazu addiert. Dadurch ist es möglich die minimale und maximale Federausdehnung zu testen ohne jedesmal die gesamte Animation durchrechnen zu lassen!

spiral
Szenen Beschreibung
für POV-Ray:
"spiral0.ini" und
"spiral0.pov"
amplitude

Die Berechnung der Feder mittels While-Schleife:
#declare Spiral  =  //--------------------------------- the spiral
union{
 #local N_per_Rev = 500;   // Anzahl der Elemente pro Umdrehung
 #local N_of_Rev  = 8.00;  // Gesamtzahl der Umdrehungen
 #local H_per_Ref = Sp_Length / N_of_Rev;// Höhe pro Umdrehung
 #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>

           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>}
//------------------------------------------------
Einige Beispiele für Animationen dieser Art
findet man hier:3D-Animations - Oscillations .


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