Wie lässt sich eine negative Zahl aus einer Wurzel ziehen?

... komplette Frage anzeigen

5 Antworten

Nicht "...Zahl aus Wurzel...", sondern "Wurzel aus Zahl"!

Es gibt viele Algorithmen, die als Zwischenergebnisse komplexe Zahlen haben, aber als Endergebnis wieder reelle Zahlen überbleiben (weil sich z.B. was kürzt oder durch Quadrieren ).

Wie Du schon richtig erkannt hast, muss das End-Ergebnis reell sein, da ja Pixel (Farben, usw.) herauskommen (und nichts imaginäres).

Wir brauchen also den kompletten Algorithmus -> um ihn optimieren zu können!

Die Formel sieht mir nach  https://de.wikipedia.org/wiki/Euklidischer_Abstand

aus... oder:

https://en.wikipedia.org/wiki/Quaternions_and_spatial_rotation

nutzt Du vermutlich

a=2*acos(w) mit w=sqrt(1-x²-y²-z²)

es geht einfacher:

a=2*asin( sqrt(x²+y²+z²)) oder Gleichsetzung:

acos(w) = asin( sqrt(x²+y²+z²))

w = cos[ asin( sqrt(x²+y²+z²)) ]

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Eti2d
27.03.2016, 16:14

Ich benutze die letzte Formel ( w = cos[ asin( sqrt(x²+y²+z²)) ] ), nur etwas einfacher dargestellt, wie oben bereits gezeigt:

w = sqrt(1-x²-y²-z²)
0
Kommentar von Eti2d
27.03.2016, 16:23

Hier wäre mal ein Beispiel, indem die Formel "funktioniert":

x = -0.971

y = 0.101

z = 0.003

w = sqrt((-0.971)²-0.101²-0.003²)

w ≈ 0.217

0

Die Wurzel einer negativen (reellen) Zahl hat niemals eine reelle sondern immer zwei rein imaginäre Lösungen.

Um das i wirst du also nicht herum kommen.
Du kannst es höchstens anders schreiben, beispielsweise
√-0.051899 = i * √0.051899 = √0.051899 * e^(i*pi/2)

Antwort bewerten Vielen Dank für Deine Bewertung
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Eti2d
26.03.2016, 16:07

Soweit bin ich auch schon gekommen, allerdings konnte ich somit leider nicht mein Problem lösen. Die Lösung scheint immer das Zeichen " i " (imaginäre Zahl) bzw. √-1 zu enthalten. Doch kann man das Ergebnis wieder in eine reelle Zahl "umwandeln"?

0

Das geht wie folgt:

=-1*0,051899

-1=i

-0,051899=i*0,051899

0,051899=0,22782

-0,051899=i*0,22782

-0,051899=0,22782i

Habe selber jedoch noch nicht die komplexen Zahlen gelernt, nach kurzer Recherche scheint dies aber so zu funktionieren.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Eti2d
26.03.2016, 15:54

Da ich allerdings reine Zahlen benötige, kann das " i " nicht bleiben. Lässt sich dieses Zeichen irgendwie in eine reine Zahl umwandeln?

0
Kommentar von TSoOrichalcos
26.03.2016, 20:29

Du kannst ja auch keine rationale Zahl in eine natürliche Zahl umwandeln.

0

Was möchtest Du wissen?