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 Faltung
eines Würfelnetzes
Die Faltung geometrischer Objekte in POV-Ray.

Wie man einen Würfel faltet:
Ein Würfel besteht aus 6 Quadraten die gegen ihren benachbarten Quadraten in einem 90°-Winkel gefaltet sind.
Daher beginnen wir damit ein Objekt namens 'Quadrat' zu deklaren.
(Deklarieren zuerst Sie die entsprechenden Texturenen nach Ihren Wunsch!)
// -------------------- dimensions
#declare D = 0.00001;
#declare S = 1;
#declare Rl = 0.02;// "edge" radius
#declare Rp = 0.04;//"point" radius
// ------------------------- square
// square, Quadrat, quadrato, carré
#declare Quadrat =
union{
 // Die Eckpunkte
 union{
  sphere{ <0,0,0>, Rp }
  sphere{ <S,0,0>, Rp }
  sphere{ <S,0,S>, Rp }
  sphere{ <0,0,S>, Rp }
  texture{ Corner_Texture } }
 // Die Kanten
 union{
  cylinder{ <0,0,0>,<S,0,0>, Rl }
  cylinder{ <S,0,0>,<S,0,S>, Rl }
  cylinder{ <0,0,S>,<S,0,S>, Rl }
  cylinder{ <0,0,0>,<0,0,S>, Rl }
  texture{ Edge_Texture } }
 // Die Fläche
 box{ <0,-D,0>,<1,D,1>
  texture{ Face_Texture }}
} // end of union ------------------



Folding of a Cube
Ein Quadrat zur Faltung eines Würfels

Cube Net
Das Würfelnetz

Eine Kette von Quadraten:
Zur Faltung eines Würfelnetzes (wie hier recht oben)
müssen wir eine Kette von Quadraten A,B,C und D mittels verschachtelter 'union's erstellen.
Wir spolten uns vergegenwärtigen, dass die Rotation mit 'rotate' immer um die Koordinatenachsen dreht!
Daher müssen wir zuerst die Rotation ausführen und dann die Translation (Verschiebung) wie es im Bild hier rechts für die ersten beiden Quadrate A und B gezeigt wird.
Hinweis: 'Rotation um eine Koordinatenachse' und 'Translation' sind im allgemeinen nicht kommutative oder nicht vertauschbar, d.h.: Wir dürfen die Reihenfolge nicht willkürlich wechseln!

Die Animation der Faltung:
Um ein langsames sanftes starten und stoppen der Bewegung zu erreichen, verwenden wir das folgende Makro:
#macro Cos_010( X ) //-----
  (0.5-0.5*cos(2*pi*X))
#end //--------------------
#declare Fold_Angle =
    -90*Cos_010(clock);
//---------------------------------
Der Zusammenbau der Komponenten des Würfels:
union{ // A + B + C
  object{ Quadrat } // C ------
  union{ // A + B
     object{ Quadrat } // B ------
     object{ Quadrat   // A ------
             rotate<Fold_Angle,0,0>
             translate<0,0,S>
           } //--------------
     rotate<Fold_Angle,0,0>
     translate<0,0,S>
  } // end A + B
  rotate<Fold_Angle,0,0>
  translate<0,0,S>
} // end A + B + C

object{ Quadrat } // D ------
object{ Quadrat   // E ------
        translate<-S,0,0>
        rotate<0,0,Fold_Angle>
      } //------------------
object{ Quadrat   // F ------
        rotate<0,0,-Fold_Angle>
        translate<S,0,0>
      } //------------------

Folding_a_Cube
Würfelfaltung: rotieren, wegschieben, nächsten hinzufügen!

Cos_010()
Das Makro 'Cos_010(...)'
Folding_a_Cube
Würfelfaltung
Szenenbeschreibung für POV-Ray:
"Folding_a_Cube_2.ini" und
"Folding_a_Cube_2.pov"
Zu weiteren Beispielen zur Faltung regulärer Polyeder siehe:
Elementare Geometrie für Raytracing oder: 3D-Animationen - Geometrie
top

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