Fougère de Barnsley

Bonjour,
J'ai choisi de poster dans cette catégorie parce qu'en fait je ne savais pas ou placer ma question.
J'ai prochainement un exposé sur les fractales et la fougère de Barnsley et je n'arrive pas à trouver sa dimension de [large]H[/large]aussdorf-[large]B[/large]esicovitch. Si c'est faisable, est-ce que qqn quelqu'un pourrait m'expliquer comment la trouver (pour la fougère, pas en général).
Merci d'avance.

[Felix Hausdorff (1868-1942), Abram Besicovitch (1891-1970) et Michael Barnsley (1946- ) prennent toujours une majuscule. AD]

Réponses

  • Bonjour,

    A défaut de dimension, voilà un programme en Python:
    ###################################################################
    # Fougère de Barnsley
    ###################################################################
    
    import matplotlib.pyplot as plt
    import numpy as np
    
    ###################################################################
    
    def Barnsley(x,y,n):
        Tabx=[x]
        Taby=[y]
        for k in range(n):
            r=np.random.rand()
            if r < 0.02:
                x, y = 0.5, 0.27*y
            elif r < 0.17:
                x, y = -0.139*x + 0.263*y +0.57, 0.246*x + 0.224*y - 0.036
            elif r < 0.3:
                x, y = 0.17*x - 0.215*y + 0.408, 0.222*x + 0.176*y + 0.0893
            else:
                x, y = 0.781*x + 0.034*y + 0.1075, -0.032*x + 0.739*y +0.27
            Tabx.append(x)
            Taby.append(y)
        return Tabx, Taby
    
    ###################################################################
    
    x, y = 0.5, 0.0
    n = 30000
    
    Tabx2, Taby2 = Barnsley(x,y,n)
    plt.figure()
    plt.plot(Tabx2,Taby2, marker='o', markeredgewidth=0.05, color='springgreen',linestyle='None')
    plt.show()
    

    Cordialement,

    Rescassol
Connectez-vous ou Inscrivez-vous pour répondre.