Rechercher : dans
Par :

Courbe de Peano - Scilab

Arno.R, le 12 nov 2009 à 16:40:28 
 Signaler ce message aux modérateurs

Bonjour,

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 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):



/////////////////////////
/// 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,com­pteur,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.
Configuration: Mac OS X
Scilab 4.1.2

Meilleures réponses pour « Courbe de Peano Scilab » dans :
Représentation des courbes sous Matlab Voir La fonction plot permet essentiellement de tracer des courbes sous Matlab. Dans cette astuce, nous allons essayer de détailler le fonctionnement de cette commande. Simple utilisation Vecteur Matrice Vecteur en fonction d'un autre Autres...
Télécharger Scilab VoirScilab est un logiciel libre de calcul scientifique développé par des chercheurs de l’INRIA et de l’ENPC ; il s'agit d'un "équivalent" gratuit de Matlab®. Contrairement à GNU Octave, la syntaxe est cependant parfois quelque peu différente et quelques...
Télécharger GNU Octave VoirGNU Octave est un logiciel libre de calcul scientifique, à l'image de Scilab, il s'agit d'un "équivalent" gratuit de Matlab®. Il est à noter cependant, que contrairement à Scilab, pour lequel la syntaxe peut parfois différer de Matlab®, en règle...
Traitement d'images VoirIntroduction au traitement d'images On désigne par traitement d'images numériques l'ensemble des techniques permettant de modifier une image numérique dans le but de l'améliorer ou d'en extraire des informations. Histogramme Un histogramme est...