確率論的反復関数系によりフラクタル文様を描画しました
確率論的反復関数系
畑の樹状集合 (Hata's tree-like set)
f1(z) = A z + B _z (確率:1/2)
f2(z) = C(z-1) + D(_z-1) + 1 (確率:1/2)
A=0+0i , B=1/2+sqrt(3)/6i , C=0+0i , D=2/3+0i , Zo=0+0i
繰り返し回数 16000
参考までにマクロを載せておきます
//**********************************************************************************
#macro Imult(Z1,Z2) < Z1.x*Z2.x-Z1.y*Z2.y , Z1.x*Z2.y+Z1.y*Z2.x > #end
//**********************************************************************************
#macro Complex_hata(Nmax,Ac,Bc,Cc,Dc,Zc,Sr)
#local Rnd=seed(375246); #local P0=0; #local P1=1/2; #local P2=1;
#local i=0; #while(i<Nmax) #local Jn=rand(Rnd);
#if(P0<Jn & Jn<=P1)
#local Zc=Imult(Ac,Zc)+Imult(Bc,<Zc.x,-Zc.y>); #end
#if(P1<Jn & Jn<=P2)
#local Zc=Imult(Cc,Zc-<1,0>)+Imult(Dc,<Zc.x,-Zc.y>-<1,0>)+<1,0>; #end
sphere { Zc,Sr }
#local i=i+1; #end
#end // macro end
//**********************************************************************************
#local Nmax=16000; #local Sc=200; #local Sr=0.5/Sc;
#local Ac=<0,0>; #local Bc=<1/2,sqrt(3)/6>; #local Cc=<0,0>;
#local Dc=<2/3,0>; #local Zc=<0,0>;
union { Complex_hata(Nmax,Ac,Bc,Cc,Dc,Zc,Sr)
pigment { color rgb <0.323,0.956,0.372> } scale Sc translate <-100,-12> }