Carré de Sierpinski

python

a marqué ce sujet comme résolu.

Bonjour, j’ai un problème avec un exercice à faire en Python. L’exercice repose sur la récursivité. Il faut dessiner des carrés de coté c en partant d’un point A avec matplotlib. Le but c’est de faire un carré de Sierpinski. j’ai commencé à essayer d’afficher seulement un carré mais je ne comprends pas pourquoi cela ne fonctionne pas. Voilà mon code :

1
2
3
4
5
6
7
8
import matplotlib.pyplot as plt
def Fractale(A,c):
    x = [A[0],A[0], A[0]+c, A[0]+c]
    y = [A[1],A[1]+c, A[1]+c, A[1]+c]
    plt.plot(x, y)
    plt.show()
    plt.axis('equal')
Fractale([1,0],2)

Merci d’avance à celui ou celle qui arrivera à me débloquer :p

Salut !

On pourrait avoir un screenshot de ce que tu obtiens ?

Je pense que le problème vient du calcul de tes coordonnées. À un moment donné, tu vas avoir deux fois (A[0]+c, A[1]+c)… Essaie ça :

1
2
    x = [A[0],A[0], A[0]+c, A[0]+c]
    y = [A[1],A[1]+c, A[1]+c, A[1]]

Pas sûr que ça fonctionne, cela dit…

@Ge0, merci beaucoup pour ton aide, avec tes coordonnées ça marche nickel :D

Maintenant je m’attaque à la récursivité tant bien que mal, je fais pas d’étude d’informatique alors cet exercice est assez compliqué…

Je dois définir une fonction qui par exemple pour n = 1 me donne 1 carré de coté c et de sommet principale A, pour n=2 me donne 9 carrés de sommet principale A et de coté 1/3 et ainsi de suite … Je vois pas du tout comment commencer, des indications ?

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte