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
                                                     

Die Animation der Uhrzeiger  
Die Zeiger einer Uhr drehen sich mit verschieden Geschwindigkeiten.
Zyklische Animation der Zeiger auf einem Ziffernblatt.


Die Rotationen der Zeiger einer Uhr:
Während der Stundenzeiger sich um 360 Grad innerhalb von gerade 12 Stunden dreht, muss sich der Minutenzeiger 12 mal mehr drehen = 360*12 Grad. Und der Sekundenzeiger wiederum muss sich weitere 60 mal drehen = 360*12*60 Grad.
Wir deklarieren eine Variable für die Basiszeit Clock_Time zu der wir Testwerte zwischen 0 und 1 hinzufügen können.
#declare Clock_Time = clock+0.00;
// rotation angles in degrees -------------
#declare Rotate_H   = Clock_Time*360;
#declare Rotate_Min = Clock_Time*360*12;
#declare Rotate_Sec = Clock_Time*360*12*60
Entsprechend müssen wir um eine bestimmte Zeiteinstellung wie etwa
  '2h 20min 30sec' zu testen folgendes deklarieren:
#declare Clock_Time =
 clock + 2/12 + 20/(720) + 30/(43200);
Für eine zyklische Animation einer 12-Stunden-Drehung einer Uhr sollen wir in Betracht nehmen, dass 12 h = 720 min = 43200 sec !
Für eine kleine zyklische Animation
ist es daher besser keine Sekundenzeiger zu verwenden!
Zum den korrekten Lauf des Sekundenzeigers während 12h zu sehen benötigt man eine Animation von 43200 Einzelbildern ('frames')!

Der Minutensprung und der Sekundensprung:
Wenn wir wollen, dass der Minutenzeiger und der Sekundenzeiger nur auf ganze Minuten bzw. Sekunden springt (jede 6 Grad) we should add:
#declare Rotate_Min=int(Rotate_Min/6+0.01)*6;
#declare Rotate_Sec=int(Rotate_Sec/6+0.01)*6;

Die Zeiger einer Uhr:
Um das Aussehen des Zifferblattes größenunabhängig zu machen beziehen wir alle Größen der Bestandteile auf den Radius des Zifferblattes:
#declare CR = 0.400; // Zifferblattradius
// flatten cylinders we use here;
#declare Flat = &l;1,1,0.025>;
//-----------------------------------
#declare Face_D = 0.001;
// length of hands -------------
#declare Hd_H_Len   = CR*0.60;
#declare Hd_Min_Len = CR*0.85;
#declare Hd_Sec_Len = CR*0.95;
// radii of the hands ---------
#declare Hd_H_D   = CR*0.055;
#declare Hd_Min_D = CR*0.035;
#declare Hd_Sec_D = CR*0.020;
// position z of hands --------
#declare Hd_H_Z   = CR*0.05;
#declare Hd_Min_Z = CR*0.04;
#declare Hd_Sec_Z = CR*0.03;
//-----------------------------------------
Für die Zeiger und Marken verwenden wir flache Zylinder.
// Stundenzeiger -----------------------
cylinder{ <0,0,0>,<0,Hd_H_Len,0>,Hd_H_D
          scale Flat
          rotate <0,0,-Rotate_H>
          translate<0,0,-Hd_H_Z>
          texture{ Hands_Texture } }
// Minutenzeiger ------------------
cylinder{ <0,0,0>,<0,Hd_Min_Len,0>,Hd_Min_D
          scale Flat
          rotate <0,0,-Rotate_Min>
          translate<0,0,-Hd_Min_Z>
          texture{ Hands_Texture }  }
// body center ----------------------------
cylinder{ <0,0,-Hd_H_Z>,<0,0,0>,Hd_H_D*1.5
          texture{ Hands_Texture } }
// face base ------------------------------
cylinder{ <0,0,0>,<0,0, Face_D>,CR
          texture{ Face_Texture } }
//-----------------------------------------
Zu mehr Details über das Zifferblatt, den Sekundenzeiger und die Texturen siehe die ensprechende Szenendatei.

Clockface
Zifferblatt: die Zeiger.
Clockface
Zifferblatt: Die Marken für Stunden u. Minuten.
Clockface
Das Zifferblatt komplett.
Clockface animation Clockface animation
Zifferblatt Animationen.
Szenenbeschreibung für POV-Ray:
"Clockface_00.ini" und
"Clockface_00.pov"

station clock
Eine Bahnhofsuhr
Einige Anwendungsbeispiele:



Alarm clock
Ein Wecker

top

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