Iterated Function Systems (IFS)
Systèmes de fonctions itérées.
Code Mathematica :
IFS–Matrix[iter_,a_,b_] := (
Clear[s];
image = Image[
RandomInteger[{0,255}, {512,512}], "Byte",
ColorSpace->"Graylevel"];
{n,m} = Dimensions[a];
dim = ImageDimensions[image] / {n,m};
s = Table[image, {n}, {m}];
Do[(
img = ImageResize[image, dim];
For[i = 1, i <= n, i++,
For[j = 1, j <= m, j++,
s[[i]][[j]]=
ImageMultiply[
ImageAdd[img, b[[i]][[j]]], a[[i]][[j]]
];
];
];
image = ImageAssemble[s];
), {iter}];
image)
IFS–Matrix–Random[iter_:10,n_:2,m_:2] := (
a = RandomReal[{0.5,1.5}, {n,m}];
b = RandomReal[{-0.2,0.2}, {n,m}];
IFS–Matrix[iter, a, b]
)
IFS–tab = Table[IFS–Matrix–Random[10, 2, 2], {3}]
Table[ColorCombine[RandomSample[IFS–tab,3]], {10}]
Manipulate[
IFS–Matrix–Random[i,n,m],
{i,1,20,1},
{n,1,8,1},
{m,1,8,1}
] |
Téléchargement : IFS-Matrix.nb














































































































































































































