This is a file from the Wikimedia Commons

File:Part of parameter plane with external 5 rays landing on the Mandelbrot set.png

From Wikibooks, open books for an open world
Jump to navigation Jump to search

Original file(1,920 × 1,080 pixels, file size: 1.24 MB, MIME type: image/png)

Summary

Description
English: Part of parameter plane with 5 external rays landing on the Mandelbrot set
Date
Source Made with c program[1] by Claude Heiland-Allen[2]
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.

Software

Program :

  • is made with c / gcc
  • uses GMP for arbitrary precision rationals
  • MPFR for arbitrary precision floating point
  • OpenMP

Algorithms

  • exterior :
    • Smooth colouring with continuous escape time
    • grid based on integer escape time and binary decomposition
    • Atom domains
    • external rays : the Newton Method[3]
  • interior :
    • Interior coordinates[4]
    • Atom domains[5]
  • boundary : distance estimation ( DEM/M)

All algorithms are described in the book : "How To Write A Book About The Mandelbrot Set" by Claude Heiland-Allen[6]

Image description

This image show part of parameter plane of complex quadratic polynomial.

Plane

Center c = -1.1815256967956639e-01 +6.4962873032063617e-01 * i

radius =1.75e-04

External rays

G Pastor gave an example of external rays for which the resolution of the IEEE 754 is not sufficient [7]:

( period 3, lands on root point of period 3 component c3 = -0.125000000000000 +0.649519052838329i )

One can analyze these angles using program by Claude Heiland-Allen :

./bin/mandelbrot_describe_external_angle ".(001)"
binary: .(001)
decimal: 1/7
preperiod: 0
period: 3

 
./bin/mandelbrot_describe_external_angle 
".(001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001010)"
binary: 
.(001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001010)
decimal: 
33877456965431938318210482471113262183356704085033125021829876006886584214655562/237142198758023568227473377297792835283496928595231875152809132048206089502588927
preperiod: 0
period: 267

./bin/mandelbrot_describe_external_angle 
".(001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001010001)"
binary: 
.(001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001010001)
decimal: 
33877456965431938318210482471113262183356704085033125021829876006886584214655569/237142198758023568227473377297792835283496928595231875152809132048206089502588927
preperiod: 0
period: 267

./bin/mandelbrot_describe_external_angle 
".(0010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010001)"
binary: 
.(0010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010001)
decimal: 
67754913930863876636420964942226524366713408170066250043659752013773168429311121/474284397516047136454946754595585670566993857190463750305618264096412179005177855
preperiod: 0
period: 268

 
./bin/mandelbrot_describe_external_angle 
".(0010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010)"
binary: 
.(0010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010)
decimal: 
67754913930863876636420964942226524366713408170066250043659752013773168429311122/474284397516047136454946754595585670566993857190463750305618264096412179005177855
preperiod: 0
period: 268

Landing points of above rays are roots with angled internal addresses ( description by Claude Heiland-Allen) :

  • the upper one will be 1 -> 1/3 -> 3 -> 1/(period/3) -> period because it's the nearest bulb to the lower root cusp of 1/3 bulb and child bulbs of 1/3 bulb have periods 3 * denominator(internal angle) ie, 1 -> 1/3 -> 3 -> 1/89 -> 267
  • the lower one will be 1 -> floor(period/3)/period -> period because it's the nearest bulb below the 1/3 cusp ie, 1 -> 89/268 -> 268
  • the middle ray .(001) lands at the root of 1 -> 1/3 -> 3, from the cusp on the lower side (which is on the right in a standard unrotated view)

Bash source code

"... be aware that the code is in alpha state and might change making the examples incompatible " Claude Heiland-Allen

Note :

  • heredoc syntax
  • pipeline
