lehrkraefte:blc:math:vektoranalysis:jahrmarkt

Vorgehen

Ziel ist es, die Bahn eines Passagiers zu modellieren, und zwar als Vektor deren Komponenten Funktionen der Zeit sind. Diese können dann einzeln abgeleitet werden (z.B. mit dem TR) und man erhält den Geschwindigkeitsvektor. Eine nochmalige Ableitung liefert den Beschleunigungsvektor. Eine nochmalige Ableitung liefert die Änderung der Beschleunigung, was als “Ruckeln” oder “Schütteln” wahrgenommen wird.

Da meist mehrere Drehachsen vorhanden ist, ist zuerst ein oder mehrere Koordinatensysteme zu beschreiben, deren Einheitsvektoren sich mit der Zeit verändern (typischerweise drehen). Um rechtwinklige, rechtshändig orientierte Vektoren zu erhalten, wird oft das Vektorprodukt eingesetzt.

Drehwinkel werden in Abhängikeit der Zeit beschrieben.

  • Festlegen der statischen Lage der Bahn, wo genau wird der Nullpunkt gewählt (typischerweise am Boden unter dem Zentrum der Bahn), Koordinatenachsen in eine der Symmetrieachsen der Bahn. Koordinatensystem $K_0$.
  • Festlegen einer Drehwinkelfunktion $\alpha(t)$ der Hauptrotation der Bahn (erst einmal linear).
  • Berechnung eines drehenden Koordinatensystems $K_1$ aus $\alpha(t)$.
  • Weitere Punkte (evtl. Koordinatensysteme) im Koordinatensystme $K_0$.
  • Modellierung in POV-Ray:
    • Passagierkurve (z.B. einfärben, je nach Betrag der Geschwindigkeit, Beschleunigung oder Änderung der Beschleunigung).
    • Bahn als Ganzes (stark vereinfacht bis beliebig kompliziert, z.B. mit blinkender Beleuchtung)

Einige Bahnen der Olma 2017

Folgendes Macro erlaubt es uns, gewohnte Objekt in einem eigenen Koordinatensystem zu platzieren, definiert durch Urpsrung und die drei Einheitsvektoren:

#macro ksysttrans(oi, xi, yi, zi)
  matrix <xi.x, xi.y, xi.z,
          yi.x, yi.y, yi.z,
          zi.x, zi.y, zi.z,
          oi.x, oi.y, oi.z>
#end

Zu verwenden z.B. wie folgt:

// Stellt die Box an folgenden Koordinaten im Koordinatensystem K3 dar
// (definiert durch o3, x3, y3, z3).
box { <-1,-0.2,0>, <1,0.2,0.1>
   transform { ksysttrans(o3,x3,y3,z3) }
}

Rotation mit vertikaler Wellenbewegung:

  • Videos: 1, 2, 3

Angaben des Betreibers zur Bahn:

  • 16m Tiefe
  • 12m Bahndurchmesser
  • Zeltspitz 7.5m
  • 6.2m Fassadenhöhe
  • 12-14 U/min (ca. 35 km/h)
  • 4 Motoren, 360V 60A

Lösungsvorschlag

Lösungsvorschlag

// Kamera
camera { 
      sky <0,0,1>          // Vektor, der festlegt, wo oben ist.
      right <-4/3,0,0>     // Bildverhältnis 4:3, plus Spiegelung für rechtsdrehendes System
      location <20,8,18>   // Position der Kamera
      look_at <0, 0, 1>    // Blickrichtung (erscheint im Bildmittelpunkt)
      angle 30             // Öffnungswinkel der Kamera
}
 
// Lichtquellen
light_source { 
 <12,-2,12>              // Position des Lichts
 color rgb <1,1,1>     // Farbe des Lichts, als rot-grün-blau Vektor (Komponenten 0 bis 1)
}
light_source { 
 <13,10,13>              // Position des Lichts
 color rgb <1,1,1>     // Farbe des Lichts, als rot-grün-blau Vektor (Komponenten 0 bis 1)
}
// Boden (xy-Ebene, kariert mit Quadraten von Seitenlänge 1)
plane { 
  z,0        // Ebene, senkrecht zu z=<0,0,1>, mit Abstand 0 zum Ursprung
  pigment {  // Schachbrett
    checker color rgb <1,1,1>, color rgb <0.2,0.2,0.2>
  }
  finish { reflection 0.4 }
} // Ende Boden 
 
 
#declare zeit=clock*5/16;   // 5 Sekunden simulieren (1 Umdrehung) 
 
 
#declare wagen=16;    // Anzahl Wagen            
#declare h1=2;  // Höhe über Boden des Drehzentrums.            
#declare a1=15/360.0*2*pi;    // Neigungswinkel (in Radianten)
#declare w2=12.0/60.0*2*pi;   // Drehgeschwindigkeit der Scheibe in rad/s
#declare a2=w2*zeit;          // Momentaner Drehwinkel
#declare a3=5.0/360*2*pi;     // Elongation der Pendelbewegung
#declare r3=5;                // Distanz Drehzentrum - Passagier
 
#declare wagennr=0;
#while (wagennr<wagen)
    #declare a2 = a2 + 1/wagen*2*pi;
    #declare f3=-a3*cos(3*a2);    // Pendelwinkel
 
    // K1 (Ebene der Drehscheibe)
    #declare x1=-sin(a1)*z+cos(a1)*x;
    #declare y1=y;
    #declare z1=cos(a1)*z+sin(a1)*x;
    #declare o1=h1*z;
 
    // K2 (Drehende Ebene)
    #declare x2=cos(a2)*x1+sin(a2)*y1;
    #declare y2=-sin(a2)*x1+cos(a2)*y1;
    #declare z2=z1;
    #declare o2=o1;
    // K3 (mit Pendelbewegung)
    #declare x3=cos(f3)*x2+sin(f3)*z2;
    #declare y3=y2;
    #declare z3=-sin(f3)*x2+cos(f3)*z2;
    #declare o3=o2;
 
    #declare p=o3+r3*x3;  // Position des Passagiers
 
    sphere {p, 0.3
        pigment { color rgb x }
    }                           
    cylinder { o3,p,0.1
        pigment { color rgb x2 }
    }
    cylinder { p,p-10*z, 0.03
        pigment { color rgb z }
    }
 
 
    #declare wagennr=wagennr+1;
#end // while

Maxima Code (für die Ableitungen)

/* K0 */
o0:[0,0,0];
x0:[1,0,0];
y0:[0,1,0];
z0:[0,0,1];

alpha1:15/180*%pi;
h1:2;

/* K1 schiefe Ebene */
o1:o0+h1*z0;
x1:-sin(alpha1)*z0+cos(alpha1)*x0;
y1:y0;
z1:cos(alpha1)*z0+sin(alpha1)*x0;

/* Parameter K2 */
omega2:12/60*2*%pi;
alpha2:omega2*t;

/* K2, drehende Ebene */
o2:o1;
x2:cos(alpha2)*x1+sin(alpha2)*y1;
y2:-sin(alpha2)*x1+cos(alpha2)*y1;
z2:z1;

/* Parameter K3 */
r3:5;
alpha3:5/360*2*%pi;
f3:-alpha3*cos(3*alpha2);

o3:o2;
x3:cos(f3)*x2+sin(f3)*z2;
y3:y2;
z3:-sin(f3)*x2+cos(f3)*z2;

/* Passagier */

define(p(t), o3+r3*x3);
define(v(t), diff(p(t),t));
define(a(t), diff(v(t),t)-9.81*z0);

/* Betraege der Geschwindigkeit und Beschleunigung */ 
define(aa(t), sqrt(a(t).a(t)));
define(vv(t), sqrt(v(t).v(t)));

plot2d([vv(t),aa(t), a(t).[0,0,1]],  [t, 0,10],
[title, "Geschwindigkeit und Beschleunigung"],
[legend, "v(t)", "a(t)", "az(t)"]);

