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
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
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
calculer les coordonnées du point E tel que
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
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
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
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
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 ...
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
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :