Inscription / Connexion Nouveau Sujet
Niveau calculatrices
Partager :

Algorithmique : flocon de Koch

Posté par
Monio
26-12-07 à 19:25

Bonjour,

Voici mon "petit" problème je dois programmer en C le tracer d'un contour fractale mais le problème c'est que je n'arrive pas a voir comment procèder pour cela. Donc j'aimerai un peu d'aide pour avoir son alogorithme bien rédigé.
Je me suis déjà renseigné dessus sur wikipédia ... mais j'arrive à rien snif :'(


Merci

Posté par
patrice rabiller
re : Algorithmique : flocon de Koch 26-12-07 à 20:52

Bonjour,

Le plus naturel consiste sans doute à rédiger un algorithme récursif permettant de "fractaliser" un segment donné [AB]. L'arrêt de la récursivité peut être assuré par une condition sur la longiueur du segment : dès que cette longueur est inférieure à une longueur minimale prévue à l'avance, le processus s'arrête...

Voici un premier jet :

Début Procédure VonKoch(xa,ya,xb,yb : coordonnées des extrémités du segment [AB])
   Si l

Posté par
patrice rabiller
re : Algorithmique : flocon de Koch 26-12-07 à 20:58

Zut ! j'ai changé de clavier et le coup est parti tout seul

Début Procedure VonKoch(xa,ya,xb,yb)
   Si Longueur(AB)>LongueurMini alors
       calculer les coordonnées du point C tel que \vec{AC}=\frac 1 3\vec{AB}
       calculer les coordonnées du point E tel que \vec{AE}=\frac 2 3\vec{AB}
       calculer les coordonnées du point D, ilmage du point E par la rotation de centre C et d'angle pi/3
       VonKoch(xa,ya,xc,yc)    //appel récursif
       VonKoch(xc,yc,xd,yd)    //appel récursif
       VonKoch(xd,yd,xe,ye)    //appel récursif
       VonKoch(xe,ye,xb,yb)    //appel récursif
   Sinon Tracer le segment [AB]
   FinSi
Fin Procedure VonKoch

Posté par
Monio
re : Algorithmique : flocon de Koch 27-12-07 à 22:49

Hum voici une chose qu'elle est belle je savais qu'il y avais une histoire de récursivité avec la découpe du segment en 3 ... mais là tout devient plus claire c'est la période de noël il n'y a pas de doute Bon tout n'est pas fini pour autant faut traduire cela en C le tout c'est de trouver comment calculer les coordonnées des nouveaux points.

Merci Patrice pour ce petit (même gros) coup de pouce

Posté par
patrice rabiller
re : Algorithmique : flocon de Koch 28-12-07 à 04:23

Tout le plaisir est pour moi : il y a peu de questions relatives à la programmation sur ces forums et j'ai toujours été passionné par cette activité. En revanche, l'algorithme que je t'ai donné n'est probablement pas rédigé de façon académique

Posté par
Monio
re : Algorithmique : flocon de Koch 28-12-07 à 11:02

Ah bien parce que je risque de revenir pour voir comment je peux faire pour faire des "vecteur" en C ... parce que je vois très bien la démarche qu'il faut suivre mais je bloque sur la méthode de définition des vecteur en C je n'arrive pas a changer l'orientation après chaque itération quand on met la procédure de Vonkoch dans une boucle "pour" pour faire les 3 coté du triangle.
J'espère que cette interrogation te plaira :d  

Posté par
patrice rabiller
re : Algorithmique : flocon de Koch 28-12-07 à 11:16

Personnellement, pour définir un "vecteur", j'utiliserais des tablea

Posté par
patrice rabiller
re : Algorithmique : flocon de Koch 28-12-07 à 11:22

Bon, mon nouveau clavier fait encore des siennes

Je voulais dire que j'utiliserais tout simplement un objet que je nommerais "segment", défini par 4 nombres réels (2 pour les coordonnées du premier point et 2 pour celles du second). Je ne connais pas le C, mais en Pascal (ou Delphi) je vois exactement comment je ferais. J'imagine qu'on peut faire la même chose en C ...

Pour faire les 3 côtés du triangle, j'appellerais 3 fois la procédure récursive qui permet de "fractaliser" un segment quelconque. Si ça t'intéresse, je peux te montrer un bout de code en Delphi ...

Posté par
Monio
re : Algorithmique : flocon de Koch 28-12-07 à 11:46

Hum ok oui j'aime bien la façon de faire avec les tableaux, pour faire le triangle de départ c'est bon je fais juste 2 petits tableaux mais je ne le trace pas, juste pour avoir les points pour tracer les trois côtés déjà "fractalisé" du triangle qui donneront le flocon. maintenant je pense que sa va le faire

Posté par
Monio
re : Algorithmique : flocon de Koch 28-12-07 à 11:48

Sinon pour ton clavier je dirais juste qu'il faut mettre un gros gyrophare rouge sur le bouton entrer pour que le doigt n'y aille pas



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !