Visualisation de fonction en 3D
Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

Visualisation de fonction en 3D



  1. #1
    lesurveilleur

    Visualisation de fonction en 3D


    ------

    Bonsoir,

    J'ai le code suivant : https://pastebin.com/NNpeEnqh qui sert à tracer des fonctions en 1D.

    Je cherche à l'adapter pour tracer une fonction 3D qui n'est PAS la combinaison linéaire de coordonnés suivant x et y comme par exemple :

    2022-10-07 13_04_11-2003-2004 - examen_L3_physinfo_2020-2021_session1.pdf.png

    Je ne sais pas comment m'y prendre ...

    Pouvez-vous m'aider ?

    Merci.

    -----
    Images attachées Images attachées  
    Dernière modification par lesurveilleur ; 07/10/2022 à 12h05.

  2. #2
    umfred

    Re : Visualisation de fonction en 3D

    l'aide de matplotlib ne te donne pas de piste ?
    (tu parles de fonction 1D, mais tu voulais sans doute dire 2D, non?)

  3. #3
    lesurveilleur

    Re : Visualisation de fonction en 3D

    Disons que je peux pas avoir :

    t = i * dt
    y =f(y)
    x=f(x)
    line.set_data(x, y)

    car f dépend de x ET y.

    Je vois pas quelle commande utiliser...
    Je débute

  4. #4
    umfred

    Re : Visualisation de fonction en 3D

    bah tu as x, y et z=f(x,y), pas de t dans l'équation; si un t pour l'animation, c'est qu'à chaque t, tu as un couple (x,y) différent

  5. A voir en vidéo sur Futura
  6. #5
    lesurveilleur

    Re : Visualisation de fonction en 3D

    J'ai ce code qui ne marche pas ^^

    https://pastebin.com/PAeVUC15

  7. #6
    JPL
    Responsable des forums

    Re : Visualisation de fonction en 3D

    Les codes doivent être postés ici sous forme texte dans un message en utilisant la balise [Code]...[/Code] (ou l’icône # dans l’éditeur en mode étendu).
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  8. #7
    lesurveilleur

    Re : Visualisation de fonction en 3D

    #
    Code:
    import numpy as np
    import matplotlib.pyplot as plt
    import matplotlib.animation as animation
     
    dt = 0.2
     
    xmin = -8
    xmax = 10
    ymin = -8
    ymax = 10
    nbx = 2051
     
    x = np.linspace(xmin, xmax, nbx)
    y = np.linspace(ymin, ymax, nbx)
     
    fig = plt.figure() # initialise la figure
    line, = plt.plot([], []) 
    plt.xlim(xmin, xmax)
    plt.ylim(ymin,ymax)
    plt.zlim=(-1,1)
     
    def animate(i): 
        
        z = np.sin((x-1))/(y-1)
        line.set_data(x, y,z)
        return line,
     
    ani = animation.FuncAnimation(fig, animate, frames=100, interval=1, blit=True, repeat=False)
    plt.show()
    # ça marche pas
    Dernière modification par JPL ; 07/10/2022 à 15h29. Motif: ajout de la balise Code (#) pour garder l’indentation

  9. #8
    umfred

    Re : Visualisation de fonction en 3D


  10. #9
    lesurveilleur

    Re : Visualisation de fonction en 3D

    Je suis toujours bloqué :
    Code:
    import numpy as np
    import matplotlib.pyplot as plt
    import matplotlib.animation as animation
     
    dt = 0.2
     
    xmin = -8
    xmax = 10
    ymin = -8
    ymax = 10
    nbx = 2051
     
    x = np.linspace(xmin, xmax, nbx)
    y = np.linspace(ymin, ymax, nbx)
     
    
    
    fig = plt.figure()
    ax = fig.add_subplot(projection="3d")
    
    # Create lines initially without data
    lines = [ax.plot([], [], [])[0] ]
    
    # Setting the axes properties
    ax.set(xlim3d=(0, 1), xlabel='X')
    ax.set(ylim3d=(0, 1), ylabel='Y')
    ax.set(zlim3d=(0, 1), zlabel='Z')
    
     
    def animate(line): 
        
        z = np.sin((x-1))/(y-1)
        line.set_data(x, y,z)
        return line,
     
    ani = animation.FuncAnimation(fig, animate, frames=100, interval=1, blit=True, repeat=False)
    plt.show()
    J'ai essayé d'enlever les objets ayant un rapport avec la marche aléatoire, mais ça ne s’exécute pas sans erreurs.

  11. #10
    umfred

    Re : Visualisation de fonction en 3D

    regarde les lignes qui sont dans ton animate et celles du lien que j'ai mis.
    tel quel, la variable line est indéfini et lines non utilisé
    (de toute façon il y a aura des erreurs puisque division par 0, comme dans ton premier code)

  12. #11
    lesurveilleur

    Re : Visualisation de fonction en 3D

    Code:
    import numpy as np
    import matplotlib.pyplot as plt
    
    x = np.array([-1, 1])
    
    y = np.array([-3, 3])
    
    X, Y = np.meshgrid(x, y)
    
    Z = np.sin(y)*np.exp(-x**2)# calcul du tableau des valeurs de Z
    
    
    plt.plot(X, Y, Z)
    
    plt.show()
    J'ai changé d'approche, mais ça ne m'affiche pas ce qu'il faut ;(
    Dernière modification par JPL ; 09/10/2022 à 13h16. Motif: La balise Code doit contenir uniquement du code et pas d’autre balise

Discussions similaires

  1. Visualisation PDF [Résolu]
    Par johnpaul14 dans le forum Internet - Réseau - Sécurité générale
    Réponses: 9
    Dernier message: 25/05/2020, 13h22
  2. Visualisation d'un electron
    Par RevaMD dans le forum Physique
    Réponses: 28
    Dernier message: 16/03/2017, 11h50
  3. Matlab: définition et visualisation de fonction 3D
    Par invitec2c3c226 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 29/01/2010, 18h17
  4. Visualisation M71
    Par invite84bcf745 dans le forum Matériel astronomique et photos d'amateurs
    Réponses: 5
    Dernier message: 04/07/2009, 17h54
  5. Circuit de visualisation (DEL)
    Par invitee3ca0449 dans le forum Électronique
    Réponses: 2
    Dernier message: 10/04/2005, 18h46