Je suis nouveau, je vais essayer d'être le plus clair possible quant'à mon problème.
Dans le cadre d'un cours de maths, je dois programmer un labyrinthe fractal basé sur la courbe de peano:
http://fr.wikipedia.org/wiki/Courbe_de_Peano Pour ceux qui ne connaissent pas.
Je peine à finir ma courbe, le motif de base est là, la fractal aussi, il me faut maintenant relier les différents motifs, pour que la courbe ne soit plus faite de segments.
Si quelqu'un s'y connait un peu en scilab ou simplement en la programmation de la courbe de peano: un algorithme ou une aide serait la bienvenue.
Voilà ou j'en suis (le programme marche sou SCILAB: téléchargable gratuitement):
- Code: Tout sélectionner
/////////////////////////
/// Labyrinth fractal ///
/////////////////////////
// Initialisation
clear;clf;
//Fonctions
function FINAL(iteration)
drawlater;
x_coordonnee = 0;
y_coordonnee = 0;
Longueur = 1;
compteur = 0;
alpha = 0;
function [X,Y]=ArnoN(x_coordonnee,y_coordonnee,iteration,Longueur,compteur,alpha)
X($+1) = x_coordonnee-Longueur/3;
X($+1) = X($);
X($+1) = X($);
X($+1) = X($)+Longueur/3;
X($+1) = X($);
X($+1) = X($);
X($+1) = X($)+Longueur/3;
X($+1) = X($);
X($+1) = X($);
Y($+1) = y_coordonnee-Longueur/3;
Y($+1) = Y($)+Longueur/3;
Y($+1) = Y($)+Longueur/3;
Y($+1) = Y($);
Y($+1) = Y($)-Longueur/3;
Y($+1) = Y($)-Longueur/3;
Y($+1) = Y($);
Y($+1) = Y($)+Longueur/3;
Y($+1) = Y($)+Longueur/3;
if iteration == 1
plot(X,Y)
else
Longueur = Longueur/3;
if iteration > (compteur+1)
compteur = compteur+1;
for i = 1:9
[x_fin,y_fin]=ArnoN(X(i),Y(i),iteration,Longueur,compteur,alpha);
alpha = alpha+%pi/2;
y_fin = abs(sin(alpha))*y_fin+abs(cos(alpha))*(-y_fin);
if (compteur+1) == iteration
plot(x_fin,y_fin);
end
end
end
end
endfunction
ArnoN(x_coordonnee,y_coordonnee,iteration,Longueur,compteur,alpha)
drawnow;
endfunction
FINAL(3)
Un grand merci pour l'attention que vous porterez à ma requête.