Partage
  • Partager sur Facebook
  • Partager sur Twitter

Déplacement de points sur Python

    27 février 2016 à 12:30:19

    Bonjour 

    Je cherche à simuler et visualiser le déplacements de points sur python. Ce déplacement doit suivre pour l'instant deux règles : les points doivent atteindre et maintenir une distance constante par rapport au centre du graphique et ils doivent également s'éloigner les + possible les uns des autres. Ainsi il se répartissent donc (en théorie) de manière équidistante sur les contours d'un cercle. (c'est un programme qui sert de première étape afin de modéliser par la suite des comportements émergents et des phénomènes d'intelligence collective)
    Le soucis c'est que mes connaissances en matière de programmation sont assez limitées.
    J'ai cru comprendre que le meilleur outil pour ce genre de programme était d'utiliser matplotlib et en particulier sa fonction animation

    Je dispose déjà d'un code permettant le déplacement aléatoire d'un point et je viens ici pour demander de l'aide et des pistes afin de faire évoluer ce code vers ce que je recherche 

    Le code en question :
    import numpy as np
    from matplotlib import pyplot as plt
    from matplotlib import animation
    import random
    
    # First set up the figure, the axis, and the plot element we want to animate
    fig = plt.figure()
    ax = plt.axes(xlim=(0, 10), ylim=(0, 10))
    dot, = ax.plot([5], [5], 'ro')
    
    
    # initialization function: plot the background of each frame
    def init():
        return dot,
    
    # animation function.  This is called sequentially
    def animate(i):
        new_x = dot.get_xdata()[0] + random.uniform(-0.05, 0.05)
        new_y = dot.get_ydata()[0] + random.uniform(-0.05, 0.05)
        dot.set_data([new_x], [new_y])
        return dot,
    
    # call the animator.  blit=True means only re-draw the parts that have changed.
    anim = animation.FuncAnimation(fig, animate, init_func=init,
                                   frames=200, interval=20, blit=False)
    
    plt.show()

    Merci beaucoup !
    • Partager sur Facebook
    • Partager sur Twitter

    Déplacement de points sur Python

    × 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