+4 Daumen
1,7k Aufrufe

Ich schreibe ein kleines Programm zur grafischen Darstellung eines Gleitschirms und dessen "Trimmung".

Aus den Herstellerangaben (Fläche, Spannweite, Zellenanzahl, Streckung) kann ich die Form der ausgelegten Fläche recht genau errechnen.

Das Profil des Gleitschirms im Flug (Krümmung um die X und Y Achse) wird durch die Länge der Leinen bestimmt, die ausgehend von zwei Karabinern (Anknüpfpunkte rechts und links am Pilotengurt) zu den Loops (Anknüpfpunkte in der Schirmfläche) reichen.

Vereinfacht dargestellt:
Ich habe eine definierte Fläche mit Anknüpfpunkten, Außenmaße und X/Y Koordinaten der Anknüpfpunkte sind gegeben.
Die X/Y Koordinaten der Anknüpfpunkte am Pilotengurt(Karabiner ) sind ebenfalls bekannt.

Die Länge der Leinen die vom Karabiner zum jeweiligen Anknüpfpunkt reichen, sind Sollwerte des Herstellers. Die tatsächliche Länge soll gemessen, und so die Trimmung des Schirms grafisch dargestellt werden. Die ersten beiden zu berechnenden Punkte wären jene, welche am nächsten zur Z-Achse des Karabiners liegen. Die Länge der jeweils zugehörigen Leine wäre dann meine Hypotenuse und ich könnte mit einfacher Dreiecksberechnung den Abstand (Ankathete) des direkt über dem Karabiner liegenden Punktes berechnen. Dann müsste ich integral von einem Punkt zum nächsten rechnen, aber hier wird es dann schwierig:

Da die Positionen der Anknüpfpunkte in der Schirmfläche zueinander fix sind, würde eine verkürzte Leine auch die Lage bereits berechneter Punkte beeinflussen.

Hier fehlt mir sowohl Methodik als auch die Formeln wie ich die (X,Y,Z) Koordinaten der folgenden Anknüpfpunkte errechnen könnte.

1. ? Erst von Punkt zu Punkt in X-Richtung berechenen und dann die Lage in Y-Richtung? (Vektor von Karabiner zum letzten Punkt = Ankathete, Leinenlänge zum nächsten Punkt = Hypotenuse)

2. ? Alle Punkte zur senkrechten Z-Achse des Karabiners berechnen? (Z-Achse Karabiner = Ankathete, Leinenlänge = Hypotenuse)

3. ? Ist es komplizierter als gedacht und ich muss um jeden Punkt eine Kugel legen, auf deren Oberfläche irgendwo die Schnittpunkte von Leine und nächstem Punkt liegen?

4. ? Wie beeinflusst eine verkürzte Leine den vorher berechneten Punkt und muss ich zurück rechnen um diesen zu korrigieren?

Habe schon verschiedene Vorgehensweisen durchdacht ... die Erleuchtung will nicht kommen.

Zum besseren Verständnis habe ich das ganze mal mit dem Geoknecht vereinfacht dargestellt.

blob.png

In meiner Darstellung ist die Fläche noch plan ausgelegt. Die Leinen(rote Linien)sind dementsprechend lang.

Für eine Beispielrechnung könnte man einfach die Leinen je Ebene nach hinten bzw. je Loop nach Außen um eine Einhet kürzen.

Hoffe mit dieser Aufgabe das Interesse und den Ergeiz des Ein oder Anderen geweckt zu haben.

Für Tipps, Rat, Hilfe und Schupser in die richtige Richtung wäre ich jedem Helfer sehr dankbar.

Avatar von

Das ist ja eine der coolsten Grafiken, die ich bisher mit Geoknecht gesehen habe!

Gratulation und Daumen hoch hierfür :)

blob.png

nur zum Verständnis. Die Fläche und die Anknüpfpunkte in der Fläche (=Schirm) sind gegeben. Weiter sind die Positionen der Karabiner (unten) gegeben und die Länge jeder einzelnen Leine. Und nun soll der Schirm mit diesen Daten 'aufgeblasen' gezeichnet werden. Ist das so richtig?

Hallo Werner,

das ist absolut korrekt, Du hast mich richtig verstanden.

Schonmal danke für Dein interesse vorab.

Gruß, Frank

Hallo Kai,

Danke für's Lob.

Das geht sogar noch ein Stück cooler ;)

Hab mir gerade ein kleines Skript geschrieben, dass mir die Konturen meines Gleitschirms direkt in Geoknecht-Code ausspuckt.

Hier das Resultat:

https://www.matheretter.de/geoservant/de?draw=strecke(-6.52%7C0%7C5%20-6.32%7C-0.29%7C5)%0Astrecke(-6.32%7C-0.29%7C5%20-6.12%7C-0.41%7C5)%0Astrecke(-6.12%7C-0.41%7C5%20-5.93%7C-0.5%7C5)%0Astrecke(-5.93%7C-0.5%7C5%20-5.73%7C-0.57%7C5)%0Astrecke(-5.73%7C-0.57%7C5%20-5.53%7C-0.64%7C5)%0Astrecke(-5.53%7C-0.64%7C5%20-5.33%7C-0.69%7C5)%0Astrecke(-5.33%7C-0.69%7C5%20-5.14%7C-0.74%7C5)%0Astrecke(-5.14%7C-0.74%7C5%20-4.94%7C-0.78%7C5)%0Astrecke(-4.94%7C-0.78%7C5%20-4.74%7C-0.82%7C5)%0Astrecke(-4.74%7C-0.82%7C5%20-4.54%7C-0.86%7C5)%0Astrecke(-4.54%7C-0.86%7C5%20-4.35%7C-0.9%7C5)%0Astrecke(-4.35%7C-0.9%7C5%20-4.15%7C-0.93%7C5)%0Astrecke(-4.15%7C-0.93%7C5%20-3.95%7C-0.96%7C5)%0Astrecke(-3.95%7C-0.96%7C5%20-3.75%7C-0.98%7C5)%0Astrecke(-3.75%7C-0.98%7C5%20-3.56%7C-1.01%7C5)%0Astrecke(-3.56%7C-1.01%7C5%20-3.36%7C-1.03%7C5)%0Astrecke(-3.36%7C-1.03%7C5%20-3.16%7C-1.05%7C5)%0Astrecke(-3.16%7C-1.05%7C5%20-2.96%7C-1.07%7C5)%0Astrecke(-2.96%7C-1.07%7C5%20-2.77%7C-1.09%7C5)%0Astrecke(-2.77%7C-1.09%7C5%20-2.57%7C-1.1%7C5)%0Astrecke(-2.57%7C-1.1%7C5%20-2.37%7C-1.12%7C5)%0Astrecke(-2.37%7C-1.12%7C5%20-2.17%7C-1.13%7C5)%0Astrecke(-2.17%7C-1.13%7C5%20-1.98%7C-1.14%7C5)%0Astrecke(-1.98%7C-1.14%7C5%20-1.78%7C-1.16%7C5)%0Astrecke(-1.78%7C-1.16%7C5%20-1.58%7C-1.17%7C5)%0Astrecke(-1.58%7C-1.17%7C5%20-1.38%7C-1.17%7C5)%0Astrecke(-1.38%7C-1.17%7C5%20-1.19%7C-1.18%7C5)%0Astrecke(-1.19%7C-1.18%7C5%20-0.99%7C-1.19%7C5)%0Astrecke(-0.99%7C-1.19%7C5%20-0.79%7C-1.19%7C5)%0Astrecke(-0.79%7C-1.19%7C5%20-0.59%7C-1.2%7C5)%0Astrecke(-0.59%7C-1.2%7C5%20-0.4%7C-1.2%7C5)%0Astrecke(-0.4%7C-1.2%7C5%20-0.2%7C-1.2%7C5)%0Astrecke(-0.2%7C-1.2%7C5%200%7C-1.2%7C5)%0Astrecke(0%7C-1.2%7C5%200.2%7C-1.2%7C5)%0Astrecke(0.2%7C-1.2%7C5%200.4%7C-1.2%7C5)%0Astrecke(0.4%7C-1.2%7C5%200.59%7C-1.2%7C5)%0Astrecke(0.59%7C-1.2%7C5%200.79%7C-1.19%7C5)%0Astrecke(0.79%7C-1.19%7C5%200.99%7C-1.19%7C5)%0Astrecke(0.99%7C-1.19%7C5%201.19%7C-1.18%7C5)%0Astrecke(1.19%7C-1.18%7C5%201.38%7C-1.17%7C5)%0Astrecke(1.38%7C-1.17%7C5%201.58%7C-1.17%7C5)%0Astrecke(1.58%7C-1.17%7C5%201.78%7C-1.16%7C5)%0Astrecke(1.78%7C-1.16%7C5%201.98%7C-1.14%7C5)%0Astrecke(1.98%7C-1.14%7C5%202.17%7C-1.13%7C5)%0Astrecke(2.17%7C-1.13%7C5%202.37%7C-1.12%7C5)%0Astrecke(2.37%7C-1.12%7C5%202.57%7C-1.1%7C5)%0Astrecke(2.57%7C-1.1%7C5%202.77%7C-1.09%7C5)%0Astrecke(2.77%7C-1.09%7C5%202.96%7C-1.07%7C5)%0Astrecke(2.96%7C-1.07%7C5%203.16%7C-1.05%7C5)%0Astrecke(3.16%7C-1.05%7C5%203.36%7C-1.03%7C5)%0Astrecke(3.36%7C-1.03%7C5%203.56%7C-1.01%7C5)%0Astrecke(3.56%7C-1.01%7C5%203.75%7C-0.98%7C5)%0Astrecke(3.75%7C-0.98%7C5%203.95%7C-0.96%7C5)%0Astrecke(3.95%7C-0.96%7C5%204.15%7C-0.93%7C5)%0Astrecke(4.15%7C-0.93%7C5%204.35%7C-0.9%7C5)%0Astrecke(4.35%7C-0.9%7C5%204.54%7C-0.86%7C5)%0Astrecke(4.54%7C-0.86%7C5%204.74%7C-0.82%7C5)%0Astrecke(4.74%7C-0.82%7C5%204.94%7C-0.78%7C5)%0Astrecke(4.94%7C-0.78%7C5%205.14%7C-0.74%7C5)%0Astrecke(5.14%7C-0.74%7C5%205.33%7C-0.69%7C5)%0Astrecke(5.33%7C-0.69%7C5%205.53%7C-0.64%7C5)%0Astrecke(5.53%7C-0.64%7C5%205.73%7C-0.57%7C5)%0Astrecke(5.73%7C-0.57%7C5%205.93%7C-0.5%7C5)%0Astrecke(5.93%7C-0.5%7C5%206.12%7C-0.41%7C5)%0Astrecke(6.12%7C-0.41%7C5%206.32%7C-0.29%7C5)%0Astrecke(6.32%7C-0.29%7C5%206.52%7C0%7C5)%0Astrecke(-6.52%7C0.47%7C5%20-6.32%7C0.62%7C5)%0Astrecke(-6.32%7C0.62%7C5%20-6.12%7C0.68%7C5)%0Astrecke(-6.12%7C0.68%7C5%20-5.93%7C0.72%7C5)%0Astrecke(-5.93%7C0.72%7C5%20-5.73%7C0.76%7C5)%0Astrecke(-5.73%7C0.76%7C5%20-5.53%7C0.79%7C5)%0Astrecke(-5.53%7C0.79%7C5%20-5.33%7C0.82%7C5)%0Astrecke(-5.33%7C0.82%7C5%20-5.14%7C0.84%7C5)%0Astrecke(-5.14%7C0.84%7C5%20-4.94%7C0.86%7C5)%0Astrecke(-4.94%7C0.86%7C5%20-4.74%7C0.88%7C5)%0Astrecke(-4.74%7C0.88%7C5%20-4.54%7C0.9%7C5)%0Astrecke(-4.54%7C0.9%7C5%20-4.35%7C0.92%7C5)%0Astrecke(-4.35%7C0.92%7C5%20-4.15%7C0.93%7C5)%0Astrecke(-4.15%7C0.93%7C5%20-3.95%7C0.95%7C5)%0Astrecke(-3.95%7C0.95%7C5%20-3.75%7C0.96%7C5)%0Astrecke(-3.75%7C0.96%7C5%20-3.56%7C0.97%7C5)%0Astrecke(-3.56%7C0.97%7C5%20-3.36%7C0.99%7C5)%0Astrecke(-3.36%7C0.99%7C5%20-3.16%7C1%7C5)%0Astrecke(-3.16%7C1%7C5%20-2.96%7C1.01%7C5)%0Astrecke(-2.96%7C1.01%7C5%20-2.77%7C1.02%7C5)%0Astrecke(-2.77%7C1.02%7C5%20-2.57%7C1.02%7C5)%0Astrecke(-2.57%7C1.02%7C5%20-2.37%7C1.03%7C5)%0Astrecke(-2.37%7C1.03%7C5%20-2.17%7C1.04%7C5)%0Astrecke(-2.17%7C1.04%7C5%20-1.98%7C1.04%7C5)%0Astrecke(-1.98%7C1.04%7C5%20-1.78%7C1.05%7C5)%0Astrecke(-1.78%7C1.05%7C5%20-1.58%7C1.05%7C5)%0Astrecke(-1.58%7C1.05%7C5%20-1.38%7C1.06%7C5)%0Astrecke(-1.38%7C1.06%7C5%20-1.19%7C1.06%7C5)%0Astrecke(-1.19%7C1.06%7C5%20-0.99%7C1.07%7C5)%0Astrecke(-0.99%7C1.07%7C5%20-0.79%7C1.07%7C5)%0Astrecke(-0.79%7C1.07%7C5%20-0.59%7C1.07%7C5)%0Astrecke(-0.59%7C1.07%7C5%20-0.4%7C1.07%7C5)%0Astrecke(-0.4%7C1.07%7C5%20-0.2%7C1.07%7C5)%0Astrecke(-0.2%7C1.07%7C5%200%7C1.07%7C5)%0Astrecke(0%7C1.07%7C5%200.2%7C1.07%7C5)%0Astrecke(0.2%7C1.07%7C5%200.4%7C1.07%7C5)%0Astrecke(0.4%7C1.07%7C5%200.59%7C1.07%7C5)%0Astrecke(0.59%7C1.07%7C5%200.79%7C1.07%7C5)%0Astrecke(0.79%7C1.07%7C5%200.99%7C1.07%7C5)%0Astrecke(0.99%7C1.07%7C5%201.19%7C1.06%7C5)%0Astrecke(1.19%7C1.06%7C5%201.38%7C1.06%7C5)%0Astrecke(1.38%7C1.06%7C5%201.58%7C1.05%7C5)%0Astrecke(1.58%7C1.05%7C5%201.78%7C1.05%7C5)%0Astrecke(1.78%7C1.05%7C5%201.98%7C1.04%7C5)%0Astrecke(1.98%7C1.04%7C5%202.17%7C1.04%7C5)%0Astrecke(2.17%7C1.04%7C5%202.37%7C1.03%7C5)%0Astrecke(2.37%7C1.03%7C5%202.57%7C1.02%7C5)%0Astrecke(2.57%7C1.02%7C5%202.77%7C1.02%7C5)%0Astrecke(2.77%7C1.02%7C5%202.96%7C1.01%7C5)%0Astrecke(2.96%7C1.01%7C5%203.16%7C1%7C5)%0Astrecke(3.16%7C1%7C5%203.36%7C0.99%7C5)%0Astrecke(3.36%7C0.99%7C5%203.56%7C0.97%7C5)%0Astrecke(3.56%7C0.97%7C5%203.75%7C0.96%7C5)%0Astrecke(3.75%7C0.96%7C5%203.95%7C0.95%7C5)%0Astrecke(3.95%7C0.95%7C5%204.15%7C0.93%7C5)%0Astrecke(4.15%7C0.93%7C5%204.35%7C0.92%7C5)%0Astrecke(4.35%7C0.92%7C5%204.54%7C0.9%7C5)%0Astrecke(4.54%7C0.9%7C5%204.74%7C0.88%7C5)%0Astrecke(4.74%7C0.88%7C5%204.94%7C0.86%7C5)%0Astrecke(4.94%7C0.86%7C5%205.14%7C0.84%7C5)%0Astrecke(5.14%7C0.84%7C5%205.33%7C0.82%7C5)%0Astrecke(5.33%7C0.82%7C5%205.53%7C0.79%7C5)%0Astrecke(5.53%7C0.79%7C5%205.73%7C0.76%7C5)%0Astrecke(5.73%7C0.76%7C5%205.93%7C0.72%7C5)%0Astrecke(5.93%7C0.72%7C5%206.12%7C0.68%7C5)%0Astrecke(6.12%7C0.68%7C5%206.32%7C0.62%7C5)%0Astrecke(6.32%7C0.62%7C5%206.52%7C0.47%7C5)%0Astrecke(-6.52%7C0%7C5%20-6.52%7C0.47%7C5)%0Astrecke(-6.32%7C-0.29%7C5%20-6.32%7C0.62%7C5)%0Astrecke(-6.12%7C-0.41%7C5%20-6.12%7C0.68%7C5)%0Astrecke(-5.93%7C-0.5%7C5%20-5.93%7C0.72%7C5)%0Astrecke(-5.73%7C-0.57%7C5%20-5.73%7C0.76%7C5)%0Astrecke(-5.53%7C-0.64%7C5%20-5.53%7C0.79%7C5)%0Astrecke(-5.33%7C-0.69%7C5%20-5.33%7C0.82%7C5)%0Astrecke(-5.14%7C-0.74%7C5%20-5.14%7C0.84%7C5)%0Astrecke(-4.94%7C-0.78%7C5%20-4.94%7C0.86%7C5)%0Astrecke(-4.74%7C-0.82%7C5%20-4.74%7C0.88%7C5)%0Astrecke(-4.54%7C-0.86%7C5%20-4.54%7C0.9%7C5)%0Astrecke(-4.35%7C-0.9%7C5%20-4.35%7C0.92%7C5)%0Astrecke(-4.15%7C-0.93%7C5%20-4.15%7C0.93%7C5)%0Astrecke(-3.95%7C-0.96%7C5%20-3.95%7C0.95%7C5)%0Astrecke(-3.75%7C-0.98%7C5%20-3.75%7C0.96%7C5)%0Astrecke(-3.56%7C-1.01%7C5%20-3.56%7C0.97%7C5)%0Astrecke(-3.36%7C-1.03%7C5%20-3.36%7C0.99%7C5)%0Astrecke(-3.16%7C-1.05%7C5%20-3.16%7C1%7C5)%0Astrecke(-2.96%7C-1.07%7C5%20-2.96%7C1.01%7C5)%0Astrecke(-2.77%7C-1.09%7C5%20-2.77%7C1.02%7C5)%0Astrecke(-2.57%7C-1.1%7C5%20-2.57%7C1.02%7C5)%0Astrecke(-2.37%7C-1.12%7C5%20-2.37%7C1.03%7C5)%0Astrecke(-2.17%7C-1.13%7C5%20-2.17%7C1.04%7C5)%0Astrecke(-1.98%7C-1.14%7C5%20-1.98%7C1.04%7C5)%0Astrecke(-1.78%7C-1.16%7C5%20-1.78%7C1.05%7C5)%0Astrecke(-1.58%7C-1.17%7C5%20-1.58%7C1.05%7C5)%0Astrecke(-1.38%7C-1.17%7C5%20-1.38%7C1.06%7C5)%0Astrecke(-1.19%7C-1.18%7C5%20-1.19%7C1.06%7C5)%0Astrecke(-0.99%7C-1.19%7C5%20-0.99%7C1.07%7C5)%0Astrecke(-0.79%7C-1.19%7C5%20-0.79%7C1.07%7C5)%0Astrecke(-0.59%7C-1.2%7C5%20-0.59%7C1.07%7C5)%0Astrecke(-0.4%7C-1.2%7C5%20-0.4%7C1.07%7C5)%0Astrecke(-0.2%7C-1.2%7C5%20-0.2%7C1.07%7C5)%0Astrecke(0%7C-1.2%7C5%200%7C1.07%7C5)%0Astrecke(0.2%7C-1.2%7C5%200.2%7C1.07%7C5)%0Astrecke(0.4%7C-1.2%7C5%200.4%7C1.07%7C5)%0Astrecke(0.59%7C-1.2%7C5%200.59%7C1.07%7C5)%0Astrecke(0.79%7C-1.19%7C5%200.79%7C1.07%7C5)%0Astrecke(0.99%7C-1.19%7C5%200.99%7C1.07%7C5)%0Astrecke(1.19%7C-1.18%7C5%201.19%7C1.06%7C5)%0Astrecke(1.38%7C-1.17%7C5%201.38%7C1.06%7C5)%0Astrecke(1.58%7C-1.17%7C5%201.58%7C1.05%7C5)%0Astrecke(1.78%7C-1.16%7C5%201.78%7C1.05%7C5)%0Astrecke(1.98%7C-1.14%7C5%201.98%7C1.04%7C5)%0Astrecke(2.17%7C-1.13%7C5%202.17%7C1.04%7C5)%0Astrecke(2.37%7C-1.12%7C5%202.37%7C1.03%7C5)%0Astrecke(2.57%7C-1.1%7C5%202.57%7C1.02%7C5)%0Astrecke(2.77%7C-1.09%7C5%202.77%7C1.02%7C5)%0Astrecke(2.96%7C-1.07%7C5%202.96%7C1.01%7C5)%0Astrecke(3.16%7C-1.05%7C5%203.16%7C1%7C5)%0Astrecke(3.36%7C-1.03%7C5%203.36%7C0.99%7C5)%0Astrecke(3.56%7C-1.01%7C5%203.56%7C0.97%7C5)%0Astrecke(3.75%7C-0.98%7C5%203.75%7C0.96%7C5)%0Astrecke(3.95%7C-0.96%7C5%203.95%7C0.95%7C5)%0Astrecke(4.15%7C-0.93%7C5%204.15%7C0.93%7C5)%0Astrecke(4.35%7C-0.9%7C5%204.35%7C0.92%7C5)%0Astrecke(4.54%7C-0.86%7C5%204.54%7C0.9%7C5)%0Astrecke(4.74%7C-0.82%7C5%204.74%7C0.88%7C5)%0Astrecke(4.94%7C-0.78%7C5%204.94%7C0.86%7C5)%0Astrecke(5.14%7C-0.74%7C5%205.14%7C0.84%7C5)%0Astrecke(5.33%7C-0.69%7C5%205.33%7C0.82%7C5)%0Astrecke(5.53%7C-0.64%7C5%205.53%7C0.79%7C5)%0Astrecke(5.73%7C-0.57%7C5%205.73%7C0.76%7C5)%0Astrecke(5.93%7C-0.5%7C5%205.93%7C0.72%7C5)%0Astrecke(6.12%7C-0.41%7C5%206.12%7C0.68%7C5)%0Astrecke(6.32%7C-0.29%7C5%206.32%7C0.62%7C5)%0Astrecke(6.52%7C0%7C5%206.52%7C0.47%7C5)

oh, Link geht nicht ... hier ein Bild.2018-02-28 18_03_44-Geoknecht - Geometrische Körper in 3D erstellen _ Matheretter.jpg

Krass cool. Endlich mal jemand, der den Geoknecht etwas mehr ausreizt!

Der Link geht nicht, weil er 2124 Zeichen lang ist :) Das ist etwas zu viel.

Erinnert mich sogleich an die Idee des Linkbuchs vom Dez. 2017. Das wäre hier hilfreich.

Workaround: Du kannst den Code des Geoknechts in einem Kommentar posten, dann können wir uns den herauskopieren und deine Konstruktion selbst versuchen.

Hab heute zum erstmal mit dem GeoKnecht gearbeitet und muss sagen, ein geniales Tool um schnell mal was in 3D darzustellen. Und so simpel zu bedienen. Bin begeistert.

Ich werd in den nächsten Tagen mal ein komplexes Model mit allen Punkten erstellen und hoffe der Geoknecht kann die Fülle an Daten handeln. Den Code werd ich dann hier posten ... der Chat kann ja 12.000 Zeichen :)

Kann ich eigentlich den Maßstab irgendwie ändern? Bei meinen Modellen gebe ich alle Maße in mm an und so ein Schirm hat eine Spannweite von gut 12 Metern. Beim Geoknecht Model hab ich schon runter gebrochen und dann auf zwei Stellen nach dem Komma gerundet. Wieviele Dezimalstellen kann der Geoknecht?

2 Antworten

+1 Daumen

Ich hab Deine Konstruktion in den Grundzügen nach GeoGebra übertragen. Dort hätten wir ein CAS und Konstruktionsvorlagen. Karabiner sind das Deine FixL und FixR?

Und vielleicht kannst Du mal eine Deiner Konstruktionen einarbeiten - ich hab jedenfalls nicht verstanden, was genau Du berechnen willst....

Auch in gern in Prosa

https://www.geogebra.org/classic/3d

SchirmAufhängung.ggb (24 kb)

Avatar von 21 k

Habe die Datei online bei Geogebra hochgeladen, damit man sich das Kunstwerk gleich im Browser anschauen kann: https://ggbm.at/QPjBw8wF

Ok- danke, aber die Version 6 (online app) ist noch seeehr beta und die Worksheets noch mehr - besser eine lokale 5er (Java) Version verwenden...

Hallo Wächter,

Danke für Dein Interesse.

Hab noch nie mit GeoGebra gearbeitet ... CAS, Konstruktionsvorlagen ... hört sich spannend an. Ich seh schon ich bin hier richtig :)

Ja, FixL und FixR sollen die Karabiner darstellen (Left/Right).

Ich erkläre mein Vorhaben gern noch etwas Detaillierter:

Das Programm das ich schreibe dient dazu, die Trimmung eines Gleitschirms zu prüfen.

