Logo by Cyclops - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Visit the official fractalforums.com Youtube Channel
 
*
Welcome, Guest. Please login or register. April 20, 2024, 10:10:10 AM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: [1]   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: What happened here ?  (Read 503 times)
Description: Weird pixels in julia
0 Members and 1 Guest are viewing this topic.
Imagyx
Navigator
*****
Posts: 72


Finally 3D and more... Thank you !! ;-)


« on: January 19, 2017, 06:42:08 PM »

Rendering a (standard) mandelbrot  z³+c at

x=-0.21503933310043449486596189329777
y=-0.85808989184676964080155071478152
zoomX=5.8355677314933246347596131660324E-32
zoomY=3.8518598887744717061119558851698E-32

where I hit the DoubleDouble limit, I calculated the julia for a point somewhere in the middle.
What I got, when zooming into (from right to left in the attached image) the julia was weird. There are "pixels" at resolution 10e-4 which don't look normal.
See for yourself.
What is that ?


* IMG_1 - Kopie.jpg (233.1 KB, 3000x300 - viewed 69 times.)
Logged

During difficult times, keep steady and play the match.
SamTiba
Safarist
******
Posts: 83


« Reply #1 on: January 19, 2017, 07:56:15 PM »

i guess you reached the limit
around e-16 is the limit for normal doubles, multiply that by 2 and you have the limits four doubledoubles
Logged

Some of my images: Pinterest
TheRedshiftRider
Fractalist Chemist
Global Moderator
Fractal Iambus
******
Posts: 854



WWW
« Reply #2 on: January 19, 2017, 08:32:57 PM »

That seems to be an issue with the rendering limit.
What software are you using? Have you tried different applications for the same location? Or considered using other rendering methods like perturbation?
Logged

Motivation is like a salt, once it has been dissolved it can react with things it comes into contact with to form something interesting. nerd
Imagyx
Navigator
*****
Posts: 72


Finally 3D and more... Thank you !! ;-)


« Reply #3 on: January 19, 2017, 08:52:33 PM »

That can't be the case here.
The limit should be around e-16 as mentioned and is in fact for this application that I wrote myself in Java.
The series attached to my post goes only as far as 10-4.
And if you look at the first (deepest image) in the series, the "pixels" are not rectangles.
And I'm not doing anything like a rotation for example, it's only plain 2d.

For going deeper I already wrote a perturbation series program as well, but that's not needed here, because I'm not zooming that deep
and a certain Java implementation allows me to use DoubleDoubles extending to e-32, which is enought for my purpose.
Logged

During difficult times, keep steady and play the match.
claude
Fractal Bachius
*
Posts: 563



WWW
« Reply #4 on: January 19, 2017, 11:25:14 PM »

I think you need more precision. There is a near-periodic orbit such that the z value gets pushed away slowly from 0 each period, but the other values in the orbit are large (because |c| is large), and adding small values to large values loses information.  z^3 means that 1e-10 becomes 1e-30, close to the limit of double-double (and 1e-4 becomes 1e-12, closer to the limit of double).  I attach a couple of images calculated with different precision, notice the shapes are different, as well as the pixelation in the center.  Here is the code:

Code:
#include <complex>
#include <cstdio>
#include <qd/qd_real.h>

typedef qd_real R;
typedef std::complex<R> C;

int main()
{
  C c(R("-0.21503933310043449486596189329777"), R("-0.85808989184676964080155071478152"));
  R r("1e-10");
  int s = 1024;
  unsigned char pgm[s * s];
  #pragma omp parallel for
  for (int j = 0; j < s; ++j)
    for (int i = 0; i < s; ++i)
    {
      C z(r * ((i - s/2) + 0.5) / (s/2), r * ((j - s/2) + 0.5) / (s/2));
      pgm[j * s + i] = 0;
      for (int k = 0; k < 65536; ++k)
      {
        z = z * z * z + c;
        if (std::norm(z) > 16)
        {
          pgm[j * s + i] = k;
          break;
        }
      }
    }
  std::printf("P5\n%d %d\n255\n", s, s);
  std::fwrite(pgm, s * s, 1, stdout);
  return 0;
}


* double-double.jpg (73 KB, 512x512 - viewed 53 times.)

* quad-double.jpg (72.43 KB, 512x512 - viewed 48 times.)
Logged
Imagyx
Navigator
*****
Posts: 72


Finally 3D and more... Thank you !! ;-)


« Reply #5 on: January 20, 2017, 05:20:59 AM »

Thanks Claude.
This makes a lot of sense to me. I didn't think about how the exponent changes precision need as well.
I'll look at some higher exponents to see if it gets worse earlier in the zoom and recalculate my last image with arbitrary precision.
Good to be reminded of some numerics basics  embarrass
Logged

During difficult times, keep steady and play the match.
Pages: [1]   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
What happened to my latest upload? Discuss Fractal Forums Cyclops 10 3248 Last post November 05, 2010, 04:05:23 PM
by Cyclops
What happened to humanity? Mandelbulb3D Gallery popol4444 0 1404 Last post February 17, 2011, 01:41:06 AM
by popol4444
It happened Still Frame arteandreas 0 1174 Last post May 24, 2013, 07:33:44 PM
by arteandreas
Anyone Know What Happened To Chaoscope? Chaoscope « 1 2 » Sockratease 17 8591 Last post September 20, 2013, 01:42:02 AM
by mclarekin
Whatever happened to user weavers Discuss Fractal Forums simon.snake 4 4070 Last post April 29, 2016, 02:37:16 PM
by 3dickulus

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 0.156 seconds with 24 queries. (Pretty URLs adds 0.01s, 2q)