Title: binary decomposition and external angles Post by: claude on February 27, 2015, 07:16:50 PM Here's an attempt to explain the relationship between external angles and binary decomposition rendering for quadratic polynomials:
http://mathr.co.uk/mandelbrot/2015-02-27_morph_demo.mkv (3.3MB, 30secs) Need to re-do the first morph section once I figure out (1) the conformal mapping between the complement of the Mandelbrot set and the complement of the unit disc (2) how to interpolate smoothlybetween the identity mapping and that mapping. And I also want to add the ray-drawing parts on the Mandelbrot set too. Title: Re: binary decomposition and external angles Post by: Adam Majewski on February 27, 2015, 07:58:03 PM Nice video. I wait for source code and detailed description of the algorithm.
Do you think that :
Title: Re: binary decomposition and external angles Post by: claude on March 03, 2015, 12:15:08 PM Fragmentarium source code for the video attached, it's very messy with lots of unnecessary code... I rendered 30 seconds at 25 fps making 750 frames, then converted with
Code: avconv -i out.%05d.png -crf 18 out.mkv It would probably be easier to understand if the video was reversed - good idea! Adding points on the ray could be useful too. Also adding shading (so the local position in each cell is visible, rather than just binarily decomposed). For full effect I'd need to add the binary digits, luckily rendering ".01" characters shouldn't be too difficult in a fragment shader. Title: Re: binary decomposition and external angles Post by: Chris Thomasson on March 04, 2015, 01:05:58 AM Fragmentarium source code for the video attached, it's very messy with lots of unnecessary code... I rendered 30 seconds at 25 fps making 750 frames, then converted with Code: avconv -i out.%05d.png -crf 18 out.mkv It would probably be easier to understand if the video was reversed - good idea! Adding points on the ray could be useful too. Also adding shading (so the local position in each cell is visible, rather than just binarily decomposed). For full effect I'd need to add the binary digits, luckily rendering ".01" characters shouldn't be too difficult in a fragment shader. Great work! I am wondering if you gave my suggestion a try wrt the trouble you had with my escape condition for field lines: http://www.fractalforums.com/new-theories-and-research/plotting-field-lines-during-iteration (http://www.fractalforums.com/new-theories-and-research/plotting-field-lines-during-iteration) Title: Re: binary decomposition and external angles Post by: billtavis on March 04, 2015, 07:09:58 PM cool video!
Title: Re: binary decomposition and external angles Post by: claude on March 04, 2015, 08:48:31 PM Here's one showing how the bits are collected when tracing a ray outwards:
(http://mathr.co.uk/mandelbrot/2015-03-04_exray_binary.gif) Title: Re: binary decomposition and external angles Post by: Adam Majewski on March 04, 2015, 09:49:14 PM cool. Thx.
Next questions arise : - When rays are not straight lines then ... ? - When you are tracing inwards then ... ? - "as you pass each dwell band " - What does pass on parameter plane : choosing next point c with grater radius = abs(c) ? Title: Re: binary decomposition and external angles Post by: claude on March 04, 2015, 09:58:50 PM cool. Thx. Next questions arise : - When rays are not straight lines then ... ? - When you are tracing inwards then ... ? - "as you pass each dwell band " - What does pass on parameter plane : choosing next point c with grater radius = abs(c) ? The lines can be made straight by conformal mapping to the complemnt of the unit disc (at least for Mandelbrot set and connected Julia sets). When tracing inwards you start with the bits and use them to decide whether to go left or right at each step. Removing the first bit is the same as doubling mod 1. Dwell bands are regions where the integer iteration count is constant, when the iteration count decreases (increases) by 1 then you have passed a dwell band going outwards (inwards). Continuous iteration count can give a measure of how far through the dwell band you are - further out the first escaped |z| will be larger. Title: Re: binary decomposition and external angles Post by: DarkBeam on March 04, 2015, 11:09:19 PM (http://www2.warwick.ac.uk/fac/sci/maths/people/staff/david_loeffler/teaching/ma4h9/lizards.jpg)
:dink: Title: Re: binary decomposition and external angles Post by: billtavis on March 07, 2015, 11:19:56 PM (http://i288.photobucket.com/albums/ll174/BillTavis/EscherTile_zpshpcfbbxw.jpg)
Title: Re: binary decomposition and external angles Post by: Adam Majewski on March 17, 2015, 04:31:33 PM So when tracing :
* inwards I add bit at the end * outwards I add the bit at the beginning Is it correct ? Title: Re: binary decomposition and external angles Post by: 3dickulus on June 07, 2015, 09:01:40 PM Escher fits ;)
Title: Re: binary decomposition and external angles Post by: tit_toinou on June 08, 2015, 12:40:38 AM Nice video but that doesn't give or explain the formula for the conformal map !
The last image with Escher was generated with a Julia ? The map doesn't seem conformal at all.... Title: Re: binary decomposition and external angles Post by: laser blaster on June 08, 2015, 01:40:59 PM Nice video but that doesn't give or explain the formula for the conformal map ! I agree, it doesn't look conformal. Any hyperbolic tiling should be possible to map conformally to the exterior of the mandelbrot set, but this mapping doesn't seem right.The last image with Escher was generated with a Julia ? The map doesn't seem conformal at all.... Title: Re: binary decomposition and external angles Post by: claude on June 08, 2015, 03:01:22 PM Nice video but that doesn't give or explain the formula for the conformal map ! Thanks. It's not an explicit formula (though I think there does exist a complicated formula based on power series that is very slow converging - I still haven't looked into it in more detail). Rather the grid is generated implicitly by iterations of z→z˛+c, see http://www.mrob.com/pub/muency/binarydecomposition.html for the basic idea, you can get "local coordinates" within each cell by taking the fractional part of continuous escape time and the argument of the first iterate to escape. Some hyperbolic tilings fit the binary decomposition structure, so can be mapped using these local coordinates, but in general you need global coordinates, which is much harder (needs the full external angle). Title: Re: binary decomposition and external angles Post by: tit_toinou on June 08, 2015, 09:32:37 PM Rather the grid is generated implicitly by iterations of z→z˛+c, see http://www.mrob.com/pub/muency/binarydecomposition.html for the basic idea, you can get "local coordinates" within each cell by taking the fractional part of continuous escape time and the argument of the first iterate to escape. Yes I've done that inspired by images like(http://orig10.deviantart.net/5eec/f/2011/044/4/6/mandelbrot__s_maple_leaf_by_bryceguy72-d39gkjb.jpg) (http://bryceguy72.deviantart.com/art/Mandelbrot-s-Garden-197288183) But I can't establish the formula of the map from this space to the the Poincare Disk :( http://en.wikipedia.org/wiki/Poincar%C3%A9_disk_model (http://en.wikipedia.org/wiki/Poincar%C3%A9_disk_model)... Title: Re: binary decomposition and external angles Post by: claude on June 08, 2015, 10:19:10 PM Perhaps work with polar coordinates - points in the complement of the Mandelbrot set have external angle (I use Newton's method to trace rays, billtavis has an alternative using Runge-Kutta integration), and continuous iteration count heading towards infinity at the boundary of the set. Use the continuous iteration count as the hyperbolic distance from the origin. To convert hyperbolic distance to Euclidean distance in the Poincaré disc model, you need to invert the formula on the wiki page, that is, you have d(0,r) and want to find r, turns out r = tanh(d/2) (at least according to http://www.wolframalpha.com/input/?i=solve+d+%3D+acosh%281+%2B+2+x^2+%2F+%281+-+x^2%29%29 (http://www.wolframalpha.com/input/?i=solve+d+%3D+acosh%281+%2B+2+x^2+%2F+%281+-+x^2%29%29) which I didn't verify by hand, and I might have made a mistake in the input...). But tanh(20) is already rounded to 1.0 in double precision, so this is only good to 40 iterations max (and will already be horribly grainy due to insufficient precision before then), and then double precision for external angles runs out at 53 iterations max. High precision maths is needed, no way out that I can see. |