Partage
  • Partager sur Facebook
  • Partager sur Twitter

Mandelbrot

    28 février 2013 à 9:23:46

    Bonjour,

    j'ai écrit un petit programme qui dessine l'ensemble de Mandelbrot, en utilisant Turtle.

    J'obtiens d'assez beaux traces mais le programme est de plus en plus lent au fur et a mesure que les heures passent et finalement le programme plante avec le message d'erreur suivant :

    Traceback (most recent call last):

      File "D:\Pictures\Fractales\MandelTheo.py", line 34, in <module>    forward(1)

      File "<string>", line 1, in forward  File "C:\Python32\lib\turtle.py", line 1637, in forward    self._go(distance)

      File "C:\Python32\lib\turtle.py", line 1605, in _go    self._goto(ende)

      File "C:\Python32\lib\turtle.py", line 3160, in _goto    self.items[:])

    MemoryError


    Je ne comprends pas pourquoi la mémoire sature, je ne stocke rien.
    Est ce du aux boucles imbriquées ?
    Ai je commis une erreur de débutant dans la structure de mon programme (c'est bien possible) ?
    Merci d'avance pour votre aide.
    Voici mon script :


    from tkinter import*
    from turtle import*
    
    up()
    goto(-600,-480)
    down()
    hideturtle()
    for yp in range (990):
          for xp in range (1225):
                x=xp/400000-1.374
                y=yp/400000+00.0837
                n=0
                a=0
                b=0
                while n<284 and ((a*a+b*b)<4):
                      c=a*a-b*b+x
                      b=2*a*b+y
                      a=c
                      n=n+1
                color ((284-n)/255,(284-n)/255,(284-n)/255)  
                forward(1)
          
          up()
          goto (-600,yp-479)
          down()



    -
    Edité par Tchae 28 février 2013 à 9:48:22

    • Partager sur Facebook
    • Partager sur Twitter
      28 février 2013 à 10:37:05

      Je ne comprends pas pourquoi la mémoire sature, je ne stocke rien.

      Toi non, à part un nombre de fixe de variables numériques, mais turtle ? Je ne suis pas certain que ce soit un module particulièrement adapté pour dessiner des fractales sans limiter sévèrement le nombre d'itérations.

      -
      Edité par nohar 28 février 2013 à 10:38:24

      • Partager sur Facebook
      • Partager sur Twitter
      Zeste de Savoir, le site qui en a dans le citron !
        28 février 2013 à 11:04:19

        Malheureusement pas le temps d'apprendre autre chose, j'ai essaye matplotlib mais je n'arrive meme pas a l'installer.

        C'est pour les portes ouvertes de mon lycee dans quatre jours et il faut que j'explique aux etudiants comment ca fonctionne...

        Merci quand meme pour la reponse, on va reprendre de plus petits fractales...

        • Partager sur Facebook
        • Partager sur Twitter
          4 mars 2013 à 18:20:12

          J'ai fait Mandelbrot avec Qt en traçant tous les points avec la fonction create_line() qui me trace une droite d'un pixel. Bien sûr, c'est lent. Il faut compter 50 secondes sur mon vieil IMac (2008), donc pas à la pointe des derniiers processeurs pour tracer la partie du graphique en 400x400 pixels, 500 itérations un différentes couleurs .

          Vpoici le résultat :

          -
          Edité par Claude_le_Lorrain 4 mars 2013 à 18:57:20

          • Partager sur Facebook
          • Partager sur Twitter

          Mandelbrot

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown