inverses Kurvenintegral



  • pasti schrieb:

    Mathematikker schrieb:

    Wollen wir uns nicht darauf einigen, dass es hier ein praktisch zu lösendes Problem gibt und die Kategorientheorie hier fehl am Platz ist? 😃

    Pha... und du nennst dich Matimatiker. 🤡

    Das ursprüngliche Problem wurde von Jester schon etwa im 3. Post gelöst.

    Du hast recht, wir sollten einfach die Existenz einer Lösung zeigen, mehr braucht man ja nicht 🤡



  • Mathematikker schrieb:

    Du hast recht, wir sollten einfach die Existenz einer Lösung zeigen, mehr braucht man ja nicht 🤡

    Woot? Man kann die Parametrisierung immer expizit als Integral darstellen. In diesem Fall wird es wohl sogar noch ausreichen dieses dann numerisch zu Lösen.

    http://de.wikibooks.org/wiki/Diffgeo:_Kurventheorie:_Parameterisierung_nach_Bogenlänge


  • Gesperrt

    .filmor schrieb:

    Warum? Mit dem normalen Verfahren hast du doch mehr Punkte im Bereich starker Krümmung wenn ich mich nicht täusche, das erscheint mir schon recht praktisch für weitere Berechnungen. Berechnest du die Fläche die von der Kurve und ihrer parallelen Kurve umrandet wird? Das ließe sich doch sicher irgendwie abkürzen …

    Die Flächen berechne ich aus den parallelen Kurven. Eine der parallelen Kurven hat hat dann aber im Bereich starker Krümmung weniger Punkte als im Bereich schwacher Krümmung.
    Die Punkte der Bezier-Kurven berechne ich aus einem Polygon, ich weiss auch nicht wie ich das abkürzen soll.

    Kann man eine Funktion numerisch invertieren??

    Also irgendwie pack ich es nicht mit dem parametrisieren nach der Bogenlänge. Kann mir vielleicht jemand am Beispiel der Normalparabel y = x^2 erklären wie das geht??

    Integrieren tu ich sonst mit dem Wolfram-Integrator http://integrals.wolfram.com/index.jsp



  • Wie immer wenn's numerisch wird hilft wohl das Newtonverfahren.

    Du hast ja s(t) gegeben (in Integralform) und möchtest t sd. s(t) = n·∆s ist, also eine Nullstelle von f(t) = s(t) - n·∆s.
    Dann bekommst du das Verfahren tn+1 = tn - (s(tn) - n·∆s)/s'(tn).

    s'(t) kennst du (|B'(t)|), vielleicht kann man durch entsprechendes Einsetzen von s(t) da auch noch was vereinfachen, aber zur Not nimmst du da halt da auch schon nen Näherungswert, gibt ja genug gute Quadraturformeln.

    Die Funktion hat genau eine Nullstelle, weil s streng monoton steigt und bijektiv ist, ich bin da ganz zuversichtlich, dass das dann auch konvergiert 😉

    Damit bekommst du dein t und kannst entsprechend einsetzen.

    Aber geht das nicht auch noch irgendwie geschickter? Zum Beispiel indem du die Fläche von Dreiecken nimmst? Die passen auch viel besser in so ne Kurve rein …


  • Gesperrt

    Also wenn ich die Bezier-Kurve 3-Dimensional berechne, sind die Viereckigen Flächen gekrümmt, kann aber die ja interpolieren.

    Wenn ich das richtig verstehe, kann ich die Funktionsgleichnung y(x)=x mit dem Newtonverfahren nach x auflösen und so die Funktion invertieren?


  • Gesperrt

    Kenner des Problems schrieb:

    In der derivierten Kategorie von perversen C^2(R)-Modulgarben wird das Problem mit der Fouriertransformation trivial.

    Kann man eine Fouriertransformation trivial invertieren??? 😃



  • Ja, kann man (z.B. indem du noch dreimal fouriertransformierst) 😉

    Das Newtonverfahren berechnet dir erstmal nur eine Nullstelle einer Funktion (die natürlich noch ein paar Sachen erfüllen muss, aber die sind hier gegeben). Wenn du aber als die betrachtete Funktion f(x) - y nimmst, dann bekommst du natürlich für x = f^-1(y) eine Nullstelle, ist f invertierbar ist das sogar die einzige. Wenn das Verfahren also konvergiert, bekommst du auch das richtige Inverse.


  • Gesperrt

    Merci für den Tipp, es dauert vermutlich eine Weile bis ich das mit dem Newtonverfahren begreife.


  • Gesperrt

    Falls noch jemand Zeit hat.

    Das Kurvenintegral ist das Integral vom Betrag der Ableitung des Vektors in dem die Funktion steht (x(t), y(t) und z(t) sind die Kompenenten). Bei der natürlichen Parametrisierung (Oder Parametrisierung nach Bogenlänge) http://www.iadm.uni-stuttgart.de/LstAnaMPhy/Weidl/analysis/vorlesung-analysis/node236.html steht in der letzten Zeile dass die Ableitung von r dem Tangentenvektor http://de.wikipedia.org/wiki/Frenetsche_Formeln entspricht, wenn ich das richtig verstehe. Bloss ist der Tangentenvektor R^x und r sollte eigentlich R^1 sein, wie wird dann der Tangentenvektor zu einem Skalar? Sonst steht im zweitletzten Term, dass r S-1 entspricht, und das ist ja tatsächlich das inverse Kurvenintegral.

    Eigentlich soll das Programm aus einem von Zufallspunkten gesuchtem konkaven Polygon, entlang der Polygonlinien eine Fläche bilden, die Ecken sollen aber abgerundet sein. Ich habe es schon mit kubischen Splines versucht, hatte dann aber bei spitzen Winkeln schlaufen und entschied mich dann für Bézier. Vielleicht hat ja sonst noch jemand eine Idee wie man das tun könnte.

    Habe Link zu *.exe entfernt und Links zu Screenshots geändert



  • Ne .exe auf Megaupload? Sehr seriös 😉

    In der Formel steht 1/|φ'| * φ'. Du bekommst bei Ableitung nach der Bogenlänge einen normierten Tangentenvektor, nichts anderes sagt das (der Vektor φ'(t) geteilt durch seine Länge).
    Aber dass das ganze symbolisch ganz gut lösbar ist sollte ja eh klar sein, nur die numerische Lösung ist halt etwas trickier.

    Wenn du Schlaufen bekommen hast, warum speicherst du dann nicht die Schnittpunkte und rechnest damit an den „Ecken“ neu nach?


  • Gesperrt

    Also nehme ich den Schnittpunkt als neuen Kontrollpunkt. Gute Idee! Aber dann habe ich ja noch immer das Problem mit den nicht konstanten Abständen in den parallelen Linien.



  • Hast du's denn mal mit Newton probiert?


  • Gesperrt

    Noch nicht, ich muss das zuerst lernen. Gibt es ein Buch über das Newtonverfahren? Sonst versuch ich's halt mit Wikipedia.



  • Das sollte in jedem Numerik-Grundlagen-Buch drinstehen. Aber nur fürs Newton-Verfahren würde ich mir keins besorgen da das Prinzip simpel ist. Schau Dir erstmal die Erklärung auf Wikipedia und anderen Seiten an.


  • Gesperrt

    4 mögliche Umformungen, deren Nullstellen a\sqrt{a} ergeben.

    0=x2a0={x}^{2}-a

    0=ax20=a-{x}^{2}

    0=x2a10=\frac{{x}^{2}}{a}-1

    0=ax210=\frac{a}{{x}^{2}}-1

    //Nullstellen für a = 2

    Also es klappt für

    f(x)=bx2\mathrm{f}\left( x\right) =b\,{x}^{2}

    mit dem Newtonverfahren

    xn+1=xnasinh(2bx)+2bx4b2x2+14ab4b4b2x2+1{x}_{n+1}={x}_{n}-\frac{\mathrm{asinh}\left( 2\,b\,x\right) +2\,b\,x\,\sqrt{4\,{b}^{2}\,{x}^{2}+1}-4\,a\,b}{4\,b\,\sqrt{4\,{b}^{2}\,{x}^{2}+1}}

    einwandfrei bei unterschiedlicher Konvergenzgeschwindigkeit für unterschiedliche b, mit

    x0=xb{x}_{0}=\sqrt{\frac{x}{b}}

    als Startwert. -> https://i.ibb.co/8cn2gx8/Normalparametrisierte-Parabel.png


  • Gesperrt

    😕 Gibt es denn keine andere Möglichkeit als das Newtonverfahren um eine Funktion zu invertieren?? Zum Beispiel die Arc-Sin oder die Potenzfunktionen werden glaube ich ja auch nur numerisch invertiert und nicht analytisch?

    cp_test_ca13down_


Anmelden zum Antworten