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
                                                     
Koppelstange
Zyklische Animation mit Sinus- und Kosinus-Funktion.
           


pleuel
Bei der Rotation eines Objekts in
einem Radius R
um ein Zentrum O =<0,0>
mit einem Rotationswinkel A (in Grad),
verschiebt es es sich
zu einem Punkt <X,Y>, mit
X = R * cos( radians ( A ) );(grün)
Y = R * sin ( radians ( A ) );(orange)
Note: In POV-Ray benötigen sin() und cos()
  ihre Argumente in Radiant!
pleuel
Der Radius ist hier
Rc = der Radius
des Kopplungspunktes.

Koppelstange - verbindet die Antriebsräder miteinander.
Deklarieren und Berechnen der Grundgrößen:
#local Gauge_ = 1.435; // standard gauche
#local Wheel_R = 1.00/2; // wheel radius
#local Con_R  = 0.20;   // conjunction radius
#local Conjunction_Len = 1.20;
       // conjunction length = axis distance

#local Time = clock + 0.00;
#local Wheel_Angle = 360*1*Time; // rotation angel
#local Wheel_Circ = 2*pi*Wheel_R ;// wheel circumference
#local Wheel_Move  = Wheel_Circ*Wheel_Angle/360;

// Conjunction position relative to wheel center:
#local Con_Y = Con_R * sin( radians( Wheel_Angle ));
#local Con_X = Con_R * cos( radians( Wheel_Angle ));
Räder und Koppelstange findet man als Makros definiert in meinem Railway System 'RW_System', entsprechende Gleise gibt es im Rail Track System 'RT_System'.
pleuel
    RW_Wheel_11
RW_Axix_11
    RW_Axix_11
RW_Coupling_Rod_00
RW_Coupling_Rod_00
RT_Track_Straight_00
RT_Track_Straight_00
2 Achsen mit Rädern und Koppelstange:
//--------------------------------------------------------------//
#include "RW_System/RW_Axis_11.inc"
#local Axis =         // Achse mit Räder
object{ RW_Axis_11(
          2*Wheel_R, // wheel diameter, // in meter
          12,   // Number_Of_Spokes, //
          0.20, // Connector Radius // 0 or >wheel diameter/2
                // must be between:  < 0 and < 0.5 wheel diameter
          0.15, // counterweight depth, // 0=non, < wheel radius
          Gauge_, // gauge in meter
                  ) //------------------------------------------//
        rotate<0,0,Wheel_Angle>
      } //------------------------------------------------------//
#include "RW_System/RW_Coupling_Rod_00.inc"
#declare Coupling_Rod = // Koppelstange
union{
 object{ RW_Coupling_Rod_00(
           Conjunction_Len,// coupling rod length x+(link to link)
           0.12, // rod height in y
           0.06, // depth in -z //
           0.09, // Rod_End_R // radius end links, >Rod_H/2 !
           1,    // Oil_Fillers_On // 0 = non, 1= On
          ) //-----
         scale <-1,1,1≶// mirrowed to x-
       }
 // coupling rod axes
 cylinder{<0,0,-0.05>,<0,0,0.05>,0.03 texture{ Rod_Metal_1} }
 cylinder{<0,0,-0.05>,<0,0,0.05>,0.03 texture{ Rod_Metal_1}
                            translate<-Conjunction_Len,0,0> }
} // end union Coupling_Rod ------------------------------------//
//--------------------------------------------------------------//
#include "RT_System/RT_Track_Straight_00.inc" //
#declare Rail_Spikes_On = 1; // optional, default = 0,
#declare Track =      // Gleis
object{ RT_Track_Straight_00(
            Wheel_Circ , // track length in x+ in meter
            2.00 , //  number of ties per meter; ~1.5
          ) //----------------------------------------
      } //------------------------------------------------------//
//--------------------------------------------------------------//

union{ // ---- 2 axes with connecting rods:
  object{ Axis translate<-Conjunction_Len,0,0>}
  object{ Axis translate<        0,0,0>}
  object{ Coupling_Rod translate<+Con_X,+Con_Y,-Gauge_/2-0.12>}
  object{ Coupling_Rod scale<1,1,-1>
                       translate<-Con_X,-Con_Y,+Gauge_/2+0.12>}
 translate<0,Wheel_R,0>
 translate<-Wheel_Move,0,0> // move it by clock to the right!
 translate<0,Height_Rail_Top,0> // lift it to rail top
} // end of union ----------------------------------------------//

union{ // ----- adding the rail tracks:
 #local Nr = -3;     // start
 #local EndNr = 4; // end
 #while (Nr < EndNr)
   object{ Track translate< Nr*Wheel_Circ,0,0 >}
 #local Nr = Nr + 1;  // next Nr
 #end // --------------- end of loop
} // end of union ----------------------------------------------//
//--------------------------------------------------------------//
// animated 'camera':
#declare Camera_Position = Camera_Position+<-Wheel_Move,0,0>;
#declare Camera_Look_At =  Camera_Look_At +<-Wheel_Move,0,0>;
//-----------------------------------------
camera{ location Camera_Position
        right    x*image_width/image_height
        angle    Camera_Angle
        look_at  Camera_Look_At
      } //------------------------------------------------------//
//--------------------------------------------------------------//
....

Coupling_Rod
2 Achsen mi Koppelstange.
coupling rods
Animierte Koppelstange auf Gleis.

Szenenbeschreibungen
für POV-Ray:

"Coupling_Rod_tut_01_.ini" und
"Coupling_Rod_tut_01_.pov"
und die hier verwendeten Include-Dateien:
"RW_Wheel_11.inc",
"RW_Axis_11.inc",
"RW_Coupling_Rod_00.inc",
Diese Szene benötigt Schienen
aus meinem Include-Dateien-Set
Rail Track System for POV-Ray
Achtung : Die Include-Dateien sollten in den entsprechenden Unterverzeichnissen 'RT_System' und 'RT_System' irgendwo im 'include file path' liegen, wie in obigem Text beschrieben!
 
Ein Beispiel einer derartigen Animation
findet man hier: 3D-Animations - Railroad (Linked Axes).
top

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