CI n°5 – TD Mandelbrot

Un TD pour

  • réactiver la notion de classe
  • introduire la notion d’image pgm (avant les ppm)
  • avec une gestion de fichier par python

Le sujet :

Le fichier de départ :

class Complexe:
    pass

def somme_c(z1, z2):
    """
    z1 et z2 instances de Complexe
    renvoie une instance de Complexe égale à la somme dans C de z1 et z2
    """
    pass

def produit_c(z1, z2):
    """
    z1 et z2 instances de Complexe
    renvoie une instance de Complexe égale au produit dans C de z1 et z2
    """
    pass

def module(z):
    """
        z : une instance de Complexe
        Cette fonction renvoie un flottant : le module de z
    """
    pass

def cree_image_pgm(larg, haut, pixels, fichier):
    pass

def pixel_vers_Complexe(xp, yp, largeur, hauteur, xmin, xmax, ymin, ymax):
    pass

def terme_mandelbrot_suivant(zn, c):
    """
        c : le complexe où est calculé la valeur de la fract
        Préconditions : aucune
        zn: un complexe
        Cette fonction renvoie le terme suivant de la suite de Mandelbrot
    """
    pass

def entier_de_mandelbrot(c, barre):
    """Niveau de gris associé à un complxe

        c : un nombre complexe
        Préconditions : aucune
        Cette fonction calcule la valeur de la fractale de Mandelbrot à partir de z0
        La valeur de retour de cette fonction est un entier compris entre 0 et 255
    """
    pass

def cree_liste_pixels(xmin, xmax, ymin, ymax, largeur, hauteur, barre):
    pass

largeur = 1300
hauteur = 1000

xmin = -2
xmax = 0.6
ymin = -1
ymax = 1
barre = 2

fichier = "mandelbrot.pgm"
liste = cree_liste_pixels(xmin, xmax, ymin, ymax, largeur, hauteur, barre)
cree_image_pgm(largeur, hauteur, liste, fichier)

mandelbrot avec repère min max

Le corrigé est sur moodle.

J’ai enregistré une vidéo à la demande de certain.e.s étudiant.e.s. C’est maladroit et « à l’arrache », mieux au début qu’à la fin, et c’est ci-dessous…

N'hésitez-pas à poser une question, ou faire avancer le schmilblick

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.