Nous partons du pixel central et à chaque étape, nous nous se déplaçons aléatoirement vers le pixel qui est soit au dessus, en dessous, à droite ou à gauche. Il y a 200 000 étapes. Il s'agit de donner une image de la trajectoire en créant d'abord une matrice que l'on convertit ensuite en image.
On a fabriqué une matrice 1601×1601 pleine de 0 (correspondant à la couleur noire ). À chaque étape, le terme de la matrice correspondant à la nouvelle position est augmenté de 25, le pixel correspondant s'éclaircit. Au bout de 11 passages, le pixel a la clarté maximale puisque le terme de la matrice dépasse 255.
Pour une présentation plus agréable, on a découpé la partie intéressante de l'image obtenue avec Octave. Curieusement les formes qu'on obtient sont très varièes. La promenade dure une trentaine de secondes…
n=800;
k=200000;
tic
#construction de la matrice
m=2*n+1;
M=zeros(m);
#construction des listes
#aleatoire
a=rand(1,k);
a=floor(4*a);
#coordonnees
x=zeros(1,k+1);
y=zeros(1,k+1);
x(1)=n+1;
y(1)=n+1;
for e=1:k,
x(e+1)=x(e);
y(e+1)=y(e);
switch( a(e))
case 0
x(e+1)++ ;
case 1
x(e+1)--;
case 2
y(e+1)++ ;
case 3
y(e+1)-- ;
endswitch
M(x(e),y(e))=min(M(x(e),y(e))+1,255);
endfor;
M=uint8(25*M);
imwrite('promenade31.png',M)
t=tocOn crée une iste de 200 000 nombres aléatoires prenant les valeurs 0, 1, 2 ou 3. Suivant le nombre obtenu, on se déplace vers le haut, le bas, la droite ou la gauche.
fait le 20 août 2008