Das Bild dazu: $$\left[ 5\,\left(\cos \left({{\pi}\over{12}}\right)\,\cos \left({{2 \,\pi\,t}\over{5}}\right)\,\cos \left({{\pi\,\cos \left({{6\,\pi\,t }\over{5}}\right)}\over{36}}\right)-\sin \left({{\pi}\over{12}} \right)\,\sin \left({{\pi\,\cos \left({{6\,\pi\,t}\over{5}}\right) }\over{36}}\right)\right) , 5\,\sin \left({{2\,\pi\,t}\over{5}} \right)\,\cos \left({{\pi\,\cos \left({{6\,\pi\,t}\over{5}}\right) }\over{36}}\right) , 5\,\left(-\cos \left({{\pi}\over{12}}\right)\, \sin \left({{\pi\,\cos \left({{6\,\pi\,t}\over{5}}\right)}\over{36}} \right)-\sin \left({{\pi}\over{12}}\right)\,\cos \left({{2\,\pi\,t }\over{5}}\right)\,\cos \left({{\pi\,\cos \left({{6\,\pi\,t}\over{5 }}\right)}\over{36}}\right)\right)+2 \right] $$ Beschleunigung: $$\left[ 5\,\left({{\pi^4\,\sin \left({{\pi}\over{12}}\right)\,\sin ^ 2\left({{6\,\pi\,t}\over{5}}\right)\,\sin \left({{\pi\,\cos \left({{ 6\,\pi\,t}\over{5}}\right)}\over{36}}\right)}\over{900}}-{{2\,\pi^3 \,\cos \left({{\pi}\over{12}}\right)\,\sin \left({{2\,\pi\,t}\over{5 }}\right)\,\sin \left({{6\,\pi\,t}\over{5}}\right)\,\sin \left({{\pi \,\cos \left({{6\,\pi\,t}\over{5}}\right)}\over{36}}\right)}\over{75 }}+{{\pi^3\,\cos \left({{\pi}\over{12}}\right)\,\cos \left({{2\,\pi \,t}\over{5}}\right)\,\cos \left({{6\,\pi\,t}\over{5}}\right)\,\sin \left({{\pi\,\cos \left({{6\,\pi\,t}\over{5}}\right)}\over{36}} \right)}\over{25}}-{{\pi^4\,\cos \left({{\pi}\over{12}}\right)\, \cos \left({{2\,\pi\,t}\over{5}}\right)\,\sin ^2\left({{6\,\pi\,t }\over{5}}\right)\,\cos \left({{\pi\,\cos \left({{6\,\pi\,t}\over{5 }}\right)}\over{36}}\right)}\over{900}}+{{\pi^3\,\sin \left({{\pi }\over{12}}\right)\,\cos \left({{6\,\pi\,t}\over{5}}\right)\,\cos \left({{\pi\,\cos \left({{6\,\pi\,t}\over{5}}\right)}\over{36}} \right)}\over{25}}-{{4\,\pi^2\,\cos \left({{\pi}\over{12}}\right)\, \cos \left({{2\,\pi\,t}\over{5}}\right)\,\cos \left({{\pi\,\cos \left({{6\,\pi\,t}\over{5}}\right)}\over{36}}\right)}\over{25}} \right) , {{2\,\pi^3\,\cos \left({{2\,\pi\,t}\over{5}}\right)\,\sin \left({{6\,\pi\,t}\over{5}}\right)\,\sin \left({{\pi\,\cos \left({{6 \,\pi\,t}\over{5}}\right)}\over{36}}\right)}\over{15}}+{{\pi^3\, \sin \left({{2\,\pi\,t}\over{5}}\right)\,\cos \left({{6\,\pi\,t }\over{5}}\right)\,\sin \left({{\pi\,\cos \left({{6\,\pi\,t}\over{5 }}\right)}\over{36}}\right)}\over{5}}-{{\pi^4\,\sin \left({{2\,\pi\, t}\over{5}}\right)\,\sin ^2\left({{6\,\pi\,t}\over{5}}\right)\,\cos \left({{\pi\,\cos \left({{6\,\pi\,t}\over{5}}\right)}\over{36}} \right)}\over{180}}-{{4\,\pi^2\,\sin \left({{2\,\pi\,t}\over{5}} \right)\,\cos \left({{\pi\,\cos \left({{6\,\pi\,t}\over{5}}\right) }\over{36}}\right)}\over{5}} , 5\,\left({{\pi^4\,\cos \left({{\pi }\over{12}}\right)\,\sin ^2\left({{6\,\pi\,t}\over{5}}\right)\,\sin \left({{\pi\,\cos \left({{6\,\pi\,t}\over{5}}\right)}\over{36}} \right)}\over{900}}+{{2\,\pi^3\,\sin \left({{\pi}\over{12}}\right)\, \sin \left({{2\,\pi\,t}\over{5}}\right)\,\sin \left({{6\,\pi\,t }\over{5}}\right)\,\sin \left({{\pi\,\cos \left({{6\,\pi\,t}\over{5 }}\right)}\over{36}}\right)}\over{75}}-{{\pi^3\,\sin \left({{\pi }\over{12}}\right)\,\cos \left({{2\,\pi\,t}\over{5}}\right)\,\cos \left({{6\,\pi\,t}\over{5}}\right)\,\sin \left({{\pi\,\cos \left({{6 \,\pi\,t}\over{5}}\right)}\over{36}}\right)}\over{25}}+{{\pi^4\, \sin \left({{\pi}\over{12}}\right)\,\cos \left({{2\,\pi\,t}\over{5}} \right)\,\sin ^2\left({{6\,\pi\,t}\over{5}}\right)\,\cos \left({{\pi \,\cos \left({{6\,\pi\,t}\over{5}}\right)}\over{36}}\right)}\over{ 900}}+{{\pi^3\,\cos \left({{\pi}\over{12}}\right)\,\cos \left({{6\, \pi\,t}\over{5}}\right)\,\cos \left({{\pi\,\cos \left({{6\,\pi\,t }\over{5}}\right)}\over{36}}\right)}\over{25}}+{{4\,\pi^2\,\sin \left({{\pi}\over{12}}\right)\,\cos \left({{2\,\pi\,t}\over{5}} \right)\,\cos \left({{\pi\,\cos \left({{6\,\pi\,t}\over{5}}\right) }\over{36}}\right)}\over{25}}\right)-9.81 \right] $$

