Suche Complexe Zahl?


19.09.2020, 15:47

Also z1 ist die Folge. c ist die Magnitude von der Complexen Zahl. Denke ich mal


19.09.2020, 16:03

Ich wollte mich der gesuchten Zahl von Unten nach Oben nähern.

Am Ende wollte ich einen Wert haben, den ich am Ende nur noch pro Step um den Wert eines Pixels abziehen kann.

https://pastebin.com/r0E2JLyG


22.09.2020, 13:28

Destranix Lösungsweg funktioniert. Ich habe das ganze nun einmal durchgetestet. Und als Code und Ergebnis hier gepostet : PasteBin


22.09.2020, 13:29
 - (Mathematik, Algorithmus, komplexe zahlen)

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Wie willst du die zahlen denn annähern?

Sollte das nicht schlicht mittels einer mehrdimensionalen Gerade gehen?

Steigung = Ziel-Start;

f(x) = Start + x * Steigung; x dabei aus den reellen Zahlen.

Könnte ich versuchen, ich versuche mal deine Formel da zu interpretieren:

neueXPos = xmin + aktuelleXpos * (xminGesucht/xminAktuell) ?

0
@VoltarenGel

Deine Interpretation meiner Formel verwundet mich etwas.

Wie kommst du hier zu einer rekursiven Definition?

Und was soll xmingesucht und xminAktuell sein?

0
@Destranix

Rekursiv weil ich eine Automatische Zoomfunktion erstellen will. Sprich ich will mich langsam dem Wert nähern. Pro Frame wo ich erstelle, soll der Wert des aktuellen XStep für einen Pixel von den Komplexen Zahlen abgezogen werden.

0
@VoltarenGel

Verstehe. Dann willst du eine rekursive Definition einer Reihe, die einen bestimmten Startwert hat und (gleichmäßig) gegen einen Zielwert konvergiert.

Soetwas wie:

x1 = x0 + (Ziel-x0) * Schrittfaktor;

0
@Destranix

Exakt, nur diesen Schrittfaktor kann ich nicht bestimmen. Wenn ich oben bei -2,-3 beginne und ein Pixel als xStep ausrechne = 0.05 und dann bei -2 abziehe, verändert sich das Bild wenig. Wenn ich jedoch in dem unteren Bereich so viel abziehe, dann fliegen die Fetzen.

Deswegen wollte ich das von der unteren gesuchten Ebne auf die erste Ebne umrechnen.

Mein Beispiel oben, stimmt nicht ganz(Pastebin) ich ändere dass jetzt. Ich füge vier Listen ein, die den jeweiligen Schrittfaktor der unteren Ebne angeben. Diese drehe ich dann einfach um, dann habe ich den Schrittfaktor der ersten Ebne.

Wenn das auch nicht funktioniert. Teste ich mal das mit der lineare Interpolation. Was von der Perfomanz warscheinlich besser wäre, als 4 listen mit ca 63k Double Werten zu erhalten.

0
@VoltarenGel

Die Konvergenz in meinem Beispiel ist nicht gleichmäßig.

Gleichmäßigere Konvergenz ließe sich aber leicht bewerkstelligen. Man müsste lediglich dafür sorgen, dass sich der Schrittfaktor jeweils so verändert, dass er gegen 1 konvergiert:

x1 = x0 + (Ziel-x0) * x0/Ziel * (Ziel/Start * Schrittfaktor) = x0 + (Ziel-x0) * x0/Start * Schrittfaktor;

0
@Destranix

Danke das sieht gut aus. Ich probiere jetzt mal schnell mein neues Beispiel. Und wenn das funktioniert, teste ich das Tempo gegen dein Beispiel. Und schaue vor allem ob der Film der erstellt wird sanft zoomt.

pastebin.com/zjKB29gd <- So habe ich den jetzt verändert

1
@Destranix

Danke, dein Beispiel habe ich verwenden können. Die errechnete Zahl die ich nach fast 60.000 vergrößerungen treffen (würde) ist sehr na an der gesuchten.

1

Erstmal muss man wissen, was du mit "annähern" meinst. Wann ist deiner Definition nach eine komplexe Zahl nah an einer anderen komplexen Zahl dran? Wenn du meinst, dass sich Real- und Imaginärteil nicht stark unterscheiden, kann man einfach interpolieren: c1 = a1 + ib1, c2 = a2 + ib2, c = c1 + (c2 - c1) * Alpha, Alpha aus [0, 1] (lineare Interpolation).

Wenn die Werte unter einer von mir festgelegten Präzision liegt. Da die werte meist schon nur noch mit Exponenten dargestellt werden können.

Ich möchte Quasi wissen, wenn ComplexeZahl1(-5,5) und ComplexeZahl2(-2,3) sind, wie ich Schritt für Schritt an die Zahl3(-0.0002342342,-0000353) und Zahl4(.....) rankomme

Da daraus Bilder entstehen, kann ich nicht einfach beliebig runterspringen. Ich möchte Pixel für Pixel runterzoomen. Ein Pixel entspricht dem Absoluten Wert von der Zahl z.B. -5 bis 5 = 10 / Bildbreite.

0
@VoltarenGel

Dann kannst du unendlich viele verschiedene Wege nehmen, um an Zahl3 und Zahl4 heranzukommen. Der einfachste ist wie gesagt lineare Interpolation (s.o.).

0

Was möchtest Du wissen?