Das Flugfähige Profil des Schirms entsteht zum einen durch den Innendruck, der beim Flug in den Zellen des Schirms entsteht und in der Hauptsache über die Belastung der Leinen durch das Gewicht des Piloten der quasi wie ein Pendel darunter hängt. Die Krümmung des Profils über die Quer und Längsachse sowie der Anstellwinkel gegen die Flugrichtung ist im wesentlichen abhängig von der genau abgestimmten Länge der Leinen.

Die Hersteller veröffentlichen Leinen-Protokolle, in denen das Sollmaß jeder Leine angegeben ist. Die Leinen eines Gleitschirms werden je nach Ebene unterschiedlich stark belastet. Besonders bei extremen Flugmanövern wie einer Steilspirale wirken bis zu 4G auf den Piloten und dementsprechend werden auch die Leinen gestreckt. Hinzu kommen Umwelteinflüsse wie UV-Strahlen, der Wechsel von Feuchtigkeit zu Trockenheit und starke Temperaturschwankungen (30º am Boden, 0º in 3000m Höhe) die enormen Einfluß auf die Länge der Leinen haben. Die Leinen der ersten beiden Ebenen (A und B) tragen die meiste Last und strecken sich mit der Zeit, die hinteren Ebenen (C, D und die Bremsleinen) werden hauptsächlich durch Temperaturunterschiede und dem Wechsel zwischen Feuchtigkeit und Trockenheit beansprucht und verkürzen sich zum Teil sogar. Das hat zur Folge, dass der Schirm sich im Laufe der Zeit "vertrimmt" und somit Profil und Anstellwinkel nicht mehr den vom Konstrukteur berechneten Werten entsprechen. Ein vertrimmter Schirm hat nicht mehr die optimale Gleitleistung  (Gleitzahl = Wegstrecke bei 1m Höhenverlust, bei modernen Schirmen bis zu 12). Wichtiger ist jedoch der Sicherheitsaspekt: Durch ziehen der Bremsleinen steuert man den Schirm, bremst die Vorwärtsfahrt oder fängt Nickbewegungen ab. Mit zunehmendem Bremsweg nimmt auch die Kraft zu, gegen die man die Bremsleine nach unten zieht und jeder Pilot hat mit der Zeit ein Gefühl dafür (Muscel memory effect) bis wohin er die Bremse ziehen kann bis der Stallpunkt erreicht ist und die Strömung am Schirm abreißt. Ist der Schirm extrem vertrimmt und der Anstellwinkel ungünstig verändert, kann das zur Folge haben, dass der Stallpunkt wesentlich früher und bei geringerem Kraftaufwand als gewohnt erreicht wird.