2-fach Rotation (wovon 1 Pendelbewegung) * Videos: 1, 2

Angaben des Betreibers:

  • 12m - 13m Pendellänge
  • Bis $120^\circ$ Auslenkung
  • 6m -7m Kreisdurchmesser
  • 22m höchster Punkt ab Boden

2- (bzw. 3-fach Rotation, davon eine frei) auf schiefer Ebene

  • Videos1, 2, 3

Angaben des Betreibers

  • 7m Scheibenradius
  • 2.5m von aussen bis zum Aufhängepunkt
  • 13.5 U/min für die Scheibe
  • 14 U/min für die 4er Kreuze
  • 2m Radius der 4er Kreuze
  • Sitze frei drehend

POV-Ray und Maxima-Code

POV-Ray und Maxima-Code

// Kamera
camera { 
      sky <0,0,1>          // Vektor, der festlegt, wo oben ist.
      right <-4/3,0,0>     // Bildverhältnis 4:3, plus Spiegelung für rechtsdrehendes System
      location <5,20,8>   // Position der Kamera
      look_at <0, 0, 1>    // Blickrichtung (erscheint im Bildmittelpunkt)
      angle 40             // Öffnungswinkel der Kamera
}
 
// Lichtquellen
light_source { 
 <12,-2,12>              // Position des Lichts
 color rgb <1,1,1>     // Farbe des Lichts, als rot-grün-blau Vektor (Komponenten 0 bis 1)
}
light_source { 
 <13,10,13>              // Position des Lichts
 color rgb <1,1,1>     // Farbe des Lichts, als rot-grün-blau Vektor (Komponenten 0 bis 1)
}
// Boden (xy-Ebene, kariert mit Quadraten von Seitenlänge 1)
plane { 
  z,0        // Ebene, senkrecht zu z=<0,0,1>, mit Abstand 0 zum Ursprung
  pigment {  // Schachbrett
    checker color rgb <1,1,1>, color rgb <0.2,0.2,0.2>
  }
  finish { reflection 0.4 }
} // Ende Boden 
 
 
#macro ksysttrans(oi, xi, yi, zi)
  matrix <xi.x, xi.y, xi.z,
          yi.x, yi.y, yi.z,
          zi.x, zi.y, zi.z,
          oi.x, oi.y, oi.z>
#end
 
 
#declare zeit=clock*5;   // 5 Sekunden simulieren (etwas mehr als 1 Umdrehung) 
 
 
#declare h1=1.4;  // Höhe über Boden des Drehzentrums.            
#declare a1=5/360.0*2*pi;    // Neigungswinkel (in Radianten)
#declare w2=13.5/60.0*2*pi;   // Drehgeschwindigkeit der Scheibe in rad/s
#declare a2=w2*zeit;          // Momentaner Drehwinkel
#declare r3=4.5;              // Distanz Bahnzentrum - Kreuzzentrum
#declare w3=(-14-13.5)/60.0*2*pi;  //Drehgeschwindigkeit der Kreuze, relativ zur Scheibe, in rad/s
#declare a3=w3*zeit;          // Momentaner Drehwinkel der Kreuze
#declare r4=2;                // Distanz Kreuzzentrum - Passagier
 
 
// K1 (Ebene der Drehscheibe)
#declare x1=-sin(a1)*z+cos(a1)*x;
#declare y1=y;
#declare z1=cos(a1)*z+sin(a1)*x;
#declare o1=h1*z;
 
// K2 (Drehende Ebene)
#declare x2=cos(a2)*x1+sin(a2)*y1;
#declare y2=-sin(a2)*x1+cos(a2)*y1;
#declare z2=z1;
#declare o2=o1;
 
// K3 (Drehende Kreuze)
#declare x3=cos(a3)*x2+sin(a3)*y2;
#declare y3=-sin(a3)*x2+cos(a3)*y2;
#declare z3=z2;
#declare o3=o2+r3*x2;
 
 
#declare p=o3+r4*x3+0.5*z3;  // Position des Passagiers
 
sphere {p, 0.3
  pigment { color rgb x }
}                           
 
cylinder { p,p-10*z, 0.03
  pigment { color rgb z }
}
 
 
// Definition in K2-Koordinaten
cylinder { 0, 0.1*z, 7 
  pigment { checker color rgb x, color rgb x+y scale 2 }
  // Transformation in K2 (bzw. umgekehrt)
  transform { ksysttrans(o2, x2,y2,z2) }
}

Maxima-Code (für die Ableitungen der Position)

/* K0 */
o0:[0,0,0];
x0:[1,0,0];
y0:[0,1,0];
z0:[0,0,1];
 
alpha1:5/180*%pi;
h1:1.4;
 
/* K1 schiefe Ebene */
o1:o0+h1*z0;
x1:-sin(alpha1)*z0+cos(alpha1)*x0;
y1:y0;
z1:cos(alpha1)*z0+sin(alpha1)*x0;
 
/* Parameter K2 */
omega2:27/2/60*2*%pi;
alpha2:omega2*t;
 
/* K2, drehende Ebene */
o2:o1;
x2:cos(alpha2)*x1+sin(alpha2)*y1;
y2:-sin(alpha2)*x1+cos(alpha2)*y1;
z2:z1;
 
/* Parameter K3 */
r3:4.5;
w3:(-14-27/2)/60*2*%pi;
a3:w3*t;
 
o3:o2+r3*x2; 
x3:cos(a3)*x2+sin(a3)*y2;
y3:-sin(a3)*x2+cos(a3)*y2;
z3:z2;
 
/* Passagier */
r4:2;
 
define(p(t), o3+r4*x3);
define(v(t), diff(p(t),t));
define(a(t), diff(v(t),t)-9.81*z0);
 
/* Betraege der Geschwindigkeit und Beschleunigung */ 
define(aa(t), sqrt(a(t).a(t)));
define(vv(t), sqrt(v(t).v(t)));
 
plot2d([vv(t),aa(t)],  [t, 0,10],
[title, "Geschwindigkeit und Beschleunigung"],
[legend, "v(t)", "a(t)"]);

Heraus kommt folgende Grafik:

Mit folgenden Vektoren für Position, Geschwindigkeit und Beschleunigung: $$\vec{OP}(t) = \begin{pmatrix} 2\,\left(\cos \left({{\pi}\over{36}}\right)\,\sin \left({{9 \,\pi\,t}\over{20}}\right)\,\sin \left({{11\,\pi\,t}\over{12}} \right)+\cos \left({{\pi}\over{36}}\right)\,\cos \left({{9\,\pi\,t }\over{20}}\right)\,\cos \left({{11\,\pi\,t}\over{12}}\right)\right) +4.5\,\cos \left({{\pi}\over{36}}\right)\,\cos \left({{9\,\pi\,t }\over{20}}\right) \\ 2\,\left(\sin \left({{9\,\pi\,t}\over{20}} \right)\,\cos \left({{11\,\pi\,t}\over{12}}\right)-\cos \left({{9\, \pi\,t}\over{20}}\right)\,\sin \left({{11\,\pi\,t}\over{12}}\right) \right)+4.5\,\sin \left({{9\,\pi\,t}\over{20}}\right) \\ 2\,\left(- \sin \left({{\pi}\over{36}}\right)\,\sin \left({{9\,\pi\,t}\over{20 }}\right)\,\sin \left({{11\,\pi\,t}\over{12}}\right)-\sin \left({{ \pi}\over{36}}\right)\,\cos \left({{9\,\pi\,t}\over{20}}\right)\, \cos \left({{11\,\pi\,t}\over{12}}\right)\right)-4.5\,\sin \left({{ \pi}\over{36}}\right)\,\cos \left({{9\,\pi\,t}\over{20}}\right)+1.4 \end{pmatrix} $$

  • Rotierende Rotationsachse (plus freie Pendelbewegung):
  • Freier Fall:
  • Einface Rotation des Aufhängepunktes:
  • lehrkraefte/blc/math/vektoranalysis/jahrmarkt.txt
  • Last modified: 2018/09/28 14:17
  • by Ivo Blöchliger