Die Programmierung einer Trochoidenkurve

Die Beispiele sind mit PoVRay, Version 3.6 für Windows programmiert. Das Programm ist Freeware.

Auf meiner PoVRay-Site findet Ihr Erläuterungen zum Einstieg ins Programmieren mit diesem Raytracer für AnfängerInnen.

Das Skript ist ausführlich kommentiert und kann direkt zur Fertigung eigener Beispiele benutzt werden. Falls mehrere Umdrehunges ewünscht sind, muss der "clock"-Eintrag in der Datei pov.ini entsprechend geändert werden

Im Folgenden ist es hier nochmals im HTML-Format dargestellt:

// Persistence of Vision Ray Tracer Scene Description File
// File: Trochoidenvariation.pov
// Vers: 3.6
// Desc: Skript zur Animation von Trochoiden
// Date: 2009
// Auth: Asti

// Die "Clock"-Zeilen müssen in der pov.ini eingetragen werden !!!!!

/*
Initial_Frame=0
Final_Frame=37
Initial_Clock=0
Final_Clock=37
Cyclic_Animation=on
Pause_when_Done=off
*/

#include "colors.inc"
#include "textures.inc"
#include "metals.inc"

camera {
  location <0, 0, -12>
  up <0, 1, 0>
  right <4/3, 0, 0>
  look_at <0, 0, 0>
}

light_source{<-2,4,-30>  color White*1.1 }
light_source{<-20,14,-20>  color White*.75 }
light_source{<10,14,-20>  color Gray50 }

background {CadetBlue}

//-------------Deklarationen----------------------
//Radius des großen Kreises:
#declare  Aussenradius=3;

//Verhältnis von R_gross zu R_klein:
#declare  faktor=4.0;

#declare  R_gross=Aussenradius;
#declare  R_klein=R_gross/faktor;

//Bei Änderung von mp: andere Trochoide, wenn auch der Startpunkt geändert wird!
#declare Lage=-2.7;
//Mittelpunkt mp des kleinen Kreises
#declare  mp=<R_gross+Lage*R_klein,0,0>;

//Startpunkt sp auf dem kleinen Kreis:
#declare  sp=<R_gross+2*Lage*R_klein,0,0>;

//Vektor DV vom Usprung zu Mittelpunkt des kleinen Kreises: (Startposition)
#declare DV=<R_gross+R_klein,0,0>;

#declare Alpha=0;
//--------------Verarbeitungsteil--------------------
//großer Ursprungskreis und kleiner berührender Kreis:
        //Markierung des Ursprungs:
        sphere {<0,0,0> 0.15 pigment {Gold}}

        //Markierung des Mittelpunkts vom kleinen Kreis:
        sphere {mp 0.15 pigment {Gold}}

        //großer und kleiner  Kreis:
        torus {R_gross, 0.05 pigment {BrightGold} rotate <90,0,0>}
        torus {R_klein, 0.05 pigment {BrightGold} rotate <90,0,0> translate mp}

        //Verbindungslinie der beiden Kreismittelpunkte:
        cylinder {<0,0,0> DV 0.1 pigment {Gold}}

        //Startpunkt auf dem kleinen Kreis:
        sphere {mp+<R_klein,0,0> 0.25 pigment {Silver}}

//-----------Beginn der Animation mit clock---------------------------
//Rotation der Verbindungslinie
cylinder {<0,0,0> DV 0.1 pigment {Gold} rotate <0,0,clock*10>}

//mit rotieren des Mittelpunkts mp vom kleinen Kreis:
sphere {mp 0.15 pigment {Gold} rotate <0,0,clock*10>}

//mit rotieren des kleinen Kreises:
torus {R_klein, 0.05 pigment {BrightGold} rotate <90,0,0>
       translate mp rotate <0,0,clock*10>}

//  Die Trochoide

#while (Alpha<pi/5/3.6*clock+0.005)
        #local Beta= R_gross/R_klein*Alpha;
        #local xm=(R_gross+Lage*R_klein)*cos(Alpha);
        #local ym=(R_gross+Lage*R_klein)*sin(Alpha);

        //Koordinaten für die Trochoide,vgl. Erklärung im Abschnitt
          "Trochoiden" der Streiflichter-Seite.
        #local X=R_klein*cos(Beta)+xm;
        #local Y=R_klein*sin(Beta)+ym;

        sphere{<X,Y,0>,.1 pigment {Silver} finish{F_MetalA}}
        #local Alpha=Alpha+pi/100;
        //text{ttf Font concat("clock=",str(clock,1,1)),0.1,0 scale 1
              pigment{Green} translate <-3.5,-5,0>}
#end



© 2009-2024 Asti PoVRay-Site