IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Calcul scientifique Python Discussion :

3D triangle matplotlib


Sujet :

Calcul scientifique Python

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2017
    Messages : 2
    Points : 1
    Points
    1
    Par défaut 3D triangle matplotlib
    Bonsoir, je me retrouve face à un léger souci en souhaitant faire de la 3D sur matplotlib.

    Je souhaite appliquer une équation sur un triangle, or le module ne semble vouloir me tracer qu'un carré.

    NB : j'ai importé le module Axes3D

    Voici le code qui me pose problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    A=np.linspace(-a,a,100)
    YY=np.linspace(-l/2,deltal,100) 
    plt.plot(X,Y,color="purple")
    #YY=b/(x-a)*A ici j'ai essayé de tracer mon triangle mais ça n'a pas marché
    A,YY=np.meshgrid(A,YY)
    mu=(b)*(1.-A**2/(a**2))**1/2.
    alpha=-mu/(l/2.+deltal)
    Z=alpha*YY-alpha*deltal
    surf = ax.plot_wireframe(A,YY,Z,cmap='autumn', cstride=10, rstride=10)

  2. #2
    Membre éprouvé

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    654
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 654
    Points : 1 150
    Points
    1 150
    Par défaut
    Salut,

    Je ne peux lancer votre code car il manque certaines données comme la variable a. Votre question n'est pas très claire, est-ce que vous avez du mal à "afficher" un triangle avec matplotlib? Si c'est le cas, voici un exemple d'utilisation de Poly3DCollection:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    import matplotlib.pyplot as plt
    from mpl_toolkits.mplot3d import Axes3D
    from mpl_toolkits.mplot3d.art3d import Poly3DCollection
     
    panels = (
        ((1, 1, 1), (1, -1, 1), (1, -1, 0)),
        ((0, 1, 1), (0, -1, 1), (1, -1, 1)),
        )
     
    fig = plt.figure()
    ax = Axes3D(fig)
     
    for vertices in panels:
        triangle = Poly3DCollection([vertices], alpha=0.1)
        ax.add_collection3d(triangle)
     
    plt.show()
    Fonctionne sous python 2 et 3. Enfin je ne sais pas si c'est un bug, mais sous matplotlib 2.0 mon triangle est "plein" et non transparent comme il devrait l'être avec l'argument alpha=0.1 (et comme il l'était quand j'avais bossé le sujet).

    Julien

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Février 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2017
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Ah désolée, je n'avais pas fait attention !

    En fait mon problème est de modéliser une surface dont la base est un triangle : Nom : Photo .png
Affichages : 1198
Taille : 101,3 Ko

    Le problème c'est que mes axes forment un carré (manifestement), et je ne vois décidément pas comment faire que X et Y forment un triangle, pour que la surface en hauteur s'applique sur ce triangle et non sur un carré

    Polygones3D me semble pas mal mais je ne vois pas comment l'appliquer pour résoudre le problème

    Moi aussi les triangles s'affiches plein d'ailleurs, mais c'est pas tellement un problème ici

  4. #4
    Membre éprouvé

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    654
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 654
    Points : 1 150
    Points
    1 150
    Par défaut
    Hmm, là j'avoue je ne vois pas comment non plus. Il y a toujours la possibilité de se passer d'une fonction toute faite et de tracer chaque "maille" à la main. Mais la manipulation des données risque d'être assez coton.

Discussions similaires

  1. Point à l'intérieur d'un triangle ?
    Par remi77 dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 15/05/2017, 14h49
  2. [ALGO] dessiner un triangle dans le bon sens
    Par lefait dans le forum Algorithmes et structures de données
    Réponses: 13
    Dernier message: 05/02/2005, 14h38
  3. Intersection entre 2 triangles?? (3D)
    Par supergrey dans le forum DirectX
    Réponses: 1
    Dernier message: 25/08/2004, 09h22
  4. [Algo] Point appartenant au triangle
    Par alexthomas dans le forum OpenGL
    Réponses: 12
    Dernier message: 05/03/2004, 16h31
  5. [3D] Triangles
    Par Frederic dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 08/11/2002, 23h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo