Seite 1 von 1

Potenz-Formel auflösen

Verfasst: 19.07.2012, 15:59
von Schrompf
Hallo,

tut mir leid, aber ich bin erneut auf eure Zeit und Fähigkeiten angewiesen. Es geht um das Auflösen einer Potenzformel, um einen Schnittpunkt Strahl mit geometrischem Körper zu berechnen.

Ausgehend von der Kugel (Radius r, Zentrum im Nullpunkt)

r^2 = (x0 + t*xv)^2 + (y0 + t*yv)^2 + (z0 + t*zv)^2

mit dem Strahl-Startpunkt (x0, y0, z0) und der Strahlrichtung (xv, yv, zv) entlang der Variable t. Das nach t aufgelöst ergibt den Schnittpunkt mit einer Kugel. Prima. Bekomme ich selbst noch hin. Und jetzt kommt der Ärger. Ich möchte nämlich keine Kugel, sondern eine geometrische Form, die ich mehr in Richtung Würfel formen kann. Dafür könnte ich einfach den Exponenten erhöhen - ein ^5 anstatt dem schlichten Quadrieren ergibt bereits eine sehr schöne Form. Und nach meinem Verständnis müssten, abs() vorausgesetzt, auch alle entstehenden Formen konvex sein und immer exakt 2 Schnittpunkte haben. Aber ich schaffe es nicht, die Formel für beliebige Exponenten außer 2 und 1 aufzulösen.

Meine Frage also an Euch: wie löse ich folgende Formel für beliebige Exponenten e > 0 nach t auf?

r^e = |x0 + t*xv|^e + |y0 + t*yv|^e + |z0 + t*zv|^e

Die Online-Formelrechner, die ich finden konnte, kapitulieren leider alle vor dieser Formel, aber mit Funktionsplottern habe ich zumindest den 2D-Fall bereits durchgeprobt. Es müsste eine Lösung dafür geben.

Re: Potenz-Formel auflösen

Verfasst: 19.07.2012, 16:20
von eXile
Ab \($e \geq 5$\) ist das ein Polynom mind. 5. Grades, d.h. es gibt keine geschlossene Lösung mehr. Du könntest allerdings einen numerischen Nullstellenfinder benutzen.

Re: Potenz-Formel auflösen

Verfasst: 19.07.2012, 16:23
von Matthias Gubisch
Also Wolframalpha findet mehrere Lösungen:

http://www.wolframalpha.com/input/?i=solve[r^5+%3D+%28t*x%29^5%2B+%28t*y%29^5%2B%28t*z%29^5%2Ct]

http://www.wolframalpha.com/input/?i=r^ ... 28t*z%29^5

Bei deiner "Kugel" müsstest du 0-2 unterschiedliche Lösungen erhalten für die Wurzeln, wenn ich mich nicht täusche.
Kannst ja mal eine von Hand mit dem Taschenrechner durchspielen ob das passt.

Re: Potenz-Formel auflösen

Verfasst: 19.07.2012, 16:26
von Matthias Gubisch
eXile hat geschrieben:Ab \($e \geq 5$\) ist das ein Polynom mind. 5. Grades, d.h. es gibt keine geschlossene Lösung mehr. Du könntest allerdings einen numerischen Nullstellenfinder benutzen.

Im allgemeinen Fall nicht, in diesem speziellen Fall sollte es aber doch Möglich sein oder?

Re: Potenz-Formel auflösen

Verfasst: 19.07.2012, 16:37
von eXile
Matthias Gubisch hat geschrieben:Im allgemeinen Fall nicht, in diesem speziellen Fall sollte es aber doch Möglich sein oder?
Mathematica hat geschrieben:Assuming[e \[Element] Integers,
Solve[r^e == (x0 + t*xv)^e + (y0 + t*yv)^e + (z0 + t*zv)^e, t]]


Solve::tdep: The equations appear to involve the variables to be \
solved for in an essentially non-algebraic way. >>

Re: Potenz-Formel auflösen

Verfasst: 19.07.2012, 16:40
von Schrompf
Die Reste meines Studienwissens meinen auch, dass das im Allgemeinen bald nicht mehr lösbar ist. Aber ich hatte gehofft, es gäbe wegen der speziellen Eigenschaften der resultierenden Körper in diesem Spezialfall schon einen Lösungsweg. Zumal ja auch reelle Exponenten denkbar wären - die resultierenden Körper nähern sich mit steigendem Exponent stetig der Würfelform an.

Wenn das alles nix wird, ist eine iterative Lösung eine gute Idee. Das Ganze soll nachher eh im Fragment Shader passieren, heute GPUs sollten auch mit 10 bis 15 Iterationen davon keinen Stress haben.