#!/bin/bash
# test by M. Romera, G. Pastor, A. B. Orue, A. Martin, M.-F. Danca, and F. Montoya
# calculation of external angles in ghci:
#   > let rep n s = concat (replicate n s)
#   > putStrLn $ ".(" ++ rep 88 "001" ++ "010)"
#   > putStrLn $ ".(" ++ rep 87 "001" ++ "010001)"
#   > putStrLn $ ".(" ++ rep 88 "001" ++ "0001)"
#   > putStrLn $ ".(" ++ rep 88 "001" ++ "0010)"
# labels computed by ray-in.c, output pasted below
# right hand cusp of 1/3 bulb
re="-1.1815256967956639e-01"
im="6.4962873032063617e-01"
r="1.75e-04"
view="$re $im $r"
# escape radius
er="512"
# filename stem
stem="ray-in"
# image size in pixels
w="1920"
h="1080"
# maximum iterations
n="65536"
# interior rendering
i="1"
# ray depth
d="8192"
# render background image
./render $view "$er" "$stem" "$w" "$h" "$n" "$i" && ./colour "$stem" > "$stem.ppm"
# compute rays in parallel
./ray_in ".(001)" $d > "$stem-ray1.txt" &
./ray_in ".(001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001010)" $d > "$stem-ray2.txt" &
./ray_in ".(001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001001010001)" $d > "$stem-ray3.txt" &
./ray_in ".(0010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010001)" $d > "$stem-ray4.txt" &
./ray_in ".(0010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010010)" $d > "$stem-ray5.txt" &
wait
# annotate background with rays and labels
./annotate "$stem.ppm" "$stem.png" <<EOF
rgba 1 1 1 1
line cat "$stem-ray1.txt" | ./rescale 100 53 $view 0
line cat "$stem-ray2.txt" | ./rescale 100 53 $view 0
line cat "$stem-ray3.txt" | ./rescale 100 53 $view 0
line cat "$stem-ray4.txt" | ./rescale 100 53 $view 0
line cat "$stem-ray5.txt" | ./rescale 100 53 $view 0
text `echo '-1.1822526882505369174786906160298e-01 6.4976152480139330552861597620428e-01' | ./rescale 100 53 $view 0` 1/89
text `echo '-1.1822493706369402373694114253571e-01 6.497492977188836930425943612155e-01' | ./rescale 100 53 $view 0` 267
text `echo '-1.1823989797024315747580621362645e-01 6.4947944517318122236851485691881e-01' | ./rescale 100 53 $view 0` 89/268
text `echo '-1.182402951560276787014475129283e-01 6.4949165134945441813936036487738e-01' | ./rescale 100 53 $view 0` 268
EOF

References

  1. c program by Claude Heiland-Allen
  2. Claude Heiland-Allen - blog
  3. An algorithm to draw external rays of the Mandelbrot set by Tomoki KAWAHIRA
  4. Interior coordinates in the Mandelbrot set
  5. Modified Atom Domains
  6. Mandelbrot Notebook
  7. A Method to Solve the Limitations in Drawing External Rays of the Mandelbrot Set M. Romera,1 G. Pastor, A. B. Orue,1 A. Martin, M.-F. Danca,and F. Montoya

Captions

Add a one-line explanation of what this file represents

Items portrayed in this file

depicts

13 October 2014

File history

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

Date/TimeThumbnailDimensionsUserComment
current15:46, 1 August 2023Thumbnail for version as of 15:46, 1 August 20231,920 × 1,080 (1.24 MB)Obscure2020Optimized with OxiPNG and ZopfliPNG.
18:56, 24 October 2014Thumbnail for version as of 18:56, 24 October 20141,920 × 1,080 (1.83 MB)Soul windsurferannotations
16:28, 13 October 2014Thumbnail for version as of 16:28, 13 October 20141,920 × 1,080 (1.83 MB)Soul windsurfersmaller size, rays are better visualised
16:26, 13 October 2014Thumbnail for version as of 16:26, 13 October 20144,000 × 2,000 (6.4 MB)Soul windsurferUser created page with UploadWizard

Global file usage

The following other wikis use this file: