ich versuche momentan mit GLSL Fraktale zu zeichnen, konkret: Mandelbrotmenge. Da ich nicht nur ^2 haben will, muss ich zwischen kartesischen und polarkoordinaten hin und her rechnen. mit
funktioniert es einwandfrei, solange ich nur gerade, natürliche Exponenten benutze, sonst sieht es, wie zu erwarten, komisch aus, da atan nur das Intervall [-π/2, π/2] zurückgibt, was nunmal für ungerade oder nicht natürliche Exponenten doch einen gewaltigen Unterschied macht.
Dieses Problem wollte ich nun umgehen, indem ich atan(x.y, x.x) benutze, das laut specs einen Wert im Intervall [-π, π] zurückgiebt. Nur wird es nun in der Nähe von π aus irgendeinem Grund ziemlich chaotisch.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Wie sehen denn die Werte so aus, die du in den atan2 reinkippst? Ich stelle mir vor, dass die an der Genauigkeitsgrenze deines Datentyps sind (float, double?).
grüße
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
float (atan gibt’s nicht für double), aber von der Genauigkeitsgrenze bin ich noch weit entfernt. Außerdem würde das anders aussehen (eher pixelig als chaotisch; die Antenne kann dadurch zwar dicker werden (sie wird), aber nicht zweigeteilt). Und wie gesagt wäre es mit dem anderen atan dann genauso (bzw ähnlich).
Der Fehler ist tatsächlich bereits sichtbar, wenn ich nicht reinzoome, damit’s sofort auffallt, hab ich ein bisschen reingezoomt.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Ich hab leider keine so rechte ahnung, wovon du sprichst, wenn du Antenne sagst. Kannst du ein Vergleichsbild zeigen?
grüße
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Mitglieder in diesem Forum: 0 Mitglieder und 10 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.