File:Zoom around principal Misiurewicz point for periods from 2 to 1024.gif

Zoom_around_principal_Misiurewicz_point_for_periods_from_2_to_1024.gif(600 × 300 pixels, file size: 1.92 MB, MIME type: image/gif, looped, 24 frames, 12 s)

Summary

Description
English: Zoom around principal Misiurewicz point for periods from 2 to 1024. Last image is dense.
Date
Source own work with help and program by Claude Heiland-Allen
Author Adam majewski

Licensing

I, the copyright holder of this work, hereby publish it under the following license:
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.

c src code

Program is from mandelbrot-numerics library by Claude Heiland-Allen. I have made only slight changes.

/*
Program is based on m-render.c from mandelbrot-graphics.
from library 
mandelbrot-graphics - CPU-based visualisation of the Mandelbrot set
http://code.mathr.co.uk/mandelbrot-graphics.git

 by Claude Heiland-Allen
http://mathr.co.uk/blog/

It draws series of png images
-------------------------------------------------
to compile from program directory :

  make  prefix=${HOME}/opt install
to run :

dense-misiurewicz

*/
#include <complex.h>
#include <math.h>
#include <stdio.h>
#include <gmp.h>
#include <mandelbrot-symbolics.h>
#include <mandelbrot-numerics.h>
#include <mandelbrot-graphics.h>

int main(void)
{
  
  const double twopi = 6.283185307179586;
  int w = 2000; // width in pixels
  int h = 1000; // height in pixels
  double er = 600;
  double maxiters = 1000000;
  int sharpness = 4;
  
  // image
  m_image *image = m_image_new(w, h);
  m_pixel_t black = m_pixel_rgba(0, 0, 0, 1);
  m_pixel_t white = m_pixel_rgba(1, 1, 1, 1);
  // angle
  mpq_t angle;
  mpq_init(angle);
  m_binangle bangle;
  m_binangle_init(&bangle);

  // adjust font siz
  double  t = h/200.0;
  int  n = 24*t;

  if (image)
  {
    cairo_surface_t *surface = m_image_surface(image);
    cairo_t *cr = cairo_create(surface);
    cairo_select_font_face(cr, "LMSans10", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_BOLD);
    cairo_set_font_size(cr, n);
    cairo_set_source_rgba(cr, 1, 0, 0, 1);
    m_d_colour_t *colour = m_d_colour_minimal(white, black, white);

    if (colour) {

      for (int period = 2; period < 20 ; period ++)
      {
        mpz_set_ui(bangle.pre.bits, 1); bangle.pre.length = period;
        mpz_set_ui(bangle.per.bits, 2); bangle.per.length = period;
        m_binangle_to_rational(angle, &bangle);
        //
        complex double ray = m_d_exray_in_do(angle, sharpness, 8 * sharpness * period);
        //
        complex double mc = 0;
        m_d_misiurewicz(&mc, ray, period, 1, 64);
        m_d_misiurewicz_naive(&mc, mc, period, 1, 64);
        // 
        complex double bc = 0, bz = 0;
        m_d_interior(&bz, &bc, 0, 0, cexp(I * twopi / period), 1, 64);
        //
        //zoom around Misiurewicz point with period arms ( branches) 
        double r = m_d_domain_size(bc, period)/period;
        //double r = cabs(mc - bc)*n; // radius is proportional to distnace between bc and mc

        m_d_transform *transform = m_d_transform_rectangular(w, h, mc, r);

        if (transform)
        {
          m_d_render_scanline(image, transform, er, maxiters, colour);
          m_image_dirty(image);
          cairo_move_to(cr, 24, 100);
          char text[100];
          snprintf(text, 100, "%d", period);
          cairo_show_text(cr, text);
          cairo_fill(cr);
          m_image_flush(image);
          char filename[100];
          snprintf(filename, 100, "%06d.png", period);
          m_image_save_png(image, filename);
          printf("file %s saved \n", filename);
          printf("wake 1/%d \n",period );
          printf("radius of the image = r = %.16f \n",r);
          printf("center of the image = principal Misiurerwicz point =  mc = (%.16f ; %.16f ) \n",creal(mc), cimag(mc));
          printf("center of the main hyperbolic component period %d =  bc = (%.16f ; %.16f ) \n\n\n", period, creal(bc), cimag(bc));

          m_d_transform_delete(transform);
        }
      }
      m_d_colour_delete(colour);
    }
    m_image_delete(image);
  }
 
  // clear
  m_binangle_clear(&bangle);
  mpq_clear(angle);

  return 0;
}

Text output


file 000002.png saved 
wake 1/2 
radius of the image = r = 0.7500000000000000 
center of the image = principal Misiurerwicz point =  mc = (-1.5436890126920764 ; -0.0000000000000000 ) 
center of the main hyperbolic component period 2 =  bc = (-0.7500000000000000 ; 0.0000000000000001 )

file 000004.png saved 
wake 1/4 
radius of the image = r = 0.0569462487293833 
center of the image = principal Misiurerwicz point =  mc = (0.3663629834227643 ; 0.5915337732614452 ) 
center of the main hyperbolic component period 4 =  bc = (0.2500000000000001 ; 0.5000000000000000 )

file 000008.png saved 
wake 1/8 
radius of the image = r = 0.0033606308526732 
center of the image = principal Misiurerwicz point =  mc = (0.3721377054495765 ; 0.0903982331581729 ) 
center of the main hyperbolic component period 8 =  bc = (0.3535533905932737 ; 0.1035533905932737 )

file 000016.png saved 
wake 1/16 
radius of the image = r = 0.0002001216417729 
center of the image = principal Misiurerwicz point =  mc = (0.2860166666955662 ; 0.0115374014484412 ) 
center of the main hyperbolic component period 16 =  bc = (0.2851630709590065 ; 0.0145650208859080 )

file 000032.png saved 
wake 1/32 
radius of the image = r = 0.0000122885843482 
center of the image = principal Misiurerwicz point =  mc = (0.2593909660798803 ; 0.0014649763808582 ) 
center of the main hyperbolic component period 32 =  bc = (0.2594227570737935 ; 0.0018743029167917 )

file 000064.png saved 
wake 1/64 
radius of the image = r = 0.0000007642718076 
center of the image = principal Misiurerwicz point =  mc = (0.2523827846949037 ; 0.0001854063637009 ) 
center of the main hyperbolic component period 64 =  bc = (0.2523960432352909 ; 0.0002359896607482 )

file 000128.png saved 
wake 1/128 
radius of the image = r = 0.0000000477067980 
center of the image = principal Misiurerwicz point =  mc = (0.2505993087411748 ; 0.0000233507494192 ) 
center of the main hyperbolic component period 128 =  bc = (0.2506015464345370 ; 0.0000295520813189 )

file 000256.png saved 
wake 1/256 
radius of the image = r = 0.0000000029807298 
center of the image = principal Misiurerwicz point =  mc = (0.2501502296489224 ; 0.0000029308049747 ) 
center of the main hyperbolic component period 256 =  bc = (0.2501505452968090 ; 0.0000036956796016 )

file 000512.png saved 
wake 1/512 
radius of the image = r = 0.0000000001862808 
center of the image = principal Misiurerwicz point =  mc = (0.2500376045594941 ; 0.0000003671300391 ) 
center of the main hyperbolic component period 512 =  bc = (0.2500376462455212 ; 0.0000004620121319 )

file 001024.png saved 
wake 1/1024 
radius of the image = r = 0.0000000000116423 
center of the image = principal Misiurerwicz point =  mc = (0.2500094068319678 ; 0.0000000459409548 ) 
center of the main hyperbolic component period 1024 =  bc = (0.2500094121815144 ; 0.0000000577531473 )

file 000002.png saved 
wake 1/2 
radius of the image = r = 0.7500000000000000 
center of the image = principal Misiurerwicz point =  mc = (-1.5436890126920764 ; -0.0000000000000000 ) 
center of the main hyperbolic component period 2 =  bc = (-0.7500000000000000 ; 0.0000000000000001 )

file 000003.png saved 
wake 1/3 
radius of the image = r = 0.1770486025604997 
center of the image = principal Misiurerwicz point =  mc = (-0.1010963638456221 ; 0.9562865108091415 ) 
center of the main hyperbolic component period 3 =  bc = (-0.1249999999999998 ; 0.6495190528383290 )

file 000004.png saved 
wake 1/4 
radius of the image = r = 0.0569462487293833 
center of the image = principal Misiurerwicz point =  mc = (0.3663629834227643 ; 0.5915337732614452 ) 
center of the main hyperbolic component period 4 =  bc = (0.2500000000000001 ; 0.5000000000000000 )

file 000005.png saved 
wake 1/5 
radius of the image = r = 0.0230422064419645 
center of the image = principal Misiurerwicz point =  mc = (0.4379242413594628 ; 0.3418920843381161 ) 
center of the main hyperbolic component period 5 =  bc = (0.3567627457812106 ; 0.3285819450744585 )

file 000006.png saved 
wake 1/6 
radius of the image = r = 0.0109290100721151 
center of the image = principal Misiurerwicz point =  mc = (0.4245127190500396 ; 0.2075302281667453 ) 
center of the main hyperbolic component period 6 =  bc = (0.3750000000000000 ; 0.2165063509461096 )

file 000007.png saved 
wake 1/7 
radius of the image = r = 0.0058087844772808 
center of the image = principal Misiurerwicz point =  mc = (0.3973918222965412 ; 0.1335112048718776 ) 
center of the main hyperbolic component period 7 =  bc = (0.3673751344184454 ; 0.1471837631885590 )

file 000008.png saved 
wake 1/8 
radius of the image = r = 0.0033606308526732 
center of the image = principal Misiurerwicz point =  mc = (0.3721377054495765 ; 0.0903982331581729 ) 
center of the main hyperbolic component period 8 =  bc = (0.3535533905932737 ; 0.1035533905932737 )

file 000009.png saved 
wake 1/9 
radius of the image = r = 0.0020754429851783 
center of the image = principal Misiurerwicz point =  mc = (0.3514237590525219 ; 0.0638665598132929 ) 
center of the main hyperbolic component period 9 =  bc = (0.3396101771427564 ; 0.0751918665902176 )

file 000010.png saved 
wake 1/10 
radius of the image = r = 0.0013496899305295 
center of the image = principal Misiurerwicz point =  mc = (0.3349575066515285 ; 0.0467326660620270 ) 
center of the main hyperbolic component period 10 =  bc = (0.3272542485937369 ; 0.0561284970724482 )

file 000011.png saved 
wake 1/11 
radius of the image = r = 0.0009151924674070 
center of the image = principal Misiurerwicz point =  mc = (0.3219113968472209 ; 0.0352044632944523 ) 
center of the main hyperbolic component period 11 =  bc = (0.3167730131651190 ; 0.0429124098891692 )

file 000012.png saved 
wake 1/12 
radius of the image = r = 0.0006423407598102 
center of the image = principal Misiurerwicz point =  mc = (0.3115076602815077 ; 0.0271737195013418 ) 
center of the main hyperbolic component period 12 =  bc = (0.3080127018922193 ; 0.0334936490538903 )

file 000013.png saved 
wake 1/13 
radius of the image = r = 0.0004640554576151 
center of the image = principal Misiurerwicz point =  mc = (0.3031279799097190 ; 0.0214116280389652 ) 
center of the main hyperbolic component period 13 =  bc = (0.3007118261438160 ; 0.0266156195484702 )

file 000014.png saved 
wake 1/14 
radius of the image = r = 0.0003435897586265 
center of the image = principal Misiurerwicz point =  mc = (0.2963044753497587 ; 0.0171713797070624 ) 
center of the main hyperbolic component period 14 =  bc = (0.2946119834865262 ; 0.0214839989417716 )

file 000015.png saved 
wake 1/15 
radius of the image = r = 0.0002598259430496 
center of the image = principal Misiurerwicz point =  mc = (0.2906877524310409 ; 0.0139821471065571 ) 
center of the main hyperbolic component period 15 =  bc = (0.2894900772315859 ; 0.0175821151685515 )

file 000016.png saved 
wake 1/16 
radius of the image = r = 0.0002001216417729 
center of the image = principal Misiurerwicz point =  mc = (0.2860166666955662 ; 0.0115374014484412 ) 
center of the main hyperbolic component period 16 =  bc = (0.2851630709590065 ; 0.0145650208859080 )

file 000017.png saved 
wake 1/17 
radius of the image = r = 0.0001566364753538 
center of the image = principal Misiurerwicz point =  mc = (0.2820946782489538 ; 0.0096318615895698 ) 
center of the main hyperbolic component period 17 =  bc = (0.2814838853970131 ; 0.0121969221819372 )

file 000018.png saved 
wake 1/18 
radius of the image = r = 0.0001243561754269 
center of the image = principal Misiurerwicz point =  mc = (0.2787724591293833 ; 0.0081245796484104 ) 
center of the main hyperbolic component period 18 =  bc = (0.2783351996132097 ; 0.0103131692411995 )

file 000019.png saved 
wake 1/19 
radius of the image = r = 0.0000999859575730 
center of the image = principal Misiurerwicz point =  mc = (0.2759353624416824 ; 0.0069166138017372 ) 
center of the main hyperbolic component period 19 =  bc = (0.2756234935012189 ; 0.0087965564299248 ) 

Bash and Image Magic source code

#!/bin/bash

# script file for BASH 
# which bash
# save this file as g.sh
# chmod +x g.sh
# ./g.sh

 
# for all ppm files in this directory
for file in *.png ; do
  # b is name of file without extension
  b=$(basename $file .png)
  # convert from png to gif and add text ( level ) using ImageMagic
  convert $file $b ${b}.gif
  echo $file
done
 
# convert gif files to animated gif
convert -resize 600x300 -delay 50  -loop 0 *.gif b.gif
 
echo OK

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

12 November 2016

image/gif

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current18:11, 12 November 2016Thumbnail for version as of 18:11, 12 November 2016600 × 300 (1.92 MB)Soul windsurferUser created page with UploadWizard

The following page uses this file:

Global file usage

The following other wikis use this file: