[Mathefrage] erste positive Nullstelle

Posted By: Scorpion

[Mathefrage] erste positive Nullstelle - 06/22/10 21:21

Hallo, alle Menschen, die sich mit dem Thema besser auskennen als ich grin

Ist es möglich eine Gleichung/Funktion zu erstellen, welche mir die erste (kleinste) positive Nullstelle einer Funktionn zurückgibt?

Nullstellen bestimmen kann ich und mit Hilfe von Code die passende Zahl rausfinden auch - nur rein mathematisch bekomme ich es nicht hin...

Mfg
Scorpion
Posted By: Superku

Re: [Mathefrage] erste positive Nullstelle - 06/22/10 21:22

Was hast du vor, welcher Typ Funktion (Polynom, Komposition,...), wie bestimmst du die Nullstellen?
Posted By: Scorpion

Re: [Mathefrage] erste positive Nullstelle - 06/22/10 21:37

Was ich vorhabe: Ich habe einen Strahl mit dem Startpunkt p und der Richtung n, an dem ich x Einheiten entlanggehe. Am resultierenden Punkt möchte ich dann Funktionswert einer Funktion f zurückgeben, die für jede Position im Raum einen Wert definiert.

Code:
l(x) = f(p + n*x)


hiervon will ich die erste Nullstelle...

Wozu? Quasi ein Raytracer, der ein Dichtefeld, was als Funktion beschrieben wird, als soliden Körper darstellt - Warum? Weil eine mathematische Lösung 100% genau ist und ich es nicht mit typischem Raystepping machen wollte laugh
Posted By: Superku

Re: [Mathefrage] erste positive Nullstelle - 06/22/10 21:44

Oha. Und wie ist folgendes zu deuten:
"Nullstellen bestimmen kann ich und mit Hilfe von Code die passende Zahl rausfinden auch" ?
Hast du zur Nullstellenbestimmung schon etwas?
Posted By: Joey

Re: [Mathefrage] erste positive Nullstelle - 06/22/10 22:00

mathematisch geht das nur, wenn du die gleichung f(x) = 0 überhaupt analytisch lösen kannst. das ist bei kaum einer funktion der fall (polynome vom grad <= 4, ein paar elementare funktionen). und selbst dann gibt es nur in spezialfällen lösungen, welche dir die kleinste nullstelle direkt liefert. es ist außerdem überhaupt nicht gesagt, dass eine funktion überhaupt eine kleinste nullstelle hat; zum beispiel kann sie keine haben oder sie ist auf (1,20] = 0 und sonst = 1 definiert.
numerische lösungsmöglichkeiten gibt es extrem viele.
wie sieht denn deine funktion aus?
Posted By: Scorpion

Re: [Mathefrage] erste positive Nullstelle - 06/22/10 22:07

kommt halt auf f() an^^ aber das ist ja bloß gleichsetzen mit 0.
btw: negative zahl im dichtefeld: massiv
positive zahl: leerer raum / luft

wenn
Code:
f(P)=Px*Py

(quadranten des koordinatensystems wären entweder komplett leer oder komplett gefüllt)

dann
Code:
f(P + N*x) = (Px+Nx*x)*(Py+Nx*x) = 0
= (Px + Nx*x)*Py + (Px + Nx*x)*(Nx*x)
= Px*Py + Py*Nx*x + Px*Nx*x + Nx²*x²
= Nx²*x² + Nx*(Py+Px)*x + Px*Py
//pq-Formel
x = -0.5*Nx*(Py+Px) +- sqrt(0.25*Nx²*(Py+Px)² - Px*Py)



Ist schon ziemlich kompliziert bei einer so einfachen Funktion^^°

@joey okay das ist natürlich schade^^ Ich hatte vermutet es gäbe vielleicht einen recht allgemeinen Lösungsweg - so ist man ja doch mehr beschränkt als es gut ist.
Posted By: Superku

Re: [Mathefrage] erste positive Nullstelle - 06/22/10 22:11

