File:Feigenbaum stretch 3.png
Page contents not supported in other languages.
Tools
General
Sister projects
In other projects
Appearance
Size of this preview: 800 × 267 pixels. Other resolutions: 320 × 107 pixels | 640 × 213 pixels | 1,024 × 341 pixels | 3,000 × 1,000 pixels.
Original file (3,000 × 1,000 pixels, file size: 3.35 MB, MIME type: image/png)
This is a file from the Wikimedia Commons. The description on its description page there is shown below. |
Summary
DescriptionFeigenbaum stretch 3.png |
English: Part of parameter plane with mini Mandelbrot sets for periods 1, 3, 9, 27, 81, 243. Transform is with c0 = -1.7864402555636388747. Also external rays are seen. Gerrit[1]: "It's a fun map. Here's one for the Fbm point defined by going to period 3 mini, then it's relative period 3 mini, etc." Parameters: 1.7864402555636389 4.0 2.5. External rays are computed using Fourier harmonics[2] |
Date | |
Source | created with C program m-streching-feigenbaum.c from mandelbrot-graphics library by Claude Heiland-Allen. See also wikibooks |
Author | Adam majewski |
Other versions |
|
Licensing
I, the copyright holder of this work, hereby publish it under the following license:
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.
Maxima CAS src code
Computes external angles using Fourier harmonics[3]
/* b batch file for Maxima CAS ------------ maxima batch("h.mac"); */ kill(all); remvalue(all); display2d:false; logexpand:true; /* https://stackoverflow.com/questions/58436010/how-to-simplify-log8-log2-in-maxima-cas */ log2(x) := round(float(log(x) / log(2)))$ /* h(1, t); t = tuple of input angles ( ratios in normalized form) */ h(i, t):=block( [d, p, a1, a2, r1, r2, n1,n2, s,b ], /* read the values from the inpout tuple : 2 ratios */ r1:first(t), r2:second(t), d :denom(r1), /* denominator of the input angles*/ p:log2(d+1), /* compute period of input angles : d = 2^p - 1 */ a1 : num(r1), a2 :num(r2), d: 2^(p*(i+1)) -1,/* denominator of the output */ s : sum(2^(j*p), j, 0, i-1 ), b : 2^(i*p), n1 : a1*b + a2*s, n2 : a2*b + a1*s, return([n1/d, n2/d]) )$ h2(t):=h(2,t)$ /* example 1 */ t1:[0/1, 1/1]$ h(1, t1); h(2, t1); h(3, t1); h(4, t1); t2:[3/7, 4/7]$ h(1, t2); h(2, t2); h(3, t2); h(4, t2); t: h2(t1); t: h2(t); t: h2(t); t: h2(t); t: h2(t); t: h2(t); t: h2(t);
Results:
(%i7) t1:[0/1,1/1] (%i8) h(1,t1) (%o8) [1/3,2/3] (%i9) h(2,t1) (%o9) [3/7,4/7] (%i10) h(3,t1) (%o10) [7/15,8/15] (%i11) h(4,t1) (%o11) [15/31,16/31] (%i12) t2:[3/7,4/7] (%i13) h(1,t2) (%o13) [4/9,5/9] (%i14) h(2,t2) (%o14) [228/511,283/511] (%i15) h(3,t2) (%o15) [1828/4095,2267/4095] (%i16) h(4,t2) (%o16) [14628/32767,18139/32767] (%i17) t:h2(t1) (%o17) [3/7,4/7] (%i18) t:h2(t) (%o18) [228/511,283/511] (%i19) t:h2(t) (%o19) [59914011/134217727,74303716/134217727] (%i20) t:h2(t) (%o20) [1079314880428363211458788/2417851639229258349412351, 1338536758800895137953563/2417851639229258349412351] (%i21) t:h2(t) (%o21) [6309681859766642153488012706542361061031341827515755455785608209904056091 /14134776518227074636666380005943348126619871175004951664972849610340958207, 7825094658460432483178367299400987065588529347489196209187241400436902116 /14134776518227074636666380005943348126619871175004951664972849610340958207] (%i22) t:h2(t) (%o22) [1260623372715624251596526631747370048404057087743061433025671746894079267500591465669860569986636462919899527462685012516848740080247243839800204694110235562302586056652374438695747306836417796879240393278534689460439268 /2824013958708217496949108842204627863351353911851577524683401930862693830361198499905873920995229996970897865498283996578123296865878390947626553088486946106430796091482716120572632072492703527723757359478834530365734911, 1563390585992593245352582210457257814947296824108516091657730183968614562860607034236013351008593534050998338035598984061274556785631147107826348394376710544128210034830341681876884765656285730844516966200299840905295643 /2824013958708217496949108842204627863351353911851577524683401930862693830361198499905873920995229996970897865498283996578123296865878390947626553088486946106430796091482716120572632072492703527723757359478834530365734911] (%i23) t:h2(t) (%o23) [10053540528705587606144343964571395857305739074823089969864347614424856359955693316255490127296397738095346834867196211074086432187862300532851025254229333089534629081303899791323025713592226561693490194031326260764758759553574780477087039336817214120161773323134578467312898656865849059615104468133377000807189815685871691674981838136633883396727308512724284079919417313824331180651588488371172994635146902928538559653853188574520399426562385056331207135050181559504990454855980461686322800390811892846857617711714719180724079051842494381856293521988999830348460009326896820106553672108357391760790443678125366138873892416952301039236023546099897030145095451 /22521666186739810716017129863546474247925813985186306383480395759255528226899398031271474259176472311138130302909797370563984143657840869015723623128208458564711932390036470899999940399003451938771468124775412134017692556582989981820657376622292117781429636251681663364133246565240603802421309871873386179061056683850002592550658912005406539073633368208169912295100765107813056035892005304712416817301893705332191267615274619407764899319819287315641053762034009508858938727147166108668063720886082155921552955435591503022900749768195878181491707144967461286550140023171580051111358071521188926359524314904062599527129957121490685127011258936786658012354838527, 12468125658034223109872785898975078390620074910363216413616048144830671866943704715015984131880074573042783468042601159489897711469978568482872597873979125475177303308732571108676914685411225377077977930744085873252933797029415201343570337285474903661267862928547084896820347908374754742806205403740009178253866868164130900875677073868772655676906059695445628215181347793988724855240416816341243822666746802403652707961421430833244499893256902259309846626983827949353948272291185646981740920495270263074695337723876783842176670716353383799635413622978461456201680013844683231004804399412831534598733871225937233388256064704538384087775235390686760982209743076 /22521666186739810716017129863546474247925813985186306383480395759255528226899398031271474259176472311138130302909797370563984143657840869015723623128208458564711932390036470899999940399003451938771468124775412134017692556582989981820657376622292117781429636251681663364133246565240603802421309871873386179061056683850002592550658912005406539073633368208169912295100765107813056035892005304712416817301893705332191267615274619407764899319819287315641053762034009508858938727147166108668063720886082155921552955435591503022900749768195878181491707144967461286550140023171580051111358071521188926359524314904062599527129957121490685127011258936786658012354838527] (%o23) "h.mac"
Note that:
- input is a pair ( tuple) of the normalized external arguments (angles) of period p hyperbolic components. Arguments are in the form of ratio of decimal integers
- Maxima CAS converts the output ratio of literal integers to irreducible form ( Reducing Fractions to Lowest Terms)
c source code
/*
It's a fun map. Here's one for the Fbm point defined by going to period 3 mini, then it's relative period 3 mini, etc.
gerrit
https://fractalforums.org/fractal-image-gallery/18/feigenbaum-stretch/2112
https://fractalforums.org/programming/11/m-streching-feigenbaum-from-mandelbrot-graphics-library-by-claude/3077
m-streching-feigenbaum.c
Transform is c ←e^c+c0
with c0=−1.401155189092051.
gcc s3.c -lm -Wall -fopenmp -lpari -lmpc -lmpfr -lgmp -lm $(pkg-config --cflags --libs cairo)
=======================
centers of satellites cardioids ( on the main antenna )
c = -1.754877666246693 period = 3
c = -1.785865646410674 period = 9
c = -1.786429858055761 period = 27
c = -1.786440067359078 period = 81
c = -1.786440252157044 period = 243
c = -1.7864402555041126 period = 729
c = -1.7864402555625307 period = 2187
c = -1.786440255563619017 period = 6561
c = -1.7864402555636388747
c = -1.7864402555;
-------------------------------------------------------------
--------------------------------------------------
on main antenna ( real slice of mandelbrot set ):
period 3 (3/7,4/7) cusp c= -1.75 = -7/4 center c=-1.754877666246693
period 9 .(001001010) .(001010001)"
3
[3/7,4/7]
9
[228/511,283/511]
27
[59914011/134217727,74303716/134217727]
81
[1079314880428363211458788/2417851639229258349412351, 1338536758800895137953563/2417851639229258349412351]
243
[6309681859766642153488012706542361061031341827515755455785608209904056091/14134776518227074636666380005943348126619871175004951664972849610340958207, 7825094658460432483178367299400987065588529347489196209187241400436902116 /14134776518227074636666380005943348126619871175004951664972849610340958207]
(%o22) [1260623372715624251596526631747370048404057087743061433025671746894079267500591465669860569986636462919899527462685012516848740080247243839800204694110235562302586056652374438695747306836417796879240393278534689460439268
/2824013958708217496949108842204627863351353911851577524683401930862693830361198499905873920995229996970897865498283996578123296865878390947626553088486946106430796091482716120572632072492703527723757359478834530365734911,
1563390585992593245352582210457257814947296824108516091657730183968614562860607034236013351008593534050998338035598984061274556785631147107826348394376710544128210034830341681876884765656285730844516966200299840905295643
/2824013958708217496949108842204627863351353911851577524683401930862693830361198499905873920995229996970897865498283996578123296865878390947626553088486946106430796091482716120572632072492703527723757359478834530365734911]
(%i23) t:h2(t)
(%o23) [10053540528705587606144343964571395857305739074823089969864347614424856359955693316255490127296397738095346834867196211074086432187862300532851025254229333089534629081303899791323025713592226561693490194031326260764758759553574780477087039336817214120161773323134578467312898656865849059615104468133377000807189815685871691674981838136633883396727308512724284079919417313824331180651588488371172994635146902928538559653853188574520399426562385056331207135050181559504990454855980461686322800390811892846857617711714719180724079051842494381856293521988999830348460009326896820106553672108357391760790443678125366138873892416952301039236023546099897030145095451
/22521666186739810716017129863546474247925813985186306383480395759255528226899398031271474259176472311138130302909797370563984143657840869015723623128208458564711932390036470899999940399003451938771468124775412134017692556582989981820657376622292117781429636251681663364133246565240603802421309871873386179061056683850002592550658912005406539073633368208169912295100765107813056035892005304712416817301893705332191267615274619407764899319819287315641053762034009508858938727147166108668063720886082155921552955435591503022900749768195878181491707144967461286550140023171580051111358071521188926359524314904062599527129957121490685127011258936786658012354838527,
12468125658034223109872785898975078390620074910363216413616048144830671866943704715015984131880074573042783468042601159489897711469978568482872597873979125475177303308732571108676914685411225377077977930744085873252933797029415201343570337285474903661267862928547084896820347908374754742806205403740009178253866868164130900875677073868772655676906059695445628215181347793988724855240416816341243822666746802403652707961421430833244499893256902259309846626983827949353948272291185646981740920495270263074695337723876783842176670716353383799635413622978461456201680013844683231004804399412831534598733871225937233388256064704538384087775235390686760982209743076
/22521666186739810716017129863546474247925813985186306383480395759255528226899398031271474259176472311138130302909797370563984143657840869015723623128208458564711932390036470899999940399003451938771468124775412134017692556582989981820657376622292117781429636251681663364133246565240603802421309871873386179061056683850002592550658912005406539073633368208169912295100765107813056035892005304712416817301893705332191267615274619407764899319819287315641053762034009508858938727147166108668063720886082155921552955435591503022900749768195878181491707144967461286550140023171580051111358071521188926359524314904062599527129957121490685127011258936786658012354838527]
*/
#include "mandelbrot-numerics.h"
#include "mandelbrot-graphics.h"
//#include "mandelbrot-symbolics.h"
#include "m_d_transform.c"
#include "m_d_mat2.c"
#include "m_d_util.h"
#include "m_pixel.c"
#include "m_d_colour.c"
#include "m_d_render_scanline.c"
//#include "m_binangle.c"
#include "m_d_exray_in.c"
#include <stdio.h>
#include <string.h> // strcat
// #include <pari/pari.h>
// colors
m_pixel_t black; // = m_pixel_rgba(0, 0, 0, 1);
m_pixel_t white; // = m_pixel_rgba(1, 1, 1, 1);
m_pixel_t red ; // = m_pixel_rgba(1, 0, 0, 1);
// m_d_transform.c
m_d_transform *rect ; //= m_d_transform_rectangular(w, h, - m * r, r);
m_d_transform *exponential; // = m_d_transform_exponential(c); // Here's one for the Fbm point defined by going to period 3 mini, then it's relative period 3 mini, etc.
m_d_transform *transform ; //= m_d_transform_compose(rect, exponential);
m_d_colour_t *colour ; //= m_d_colour_minimal(white, black, white);
m_image *image ; //= m_image_new(w, h);
/*
input
* s_b_angle = binary angle as a string ( for cairo_text_path)
* s_q_angle = the same angle as a decimal rational number ( for m_d_exray_in_new)
*/
void draw_external_ray(m_image *image, m_d_transform *transform, const char *s_b_angle, const char *s_q_angle, m_pixel_t colour, double dx, double dy, int iMax) {
//int maxiters = 5024;
double r = sqrt(2);
// rational angle
mpq_t q_angle;
mpq_init(q_angle);
mpq_set_str(q_angle, s_q_angle, 10);
m_d_exray_in *ray = m_d_exray_in_new(q_angle, 8);
mpq_clear(q_angle);
cairo_surface_t *surface = m_image_surface(image);
cairo_t *cr = cairo_create(surface);
cairo_set_source_rgba(cr, m_pixel_red(colour), m_pixel_green(colour), m_pixel_blue(colour), m_pixel_alpha(colour));
bool first = true;
for (int i = 0; i < iMax; ++i) {
if (m_failed == m_d_exray_in_step(ray, 64)) {
break;
}
double _Complex c = m_d_exray_in_get(ray);
if (cabs(c + 0.75) > r) {
continue;
}
//double t = carg(c +3.14 ); // +0.75
double t = cimag(c) > 0 ? twopi / 4 : -twopi / 4;
double _Complex dc = 1;
m_d_transform_reverse(transform, &c, &dc);
if (first) {
cairo_save(cr);
cairo_translate(cr, creal(c) + dx, cimag(c) + dy);
cairo_rotate(cr, -t);
cairo_select_font_face(cr, "LMMono10", CAIRO_FONT_SLANT_NORMAL, CAIRO_FONT_WEIGHT_NORMAL);
cairo_set_font_size(cr, 15);
//cairo_text_path(cr, s_b_angle);
cairo_fill(cr);
cairo_restore(cr);
cairo_move_to(cr, creal(c) + dx, cimag(c) + dy);
first = false;
} else {
cairo_line_to(cr, creal(c), cimag(c));
}
}
cairo_stroke(cr);
cairo_destroy(cr);
}
void ray(const char *s_q_angle,int iMax){
draw_external_ray(image, transform, "",s_q_angle, red, 0, 0, iMax);
}
extern int main(int argc, char **argv) {
(void) argc; // https://stackoverflow.com/questions/21045615/what-does-voidvar-actually-do
(void) argv;
// image size in pixels
int h = 1500;
int w = 3*h;
//
double r = 4.0;
double m = 2.5;
//
double er = 100;
int maxiters = 100100;
double c = -1.7864402555636388747; //-1.7864402555625307; //-1.7864402555041126;//-1.7864402556782493; // -1.78644029;//-1.786440254937780;//-1.786440254938960 ;//-1.786440254886202;//-1.786440691627496; // -1.786440690499556; //-1.786437960060477; // -1.786723048596194;
// file name = 3_c_r_m.png
char name[50];
snprintf(name, 50, "s3_%d_%.16f_%.1f_%.1f", h, fabs(c), r, m );
const char *filename = strncat(name,".png", 4); //"1781.png";
// colors
black = m_pixel_rgba(0, 0, 0, 1);
white = m_pixel_rgba(1, 1, 1, 1);
red = m_pixel_rgba(1, 0, 0, 1);
// m_d_transform.c
rect = m_d_transform_rectangular(w, h, - m * r, r);
exponential = m_d_transform_exponential(c); // Here's one for the Fbm point defined by going to period 3 mini, then it's relative period 3 mini, etc.
transform = m_d_transform_compose(rect, exponential);
colour = m_d_colour_minimal(white, black, white);
image = m_image_new(w, h);
m_d_render_scanline(image, transform, er, maxiters, colour);
// period 1
ray("0/1", 400);
ray("1/1", 400);
// period 3
ray("3/7", 400);
ray("4/7", 400);
// period 9
ray("228/511", 800);
ray("283/511", 800);
// period 27
ray("59914011/134217727", 2200);
ray("74303716/134217727", 2200);
// period 81
ray("1079314880428363211458788/2417851639229258349412351", 6000);
ray("1338536758800895137953563/2417851639229258349412351", 6000);
// period 243
ray("6309681859766642153488012706542361061031341827515755455785608209904056091/14134776518227074636666380005943348126619871175004951664972849610340958207", 18000);
ray("7825094658460432483178367299400987065588529347489196209187241400436902116 /14134776518227074636666380005943348126619871175004951664972849610340958207", 18000);
m_image_save_png(image, filename);
//
return 0;
}
- ↑ fractalforums : feigenbaum-stretch
- ↑ OPERATING WITH EXTERNAL ARGUMENTS IN THE MANDELBROT SET ANTENNA by G. Pastor, M. Romera, G. Alvarez, and F. Montoya
- ↑ OPERATING WITH EXTERNAL ARGUMENTS IN THE MANDELBROT SET ANTENNA by G. Pastor, M. Romera, G. Alvarez, and F. Montoya
Items portrayed in this file
depicts
some value
17 October 2019
image/png
3,514,755 byte
1,000 pixel
3,000 pixel
13f4fcfbf0b4c37534ceb0a495ea943432a2f4e0
File history
Click on a date/time to view the file as it appeared at that time.
Date/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 16:59, 17 October 2019 | 3,000 × 1,000 (3.35 MB) | Soul windsurfer | User created page with UploadWizard |
File usage
The following 4 pages use this file:
Retrieved from "https://en.wikibooks.org/wiki/File:Feigenbaum_stretch_3.png"