// povray 3.6
// Präzession eines Schwungrads
//
// Am Schwungrad lassen sich die Auswirkungen der Präzession aufzeigen. Ein Kippen
// der Rotationsachse vom Schwungrad ruft senkrecht zur Achse stehende Kräfte hervor.
// Zentrales Element bildet ein Schwungrad. Damit die vielen Vektoren erkennbar sind,
// wird das als transparentes Objekt abgebilet. Ein Kippen führt zu entsprechenden Kräften
// auf mit rotierende Masseelemente.
// Globale Definitionen
#declare Ansicht = 1;
// Achsen
// x -> links nach rechts
// y -> von unten nach oben
// z -> tiefe
// Kameraposition
#if (Ansicht = 1)
#declare Kameraposition = <10, 15, -28>;
#end
#if (Ansicht = 2)
#declare Kameraposition = <0, 0, -33>;
#end
// #declare Kameraposition = <0.1, 0.1, -28>;
#declare Vektor_Teilung = 1;
// * Vektor_Durchmesser
#declare Vektor_Durchmesser = 0.1;
// * Vektor_Schrift
#declare Vektor_Schrift = "Schrift/DejaVuSans.ttf"
#declare Winkel_Vektor_Radius = 2.5;
global_settings {
adc_bailout 0.00392157
assumed_gamma 1.5
noise_generator 2
charset utf8
}
light_source {
Kameraposition
rgb <1.5, 1.5, 1.5>
shadowless
}
camera {
//perspective
orthographic angle 45
location Kameraposition
sky <0, 1, 0>
direction <0, 0, 1>
right x*image_width/image_height
up <0, 1, 0>
look_at <0, 0, 0>
}
/*
camera { // X
perspective
location <45, 0, 0>
sky <0, 1, 0>
direction <0, 0, 1>
right <1, 0, 0>
up <0, 1, 0>
look_at <0, 5, 0>
}
camera { // Z
perspective
location <0, 0, -45>
sky <0, 1, 0>
direction <0, 0, 1>
right <1, 0, 0>
up <0, 1, 0>
look_at <0, 5, 0>
}
*/
#include "../baukasten/baukasten.pov"
#include "colors.inc"
// *******
// *
// * MAIN
// *
// *******
// Koordinaten-Achsen
// Schwungrad
// Drehimpuls
// Clock geht von 0. bis 1.
// Animation bis zur Neigung von 30° und 6 Umdrehungen
// BUG: Plättungseffekt???
#declare x_offset = 0; // -2;
#declare y_offset = -1;
#declare Neigungswinkel = 20; // in Grad
//
// Schwungrad mit Massepunkten
//
object {
Schwungrad_mit_Massen(Neigungswinkel)
translate x * x_offset
translate y * y_offset
}
//
// Koordinatenachsen
//
object {
Vektor(<x_offset+6,y_offset,0>, <3,0,0>, "y", "", Gray50) // povray x-Achse
}
object {
ZylinderStattVektor(<x_offset-6,y_offset,0>, <-2,0,0>, Gray50) // povray x-Achse
}
object {
Vektor(<x_offset,y_offset+6,0>, <0,3,0>, "z", "", Gray50) // povray y-Achse
}
object {
ZylinderStattVektor(<x_offset,y_offset-6,0>, <0,-2,0>, Gray50) // povray y-Achse
}
object {
Vektor_Invert(<x_offset,y_offset,-6>, <0,0,-3>, "x", "", Gray50) // povray z-Achse
}
object {
ZylinderStattVektor(<x_offset,y_offset,+6>, <0,0,2>, Gray50) // povray z-Achse
}
//
// Hintergrund
//
sphere {
<0,0,0>,1 hollow
texture {
pigment{gradient <0,1,0>
color_map{
// [-1.0 color White]
// [-0.7 color rgb<0.1,0.25,0.75>]
[0 color White]
[1.0 color rgb<0.1,0.25,0.75>]
// [1.0 color White]
// [2.0 color rgb<0.1,0.25,0.75>]
// [1.0 color rgb<0.1,0.25,0.75>]
}
scale 2 translate y*-1
} // end pigment
finish {ambient 1 diffuse 0}
} // end of texture
// rotate x * 45
// rotate y * 45
scale 40
translate y * y_offset
} // end of sphere -----------------------
// EOF
; povray 3.6
; Die komplette Szene soll 30 Sekunden dauern und mit 25 FPS laufen.
Input_File_Name=praezession.pov
;+W320 +H200
;+W640 +H400
+W960 +H540
+W1920 +H1080
;Output_File_Name=out/
Output_File_Name=r_praezession
Cyclic_Animation=on
Pause_when_Done=off
Antialias=on
Display=off