Um die Trimmuni zu überprüfen nutzt man seit Jahren Handelsübliche Lasermessgeräte aus dem Baumarkt, die den Messwert sogar automatisch per Bluetooth in eine Exceltabelle auf dem Rechner schreiben. Hierzu wird der Tragegurt (Karabiner) an der Wand eingehängt, das Messgerät am entsprechenden Loop (Verknüpfungspunkt am Schirm) angehalten, der Laser auf die Messfläche am Tragegurt ausgerichtet und die Messung mit Knopfdruck ausgelöst. Die Messwerte werden dann unter Berücksichtigung einer Toleranz mit den Herstellerangaben verglichen und die Leinenlänge gegebenen Falls durch Ent- bzw. Einschlaufen am Leinenschloss korrigiert. Das funktioniert alles recht gut und wird seit Jahren so praktiziert. Das Trimmen eines Schirms braucht jedoch Erfahrung, Gefühl und eine gute Portion Vorstellungskraft da man ja nur Zahlen auf einem Excelsheet sieht. Nach jeder Trimmung werden die Leinen wieder vermessen. Man kommt schon mal durcheinander und es schleichen sich auch mal Denkfehler ein. Deshalb der Gedanke, die Trimmung des Schirms in einer 3D Grafik sichtbar zu machen. Mein Gedanke ist, ein Model mit den Soll-Werten darzustellen und eines mit den gemessenen Werten darüber zu legen, Fehler eventuell mit einem Faktor zu belegen um diese deutlicher sichtbar zu machen. Wettkampfpiloten trimmen ihren Schirm auch gern mal unabhängig der Herstellerangaben etwas schneller und eine grafische Darstellung in 3D macht dann recht deutlich sichtbar wo und wie weit man den Trimm verändert hat.

Dann steht Dein Modell für einen idealen Trim?

Der vermessene Trimm wären dann Messwerte, im wesentlichen Längenangaben, die von den Karabiner-Punkten entlang der Leinen-Linien angetragen werden sollen um dann einen Vergleich zur Herstellerprfil zu "sehen".

Ist das so richtig gedacht?

Prinzipiell ja, ... die ideal Werte wären gegeben.

Woran ich grüble ist eben die Methodik und die entsprechenden Formeln um vom flach ausgelegten Schirm mit X/Y Koordinaten aller Punkte ins 3Dimensionale mit X/Y/Z Koordinaten für jeden Loop am Schirm.

Ich hatte auch den Gedanken, dass die Leinen des Ideal-Models quasi den Vektor geben und die tatsächliche Länge der Leine dann irgendwo auf der Strecke dieses Vektors liegen sollte. Die Vertrimmung wird in der Regel wohl auch nicht so dramatisch sein, dass sich der Winkel großartig ändern würde oder die Lage der umliegenden Punkte durch eine verkürzte Leine dramatisch beeinflusst würden. Realistisch wäre es jedoch, diesen Faktor ebenfalls zu berücksichtigen. Mit anderen Worten: verkürzt sich eine Leine dann würde das auch die Lage der benachbarten Punkte beeinflussen ... oder begehe ich da einen Denkfehler?

Siehe Link:  https://www.matheretter.de/rechner/geozeichner?draw=punkt(1%7C3%20%22P1%22)%0Apunkt(4%7C4%20%22P2%22)%0Apunkt(7%7C4%20%22P3%22)%0Apunkt(10%7C3%20%22P4%22)%0Astrecke(1%7C3%204%7C4)%7BF00%7D%0Astrecke(4%7C4%207%7C4)%7BF00%7D%0Astrecke(7%7C4%2010%7C3)%7BF00%7D%0Astrecke(5.5%7C-8%201%7C3)%7B00F%7D%0Astrecke(5.5%7C-8%204%7C4)%7B00F%7D%0Astrecke(5.5%7C-8%207%7C4)%7B00F%7D%0Astrecke(5.5%7C-8%2010%7C3)%7B00F%7D%0Astrecke(1%7C3%201%7C7)%7B000%7D%0Astrecke(10%7C3%2010%7C7)%7B000%7D%0Astrecke(1%7C6%2010%7C6)%7B000%7D%0Atext(5.5%7C7%20%229%22)%0Apunkt(-2%7C3%20%22P4%22)%0Apunkt(-4%7C5%20%22P3%22)%0Apunkt(-7%7C5%20%22P2%22)%0Apunkt(-9%7C3%20%22P1%22)%0Astrecke(-2%7C3%20-4%7C5)%7BF00%7D%0Astrecke(-4%7C5%20-7%7C5)%7BF00%7D%0Astrecke(-7%7C5%20-9%7C3)%7BF00%7D%0Astrecke(-5.5%7C-8%20-2%7C3)%7B00F%7D%0Astrecke(-5.5%7C-8%20-4%7C5)%7B00F%7D%0Astrecke(-5.5%7C-8%20-7%7C5)%7B00F%7D%0Astrecke(-5.5%7C-8%20-9%7C3)%7B00F%7D%0Astrecke(-2%7C3%20-2%7C7)%7B000%7D%0Astrecke(-9%7C3%20-9%7C7)%7B000%7D%0Astrecke(-2%7C6%20-9%7C6)%7B000%7D%0Atext(-5.5%7C7%20%227%22)&scale=10

+1 Daumen

Hallo Isarwinkler,

mein Vorschlag zur Realisierung Deines Programms sieht wie folgt aus: Mache das ganze dynamisch.

Verpasse jedem Anknüpfpunkt einer Leine am Schirm eine hypothetische Masse \(m_i\). Jede Masse hat eine Positionen \(p_i\) und eine Geschwindigkeit \(v_i\). Nun führe für jede Masse eine Kraft ein, die sie vom Karabiner weg nach oben zieht. Dann rechnest Du für jeden Punkt die Entfernung zu den Nachbarn und zum Karabiner aus und errechnest daraus Federkräfte, die Du alle inklusive der ersten Kraft addierst und daraus die Beschleunigung für jeden Punkt berechnest. Also formal, da \(F= m \cdot a\), für jede Masse \(i\):

$$\vec{a_i} = \frac{1}{m_i}\sum_k \vec{F}_{ik}$$ Zusätzlich führe noch eine Dämpfung \(D\)  ein, die gegen die Geschwindigkeit wirkt. D.h. für einen Index \(k\) der Kräfte \(\vec{F}_{ik} = -D \cdot \vec{v}_i\). Damit wird das System stabil!

Du startest mit der Geschwindigkeit 0 und einer angenommen Position - etwa so wie schon gezeichnet - und lässt es dann 'fliegen'. D.h. Du wählst ein Zeitintervall \(\Delta t\) und rechnest aus, wie groß die Geschwindigkeit und die Position nach diesem Zeitintervall ist - heißt für alle \(i\):

$$p_i := p_i + v_i \cdot \Delta t $$ $$v_i := v_i + a_i \cdot \Delta t$$ und das wird immer wiederholt. Dieser Algorithmus wäre das einfache Eulerverfahren. Wenn Du die Möglichkeit hast, kannst Du auch einen nummerischen Integrator nutzen. In C++ z.B. kann ich Dir ODEINT empfehlen.

Auf Grund der Dämpfung kommt das System zur Ruhe und nimmt dann den Zustand niedrigster Energie ein - oder anders ausgedrückt: Der Schirm steht! Nummerisch kannst Du das das prüfen, indem Du die Summe der kinetischen Energien betrachtest. Da die Massen alle konstant bleiben, reicht es aus, die Quadratesumme der Geschwindigkeiten zu bestimmen. Fällt sie unter einen voreingestellten Wert, bist Du fertig und kannst die Positionen übernehmen.

Der Nachteil des Verfahrens ist, dass es sich um eine nummerische Lösung handelt, die auch nicht 'exakt' sein wird. Da Du es aber für eine Darstellung in einer GUI benötigst, sollte das gar keine Rolle spielen. Du wirst auch noch etwas mit den Größen Masse und Dämpfung und \(\Delta t\) herum spielen müssen, bis es 'rund' läuft. Für das \(\Delta t\) solltest Du einen Wert wählen, der kleiner ist als ca. \(\frac14 \sqrt{\frac{m_i}{K}}\); wenn \(K\) die größte Federkonstante in Deinem System ist.

Der Vorteil ist, dass es programmatisch relativ leicht zu realisieren ist. Weiter wäre es denkbar das ganze auch dynamisch darzustellen. Wenn Du es schaffst die 'Kräfte schräg nach oben' einigermaßen realistisch durch die aerodynamischen Kräfte zu ersetzen, dürfte das ganze auch im Verhalten ziemlich realistisch aussehen! Z.B. bei Einfall einer Bö oder beim Ziehen an einer der Steuerleinen.

Noch eine Bemerkung zum Federmodell. Die Leinen werden natürlich nie auf Druck belastet. D.h. wenn die Entfernung einer der Aufhängepunkte zu seinem Karabiner unter die Leinenlänge fällt , dann ist die Leinenkraft =0. Bei den Verbindungen innerhalb des Schirms, wirst Du aber eine negative Kraft einführen müssen. Sonst wird der Schirm schlecht 'stehen'. Es ist ja auch in der Realität so, dass der Schirm aufgeblasen wird, und er sich damit Kräften, die ihn zusammendrücken, widersetzt.

Ich habe i.A. leider sehr wenig Zeit, sonst hätte mich selbst schon dran gemacht ;-). Und werde mich voraussichtlich erst in der nächsten Woche noch mal melden.

Immer eine glückliche Landung wünscht Dir

Werner

Avatar von 48 k

Hallo Werner.

Danke für Dein Interesse und Deine Antwort!

Ich muss leider (zu meiner Schande) gestehen, dass einige Deiner Ausführungen meinen Horizont weit übersteigen und ich dem nur grob folgen kann.

Nur um sicher zu Gehen, dass wir nicht aneinander vorbei reden:

Es geht mir nicht um eine Flug-Simulation in der ich den Schirm tatsächlich unter berücksichtigung von physikalischen einflüssen bewegen will.

Ziel ist nur, den Schirm mit gespannten Leinen in einer 3D die ich mit der Maus drehen und kippen kann darzustellen. So wie das zB im Geoknecht ist. Ich nutze hierzu allerdings das Diagramobjekt in Excel und programmiere in VBA.

Man könnte sich auch einfach eine starre Draht- oder Gitterkonstruktion vorstellen, in der die Anknüpfpunkte feste Abstände zueinander haben und statt der "Leinen" eben feste Stangen, die den Abstand jedes Anknüpfpunktes am Drahtgitter zum Karabiner vorgeben.

Habe mir überlegt, dass man bei der Berechnung der x/y/z Koordinaten der Knotenpunkte in der Schirmfläche wie folgt vorgehen könnte:

Die Fläche zwischen je 4 Punkten stellt den Boden einer auf dem Kopf stehenden Pyramide dar. Der Karabiner die Spitze und die jeweilige Länge der Leine eine Eckflanke. Die Lage der Punte sollte so durch Dreiecksberechnung ermittelt werden können. (Leinenlänge =Flanke= Hypotenuse, Achse von Karabiner zu Mitte der Fläche zwischen 4 Punkten = Kathete).

Der Anknüpfpunkt (B1, erster Punkt in x Richtung auf Leinenebene B) ist der Punkt der das meiste Gewicht trägt und daher lotrecht auf der y Achse des karabiners steht. Dieser Punkt wäre der erste der berechnet werden müsste um von diesem dann alle anderen zu berechnen.

Komme leider erst Montag dazu mal ein detailliertes Model zu erstellen und hier hochzuladen.

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Mathelounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community