Wind interpolieren



  • SeppJ schrieb:

    Werner Salomon schrieb:

    welchen Ansatz Du auch immer wählst, wenn das Flugzeugzeug sich genau auf einer Linie zwischen zwei Stationen befindet, so sollte der berechnete Wind an diesem Ort nur von dem Wind dieser beiden Stationen abhängen und nicht auch noch von einer dritten Station, die evt. auch weiter entfernt ist.

    Warum? Das kommt mir nicht sehr realistisch vor.

    stimmt, das war unklar ausgedrückt. Ich meinte es macht keinen Sinn, wenn der Wind zwischen zwei Stationen am Rand des Vierecks sich nicht linear ändert - vorausgesetzt es handelt sich um ein übliches Viereck, dessen Kanten und Winkel eine ähnliche Größenordnung haben. Linear deshalb, da dann keinerlei andere Information vorliegt, wie der Verlauf des Windes ansonsten sein sollte.

    Zu der Methode mit den Abständen stelle man sich z.B. drei Stationen vor, die auf den Eckpunkten eines rechtwinkligen Dreiecks liegen. Das Flugzeug befinde sich im Mittelpunkt der Hypotenuse. Dann hat es zu allen drei Station die identische Entfernung. Nach der Distanzmethode wäre jede mit einem Drittel zu gewichten.
    Wenn man jetzt die kleinere der beiden Katheten immer kleiner werden lässt, also eine Station auf einer Kreisbahn verschiebt, so kommt sie in die unmittelbare Nähe einer zweiten Station, und wird dort auch irgendwann den gleichen Wind wie diese messen. Nach der Distanzmethode zählt aber die Messung jeder Station, das heißt die verbleibende Station zu 1/3 und die beiden nebeneinander liegenden Stationen gemeinsam zu 2/3. Das macht aber keinen Sinn. Die Distanzmethode berücksichtigt die Lage der Stationen zueinander nicht.

    Gruß
    Werner



  • Werner Salomon schrieb:

    Falls Du nicht weißt, wie man aus Glg.1 u und v bestimmt, so frage nochmal nach.

    Ich muss nochmal nachfragen 🙂
    Ich bin nicht der große Mathematiker 🙂

    Danke



  • Hallo Silvio,

    ausgehend von dieser Gleichung

    p(u,v)=p1+au+bv+(eab)uvp(u,v)=p_1+au+bv+(e-a-b)uv

    setze ich noch

    p(u,v)=p$$ die Position des Flugzeugs bzw.:$$f=p-p_1

    und

    c=eabc=e-a-b

    also erhält man

    f=au+bv+cuvf=au+bv+cuv

    da alle Vektoren zwei Koordinaten haben (z.B. x und y), stehen hier zwei Gleichungen mit den zwei Unbekannten u und v. Ich löse die Gleichung für x nach v auf

    f_x=a_xu+v(b_x+c_xu)f\_x=a\_xu+v(b\_x+c\_xu)

    v=\frac{f\_x-a\_x u}{b\_x+c\_x u}$$ (Glg.2) das gleiche für y und mit anschließendem Gleichsetzen erhält man dann $$ \frac{f\_x - a\_x u}{b\_x + c\_x u}=\frac{f\_y - a\_y u}{b\_y + c\_y u}

    bzw.

    0=b_xf_yb_yf_x+u(c_xf_yc_yf_x+a_xb_ya_yb_x)+u2(a_xc_ya_yc_x)0= b\_x f\_y - b\_y f\_x + u(c\_x f\_y - c\_y f\_x + a\_x b\_y - a\_y b\_x) + u^2(a\_x c\_y - a\_y c\_x)

    Der Einfachheit halber schreibe ich einen Ausdruck wie $$b_xf_y-b_yf_x$$ zu $$b\times f$$ (siehe auch Kreuzprodukt). Somit wird daraus

    0=b×f+u(c×f+a×b)+u2(a×c)0= b\times f + u(c\times f + a\times b) + u^2(a\times c)

    Das ist eine quadratische Gleichung, die Dir i.A. zwei Lösungen liefert. Die gewünschte Lösung für u liegt im Intervall [0,1], vorausgesetzt das Flugzeug befindet sich innerhalb des Vierecks. Die Lösung für v lässt sich anschließend aus Glg.2 bestimmen.

    Ist das Viereck ein Parallelogramm, so wird der Vektor c zum 0-Vektor. Dann würde sich die Gleichung vereinfachen zu

    c=0 \Rightarrow 0= b\times f + u(a\times b)$$ also $$u= \frac{-b\times f}{a\times b}

    Noch ein Hinweis: wenn Du diese Vektorklasse auf 2D reduzierst und das Kreuzprodukt (operator% nur Z-Koordinate) entsprechend anpasst, gewinnst Du in Deinem Code einiges an Übersicht.

    Gruß
    Werner



  • Ganz einfach...Windschutzscheibe des Flugzeugs polieren, dadurch wird der Wind interpoliert...



  • Herzlichen Dank
    Jetzt habe ich erst mal zu tun. 🙂



  • Hallo

    So wirklich komme ich mit dieser Funktion noch nicht klar.
    Könntest du mir das nochmal genau erklären bzw. die Funktion so für mich umstellen das ich als Ergebnis den Windvector am Flugzeug habe.
    Herzlichen Dank.



  • Werner Salomon schrieb:

    Ich meinte es macht keinen Sinn, wenn der Wind zwischen zwei Stationen am Rand des Vierecks sich nicht linear ändert - vorausgesetzt es handelt sich um ein übliches Viereck, dessen Kanten und Winkel eine ähnliche Größenordnung haben. Linear deshalb, da dann keinerlei andere Information vorliegt, wie der Verlauf des Windes ansonsten sein sollte.

    Ah stimmt. Lineare Interpolation tut das, was richtig ist, aber das mit den Gewichten nach der Distanz war murks.

    Was man tun sollte, wäre: Man nehme die drei nächsten Punkte (mal den Spezialfall ausgenommen, dass man sich genau zwischen 2 nächsten Punkten befindet). Nennen wir sie a, b und c.

    a
    | \
    |  \
    | f \
    b -- c
    

    Dann kann ich mein Problem normieren. Also lege ich b = (0,0) in den Ursprung und c = (1,0) und a = (0,1) fest. Das Flugzeug wird ebenfalls mit transformiert.

    Sei f = (f_x, f_y) die transformierte Flugzeugkoordinate. Dann müsste eigentlich

    w(f) = f_x * w(c) + f_y * w(a) + (1-f_x-f_y) * w(b)
    

    Sinn machen.

    Bildlich: Die Windgeschwindigkeit ist quasie die Höhe (in die 3. Raum koordinate, also aus dem Bildschirm hinaus). Und durch diese Lege ich eine Ebene. Und die Interpolierte Windgeschwindigkeit ist die Höhe dieser Ebene an der entsprechenden stelle.

    Das war das, was ich eigentlich meinte. Das bezieht dann auch die Position der Stationen zueinander mit ein.

    Übrigens. Noch ein Stichwort bezüglich nächster Nachbarn:

    Google: Voronoi Diagramm



  • Die Frage ist ja eigentlich, ob das überhaupt Sinn macht Wind zu interpolieren...

    (Extrem-)Beispiel:

    Die Station im Westen meldet Wind aus Osten kommend.
    Die Station im Osten meldet Wind aus Westen kommend.

    Interpolier das mal und in der Mitte ist kein Wind... 😃



  • It0101 schrieb:

    Die Frage ist ja eigentlich, ob das überhaupt Sinn macht Wind zu interpolieren...

    (Extrem-)Beispiel:

    Die Station im Westen meldet Wind aus Osten kommend.
    Die Station im Osten meldet Wind aus Westen kommend.

    Interpolier das mal und in der Mitte ist kein Wind... 😃

    Wir betrachten nur den waagerechten Wind-Anteil. Und da isses richtig. In der Mitte haben wir nur Fallwind.



  • @It0101: Das ist wie mit allen Simulationen/Approximationen. Wählst du die Diskretisierung zu grob, ist kein vernünftiges Ergebnis zu erwarten.

    Ist sie fein genug ist das Ergebnis, dass in der Mitte "kein" Wind weht, dann auch richtig.


Anmelden zum Antworten