lehrkraefte:blc:math:vektoranalysis:jahrmarkt

This is an old revision of the document!


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

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 Raduis der 4er Kreuze
  • Sitze frei drehend
  • Rotierende Rotationsachse (plus freie Pendelbewegung):
  • Freier Fall:
  • Einface Rotation des Aufhängepunktes:
  • lehrkraefte/blc/math/vektoranalysis/jahrmarkt.1538056521.txt.gz
  • Last modified: 2018/09/27 15:55
  • by Ivo Blöchliger