:ϵͳ 

ʽ: 
[x,y,z]=FractalIFS2(a,p,n,xyz,LoopSum) 
[x,y,z]=FractalIFS2(a,p,n,xyz) 
[x,y,z]=FractalIFS2(a,p,n) 
[x,y,z]=FractalIFS2(a,p) 

a:Ա任ϵͳϵ,Ƕά,aһm*6ľ,άһm*12ľ
p:mĸʾ,ԪشС,ÿһԪصĸʶӦaе.עpһԪزС1
n:,ĬΪ100000
xyz:ʼֵ,ǶάֵΪһ2Ԫصľ,һ3Ԫصľ
LoopSum:ÿһݼ,ĬΪ1

ԭ:
 p = [ p(1) , p(2) ,  , p(m) ]
1ڶά
    ÿһ(x,y)
    {
	    k=1
	    x1=x
	    y1=y
	    while (k<=LoopSum)
	    {
	        r=01֮
		    If (r < p(1)) then
		       {
			        x0=a(1,1)*x1+a(1,2)*y1+a(1,3)
			        y0=a(1,4)*x1+a(1,5)*y1+a(1,6)
		       }
		    else if( r < p(2)) then
		       {
			        x0=a(2,1)*x1+a(2,2)*y1+a(2,3)
			        y0=a(2,4)*x1+a(2,5)*y1+a(2,6)
		       }
		    
		    else
		       {
			        x0=a(m,1)*x1+a(m,2)*y1+a(m,3)
			        y0=a(m,4)*x1+a(m,5)*y1+a(m,6)
		       }
		       
		    x1=x0
		    y1=y0
		    k=k+1
	    }
	    x=x1
	    y=y1
    }

2ά
    ÿһ(x,y,z)
    {
	    k=1
	    x1=x
	    y1=y
	    z1=z
	    while (k<=LoopSum)
	    {
	        r=01֮
		    If (r < p(1)) then
		       {
			        x0=a(1,1)*x1+a(1,2)*y1+a(1,3)*z1+a(1,4)
			        y0=a(1,5)*x1+a(1,6)*y1+a(1,7)*z1+a(1,8)
			        z0=a(1,9)*x1+a(1,10)*y1+a(1,11)*z1+a(1,12)
		       }
		    else if( r < p(2)) then
		       {
			        x0=a(2,1)*x1+a(2,2)*y1+a(2,3)*z1+a(2,4)
			        y0=a(2,5)*x1+a(2,6)*y1+a(2,7)*z1+a(2,8)
			        z0=a(2,9)*x1+a(2,10)*y1+a(2,11)*z1+a(2,12)
		       }
		    
		    else
		       {
			        x0=a(m,1)*x1+a(m,2)*y1+a(m,3)*z1+a(m,4)
			        y0=a(m,5)*x1+a(m,6)*y1+a(m,7)*z1+a(m,8)
			        z0=a(m,9)*x1+a(m,10)*y1+a(m,11)*z1+a(m,12)
		       }
		       
		    x1=x0
		    y1=y0
		    z1=z0
		    k=k+1
	    }
	    x=x1
	    y=y1
	    z=z1
    }

ע:ֻ{FractalIFS<\FractalIFS>}һ

//ο:ﲩ.㷨Visual C++ʵ[M].ѧ,:86-108

:

a =
[ 0.78787900000000   -0.42424200000000    1.75864700000000    0.24242400000000    0.85984800000000    1.40806500000000
 -0.12121200000000    0.25757600000000   -6.72165400000000    0.05303000000000    0.05303000000000    1.37723600000000
  0.18181800000000   -0.13636400000000    6.08610700000000    0.09090900000000    0.18181800000000    1.56803500000000 ]
p =
[ 0.90000000000000    0.05000000000000    0.05000000000000 ]

//1֪ϵaԼӦÿһϵֵĸp,ʱķͼ

p={SumAdd<\SumAdd>}(p);//ִбʽе
[x,y]=FractalIFS2(a,p);//سԵõxy
{PlotPoint2D<\PlotPoint2D>}(x,y)
{<http://img2.ph.126.net/aVp9bAN6a_PYXPpVDPSkzg==/6630487223560443653.png>}
//2apµֵ,ִͬԵõµͼ
a =
[ 0.25500000000000    0.00000000000000    0.37260000000000    0.00000000000000    0.25500000000000    0.67140000000000
  0.25500000000000    0.00000000000000    0.11460000000000    0.00000000000000    0.25500000000000    0.22320000000000
  0.25500000000000    0.00000000000000    0.63060000000000    0.00000000000000    0.25500000000000    0.22320000000000
  0.37000000000000   -0.64200000000000    0.63560000000000    0.64200000000000    0.37000000000000   -0.00610000000000 ]
p =
[ 0.20000000000000    0.20000000000000    0.20000000000000    0.40000000000000 ]
{<http://img2.ph.126.net/FJ7aOTwH4tL_bqPbEs8KQQ==/1059753287333850674.png>}
//3apµֵ,ִͬԵõµͼ
a =
[ 0.74545500000000   -0.45909100000000    0.88712100000000    0.40606100000000    0.88712100000000    0.69107200000000
 -0.42424200000000   -0.06515200000000    3.80956700000000   -0.17575800000000   -0.21818200000000    6.72147600000000 ]
p =
[ 0.80000000000000    0.20000000000000 ]
{<http://img2.ph.126.net/p-Pl6Pl4GIANVYJh7KLUFg==/6630593876188809377.png>}
//4apµֵ,ִͬԵõµͼ
a =
[ 0.82407400000000    0.28148200000000   -1.88229000000000   -0.21234600000000    0.86419800000000   -0.11060700000000
  0.08827200000000    0.52098800000000    0.78536000000000   -0.46388900000000   -0.37777800000000    8.09579500000000 ]
p =
[ 0.80000000000000    0.20000000000000 ]
{<http://img0.ph.126.net/ul7SwqwpeenXIasYuKlHVw==/6619420639026680310.png>}
//5apµֵ,ִͬԵõµͼ
a =
[ 0.00000000000000    0.00000000000000    0.00000000000000    0.00000000000000    0.25000000000000   -0.14000000000000
  0.85000000000000    0.02000000000000    0.00000000000000   -0.02000000000000    0.83000000000000    1.00000000000000
  0.09000000000000   -0.28000000000000    0.00000000000000    0.30000000000000    0.11000000000000    0.60000000000000
  0.09000000000000    0.25000000000000    0.00000000000000    0.30000000000000    0.09000000000000    0.70000000000000 ]
p =
[ 0.02000000000000    0.84000000000000    0.07000000000000    0.07000000000000 ]
{<http://img1.ph.126.net/q8ia2391NhYbtDMYsSyhFA==/6630930326746935745.png>}
//6apµֵ,ִͬԵõµͼ
a =
[ 0.00000000000000    0.00000000000000    0.00000000000000    0.00000000000000    0.16000000000000    0.00000000000000
  0.85000000000000    0.04000000000000    0.00000000000000   -0.04000000000000    0.85000000000000    1.60000000000000
  0.20000000000000   -0.26000000000000    0.00000000000000    0.23000000000000    0.22000000000000    1.60000000000000
 -0.15000000000000    0.28000000000000    0.00000000000000    0.26000000000000    0.24000000000000    0.44000000000000 ]
p =
[ 0.01000000000000    0.85000000000000    0.07000000000000    0.07000000000000 ]
{<http://img0.ph.126.net/VHMzQD4jGs1WqyRsM4UJmQ==/6608587150958021301.png>}
//7apµֵ,ִͬԵõµͼ(ý)
a =
[ 0.80000000000000    0.00000000000000    0.00000000000000    0.00000000000000   -0.80000000000000    0.00000000000000
  0.40000000000000   -0.20000000000000    1.10000000000000    0.20000000000000    0.40000000000000    0.00000000000000 ]
p =
[ 0.50000000000000    0.50000000000000 ]
{<http://img1.ph.126.net/dYNQfc2guGa4lLrt7UffOw==/6630078205234915486.png>}