Code

randRecomp can be used to randomly create a function with known critical points and runs reComp with said random function.
In[]:=
randRecomp[3,3,1,2,2]
zlistvar={(-0.753379+0.054058)-(0.784346-0.385378)#1+(0.74594+0.940947)
2
#1
+(0.817167+0.936411)
3
#1
,(-0.509142+0.089398)+(0.968718+0.17746)#1-(0.125553-0.701931)
2
#1
+(0.369154-0.907494)
3
#1
,(-0.684696-0.487615)+(0.344931-0.62321)#1-(0.836539-0.616365)
2
#1
+(0.0633417-0.399189)
3
#1
}&fcvar=(0.343711-0.0717007)-(0.487001-0.0376624)#1+(0.4467+0.39483)
2
#1
&f10var=(0.343711-0.0717007)-(0.487001-0.0376624)#2+(0.4467+0.39483)
2
#2
+((-0.891364-0.492381)-(0.243854-0.213597)#2+(0.875535-0.128559)
2
#2
)((0.753379-0.054058)+#1+(0.784346-0.385378)#2-(0.74594+0.940947)
2
#2
-(0.817167+0.936411)
3
#2
)((0.509142-0.089398)+#1-(0.968718+0.17746)#2+(0.125553-0.701931)
2
#2
-(0.369154-0.907494)
3
#2
)((0.684696+0.487615)+#1-(0.344931-0.62321)#2+(0.836539-0.616365)
2
#2
-(0.0633417-0.399189)
3
#2
)&reComp[(0.343711-0.0717007)-(0.487001-0.0376624)#2+(0.4467+0.39483)
2
#2
+((-0.891364-0.492381)-(0.243854-0.213597)#2+(0.875535-0.128559)
2
#2
)((0.753379-0.054058)+#1+(0.784346-0.385378)#2-(0.74594+0.940947)
2
#2
-(0.817167+0.936411)
3
#2
)((0.509142-0.089398)+#1-(0.968718+0.17746)#2+(0.125553-0.701931)
2
#2
-(0.369154-0.907494)
3
#2
)((0.684696+0.487615)+#1-(0.344931-0.62321)#2+(0.836539-0.616365)
2
#2
-(0.0633417-0.399189)
3
#2
)&,(0.343711-0.0717007)-(0.487001-0.0376624)#1+(0.4467+0.39483)
2
#1
&,{(-0.753379+0.054058)-(0.784346-0.385378)#1+(0.74594+0.940947)
2
#1
+(0.817167+0.936411)
3
#1
,(-0.509142+0.089398)+(0.968718+0.17746)#1-(0.125553-0.701931)
2
#1
+(0.369154-0.907494)
3
#1
,(-0.684696-0.487615)+(0.344931-0.62321)#1-(0.836539-0.616365)
2
#1
+(0.0633417-0.399189)
3
#1
}&]
MandJuliManip creates a Manipulate which allows a user to see a function’s Mandelbrot set, zoom in on a small portion, select values of c, updating(pressing U), and seeing the related fractal flow of the Julia set. Useful for finding interesting values of c. mandpos and julpos are global variables which can be changed between updates and can affect the new images. Every update changes the values of cvar and zvar, the locations of the locators. These can be fed into mandpos and julpos to change where they’re centered along with their zoom.
In[]:=
MandJuliManip[{{0,2,0.6,500},{0,2,0.6,500}},1,1000000000,1,10^5,10^-6,4,1000]
mandpos={ccent,cwid,aspRat,nW}={0,2,0.6,500}julpos={zcent,zwid,aspRat,nW}={0,2,0.6,500}Initial Input:MandJuliManip{{0,2,0.6,500},{0,2,0.6,500}},1,1000000000,1,100000,
1
1000000
,4,1000Current Input(Warning, will break upon restarts and running other instances of MandJuliManip[]):
MandJuliManip
{{0,2,0.6,500},{0.+0.,2,0.6,500}}
,1,1000000000,1,100000,
1
1000000
,4,1000cvar=
zvar=
Out[]=
​
Changes the zoom of the Julia set
In[]:=
julpos[[2]]=2.8;
Creates a higher-quality version of the Mandelbrot set using mandpos.
In[]:=
mandpos​​MandelPicGen[mandpos[[1]],mandpos[[2]],mandpos[[3]],mandpos[[4]],2,1000,1000000000]
Out[]=
{0,2,0.6,500}
Out[]=
Creates a higher-quality version of the Julia fractal flow fractal using julpos.
In[]:=
{julpos,cvar}​​JuliaPicGen[julpos[[1]],julpos[[2]],cvar,1,julpos[[3]],2julpos[[4]],20,20,2,4,1000,
-6
10
,
5
10
]
Out[]=
{{-0.8512+0.27,2.8,0.6,500},-0.3952-0.396}
Out[]=