In[]:=
(*Mathematica*)​​Clear[f,dlst,pt,cr,ptlst,M,in,it,n0,x,y,aa,bb,in2]​​allColors=ColorData["Legacy"][[3,1]];​​firstCols=Join[{"Red","Blue","Magenta","Purple","Pink","Tomato","Red","DarkOrange","Orange","DeepNaplesYellow","Gold","Banana","Yellow","LightYellow","Orange","Pink","LightPink","Yellow","LightYellow","LightPink","White","DeepNaplesYellow","Orange","DarkOrange","Tomato","Red","Tomato","Pink","LightPink","DeepNaplesYellow","Orange","DarkOrange","Tomato","White","Pink","Banana","LightBlue","DodgerBlue","Cyan","White","Purple","DarkOrchid","Magenta","ManganeseBlue","DeepNaplesYellow","Orange","DarkOrange","Tomato","GoldOchre","LightPink","Magenta","Green","DarkOrchid","LightSalmon","LightPink","Sienna","Green","Mint","DarkSlateGray","ManganeseBlue","SlateGray","DarkOrange","MistyRose","DeepNaplesYellow","GoldOchre","SapGreen","Yellow","Yellow","Tomato","DeepNaplesYellow","DodgerBlue","Cyan","Red","Blue","DeepNaplesYellow","Green","Magenta","DarkOrchid","LightSalmon","LightPink","Sienna","Green","Mint","DarkSlateGray","ManganeseBlue","SlateGray","DarkOrange","MistyRose","DeepNaplesYellow","GoldOchre","SapGreen","Yellow","LimeGreen"},{"White","AliceBlue","LightBlue","Cyan","ManganeseBlue","DodgerBlue","Blue","Magenta","Purple","Pink","Tomato","Red","DarkOrange","Orange","DeepNaplesYellow","Gold","Banana","Yellow","LightYellow","Orange","Pink","LightPink","Yellow","LightYellow","LightPink","White","DeepNaplesYellow","Orange","DarkOrange","Tomato","Red","Tomato","Pink","LightPink","DeepNaplesYellow","Orange","DarkOrange","Tomato","White","Pink","Banana","LightBlue","DodgerBlue","Cyan","White","Purple","DarkOrchid","Magenta","ManganeseBlue","DeepNaplesYellow","Orange","DarkOrange","Tomato","GoldOchre","LightPink","Magenta","Green","DarkOrchid","LightSalmon","LightPink","Sienna","Green","Mint","DarkSlateGray","ManganeseBlue","SlateGray","DarkOrange","MistyRose","DeepNaplesYellow","GoldOchre","SapGreen","Yellow","Yellow","Tomato","DeepNaplesYellow","DodgerBlue","Cyan","Red","Blue","DeepNaplesYellow","Green","Magenta","DarkOrchid","LightSalmon","LightPink","Sienna","Green","Mint","DarkSlateGray","ManganeseBlue","SlateGray","DarkOrange","MistyRose","DeepNaplesYellow","GoldOchre","SapGreen","Yellow","LimeGreen"}];​​cols=ColorData["Legacy",#]&/@Join[firstCols,Complement[allColors,firstCols]];​​​​cr[n_]:=cr[n]=cols[[n]];​​dlst=ParallelTable[Random[Integer,{1,2}],{n,1000000}];
In[]:=
rotate[theta_]:={{Cos[theta],-Sin[theta]},{Sin[theta],Cos[theta]}};
In[]:=
n=15
Out[]=
15
In[]:=
an={0,5*Pi/4}
Out[]=
0,
5π
4

In[]:=
(*quasiconformaltransform:{5,2}*)
In[]:=
g={{5,2},{2,5}}/Sqrt[Det[{{5,2},{2,5}}]]
Out[]=

5
21
,
2
21
,
2
21
,
5
21

In[]:=
g1=Inverse[g]
Out[]=

5
21
,-
2
21
,-
2
21
,
5
21

In[]:=
td={{-1/2,-1/2},{1/2,-1/2}}
Out[]=
-
1
2
,-
1
2
,
1
2
,-
1
2

In[]:=
qtd=g.td.g1
Out[]=
-
1
42
,-
29
42
,
29
42
,-
41
42

In[]:=
M={qtd,qtd}
Out[]=
-
1
42
,-
29
42
,
29
42
,-
41
42
,-
1
42
,-
29
42
,
29
42
,-
41
42

In[]:=
in=N[{{-1,0},{1,0}}];
In[]:=
f[j_,{x_,y_}]:=M[[j]].{x,y}+in[[j]]
In[]:=
​​pt={0.5,0.5};​​
In[]:=
aa=ParallelTable[pt=f[dlst[[j]],pt],{j,Length[dlst]}];
In[]:=
(*ListPlot[aa,PlotStyleRed]*)
In[]:=
ptlst=Point[Developer`ToPackedArray[aa],VertexColorsDeveloper`ToPackedArray[cr/@dlst]];
In[]:=
gout=Graphics[{PointSize[.001],ptlst},AspectRatio1,PlotRangeAll,ImageSize2000,AxesFalse,BackgroundBlack];
In[]:=
Export["Twin_dragon_quasiconformal1000000Black.gif",gout]
Out[]=
Twin_dragon_quasiconformal1000000Black.gif
In[]:=
(*end*)
In[]:=
(*cr[n_]=If[n-10,RGBColor[0,0,1],If[n-20,RGBColor[0,1,0],If[n-30,RGBColor[1,0,0],RGBColor[0,0,0]]]];​​ptlst[n_]:=Table[{cr[dlst[[j]]],Point[pt=f[dlst[[j]],Sequence[pt]]]},​​{j,Length[dlst]}];​​​​gout=Table[Show[Graphics[Join[{PointSize[.001]},ptlst[n]]],AspectRatio->Automatic,PlotRange->All],{n,0,20}];​​Export["Riddle_tame_dragon50000.gif",gout]​​"Riddle_tame_dragon50000.gif"*)