http://www.informatik.uni-kiel.de/~sb/data/Grundlagen.pdf

Kapitel 5.2 und 5.3 könnten dir von Nutzen sein!
Posted By: Scorpion

Re: [Mathefrage] erste positive Nullstelle - 06/22/10 22:20

@Superku Damit würde ich wieder die mathematische Exaktheit verlieren, indem ich solche Näherungsverfahren anwende, was ja quasi der Ausgangspunkt für meinen Gedanken war...

Dann kann ich auch direktt eine lineare (grobe position) gefolgt von einer binären suche (genauen punkt im letzten schritt finden) anstellen und kriege damit gute Ergebnisse. Ich denke so werde ichs dann auch anstellen, aber ist halt nicht das, was ich mir erhofft hatte^^
Posted By: Joey

Re: [Mathefrage] erste positive Nullstelle - 06/22/10 22:22

wie würdest du denn überhaupt z.B. einen Baum durch eine Funktion darstellen wollen? ^^ Die Leute tun sich ja schon schwer, Formeln für was so einfaches wie ne Herz-Form zu finden.
Posted By: Scorpion

Re: [Mathefrage] erste positive Nullstelle - 06/22/10 22:30

Soll was abstraktes werden laugh Vlt noch parameter dazu, dass es animiert wird, ne extra funktion für die farbe, vielleicht bischen shaderzeug, wie nen bischen licht, ao, indirekte beleuchtung, selbstleuchtende flächen oder wozu ich grad lust hab und noch hdr obendrauf. Vielleicht noch Partikel, dann gibts bestimmt nen schönen screensaver.
Posted By: Lukas

Re: [Mathefrage] erste positive Nullstelle - 06/23/10 11:44

Falls ich das Problem richtig vestanden habe: Kann man nicht einfach alle Nullstellen berechnen (oder per Newton-Verfahren, Intervallschachtelung, etc. annähern) und dann die kleinste positive nehmen? Für den Fall dass man annähern muss, muss man dann ja nur noch links von der ersten gefundenen positiven Nullstelle suchen.
Oder ist die Sache komplizierter?
Posted By: Perro

Re: [Mathefrage] erste positive Nullstelle - 06/23/10 16:11

das newtonverfahren findet nur eine nullstelle (abhängig vom gewählten anfangswert). meiner meinung nach ist die einfachste variante, vom startpunkt (auf der kameraebene) dem strahl entlang vorwärts zu "hüpfen", und wenn sich das vorzeichen ändert im entsprechenden intervall den genauen wert der nullstelle zu suchen (mit newtonverfahren oder so).
Posted By: Joey

Re: [Mathefrage] erste positive Nullstelle - 06/23/10 18:16

ich würde für sowas marching cubes nehmen. oder marching diamonds, wenn du keine urheberrechte verletzen willst. ich hab mal so ein teil geschrieben, funktioniert blendend und sieht gut aus.
Posted By: Scorpion

Re: [Mathefrage] erste positive Nullstelle - 06/23/10 21:41

naja ich werd ja nichts kommerzielles drauß machen und marching cubes wäre ja wieder ne andere richtung... und eigentlich ist es doch ziemlich unverschämt für dinge, die selbstverständlich sind und sich aus dem direkten kontext ergeben oder auf die man mit wenig nachdenken selbst kommt, patente gibt, die einem den gebrauch verbieten. einen schritt weiter und es wäre luft für die man zahlen muss =/
Posted By: Joey

Re: [Mathefrage] erste positive Nullstelle - 06/23/10 21:50

stört ja nicht. marching diamonds ist genauso gut. aber grundsätzlich gebe ich dir natürlich recht.
Posted By: ChrisB

Re: [Mathefrage] erste positive Nullstelle - 06/23/10 22:08

das patent auf marching cubes ist schon 2005 ausgelaufen, also kein grund mit tetraedern rumzueiern.
© 2024 lite-C Forums