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

Python Discussion :

Gérer de la 3D avec Python


Sujet :

Python

  1. #1
    Membre éclairé Avatar de nekcorp
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2006
    Messages : 592
    Par défaut Gérer de la 3D avec Python
    Bonjour à tous,

    Voilà je suis entrain de me lancer sur un petit soft pour la résolution de problèmes par éléments finis. J'avais commencé par la partie calcul avec création des matrices et leur résolutions. Mais la je souhaite faire un break

    Je souhaite maintenant, même si la première partie n'est pas entièrement finie, passer à la partie graphique et la gestion des différents éléments de mon problème (noeuds, éléments, propriétés etc .....)

    Donc pour éviter de commencer de manière trop brutale je souhaite être en mesure d'importer un fichier texte (fichier Nastran pour ceux qui connaissent), dans lequel mon problème est définie (coordonnées des noeuds, repères, éléments finis associés) pour avoir une visu de mon modèle dans une fenêtre et la possiblité de la faire pivoter, translater, zoomer etc .......

    Je voulais donc savoir qu'elle bibliothèque je dois utiliser ? J'ai fais quelques recherches biensur avant de poster ici, mais je voulais des retours d'utilisations meme si ce n'est pas dans le même domaine que moi.

    Je souhaiterai quelque chose qui soit fluide, et simple, si celà existe biensur.

    Merci d'avance pour vos réponses.

  2. #2
    Expert confirmé

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Par défaut
    Salut,

    Par rapport à tes besoins, je verrais deux solutions: matplotlib et OpenGL.

    Matplotlib te permettra de faire des courbes 2D et 3D de manière mathematique. OpenGL te permettra de faire ces memes courbes, mais de maniere bien plus technique. Là il s'agit de savoir ce que tu desires.

    Bien entendu il n'y a pas que ces libs là, mais c'est ce qui me vient à l'esprit en lisant ton post.

    Matplotlib en 3D je n'ai fait que quelques tests, et si tu as un jeu de données toutes pretes ce ne sera pas forcement tres compliqué, tout dependra du parametrage de ta courbe.

    OpenGL, je l'ai etudié de manière un peu plus poussé dans mon livre. Relativement simple aussi quand on reste basique. Là aussi, c'est surtout le parametrage qui complexifie le code.

  3. #3
    Membre émérite

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    662
    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 : 662
    Par défaut
    Salut tout le monde.

    J'ai eu besoin il n'y a pas longtemps de représenter un maillage 3D. J'ai fait quelques recherches sur le net et il y a pas mal de choses intéressantes. Mais tu es certainement déjà tombé dessus. Il y a cependant un outil qui me semblait particulièrement prometteur: vtk (cf lien ci-dessous) pour lequel il y a un binding python (pyVTK).

    Mais finalement, tout comme le suggère Deusyss, je me suis orienté vers matplotlib. Mon besoin était simple, ma géométrie peu complexe et uniquement composée de triangles. Avec matplotlib, on peut définir des "patchs" dans l'espace pour former des geometries 2D (triangles, quadrangles...). C'est vraiment très simple. De plus, tu peux par la suite intégrer ton graph dans un GUI, tu peux profiter des avantages de matplotlib pour zoomer, t'orienter autour de la figure et enregistrer l'image au format png... Tu peux aussi pousser le vice jusqu'à donner une couleur différente à chacun de tes patchs. Je n'ai pas de fichier Nastran sous la main, mais je suis certain que le parser avec python et tracer avec matplotlib serait un jeu d'enfant.

    N'hésites pas à me demander une version épurée de mon code pour tester.

    http://www.vtk.org/
    https://www.google.fr/url?sa=t&rct=j...66917471,d.bGQ

    Ju

  4. #4
    Membre éclairé Avatar de nekcorp
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2006
    Messages
    592
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2006
    Messages : 592
    Par défaut
    Citation Envoyé par deusyss Voir le message
    Salut,

    Par rapport à tes besoins, je verrais deux solutions: matplotlib et OpenGL.

    Matplotlib te permettra de faire des courbes 2D et 3D de manière mathematique. OpenGL te permettra de faire ces memes courbes, mais de maniere bien plus technique. Là il s'agit de savoir ce que tu desires.

    Bien entendu il n'y a pas que ces libs là, mais c'est ce qui me vient à l'esprit en lisant ton post.

    Matplotlib en 3D je n'ai fait que quelques tests, et si tu as un jeu de données toutes pretes ce ne sera pas forcement tres compliqué, tout dependra du parametrage de ta courbe.

    OpenGL, je l'ai etudié de manière un peu plus poussé dans mon livre. Relativement simple aussi quand on reste basique. Là aussi, c'est surtout le parametrage qui complexifie le code.
    Alors deusyss, super ton livre franchement j'ai même trouvé des choses dont je sais que je vais avoir besoin dans quelques temps .

    Salut tout le monde.

    J'ai eu besoin il n'y a pas longtemps de représenter un maillage 3D. J'ai fait quelques recherches sur le net et il y a pas mal de choses intéressantes. Mais tu es certainement déjà tombé dessus. Il y a cependant un outil qui me semblait particulièrement prometteur: vtk (cf lien ci-dessous) pour lequel il y a un binding python (pyVTK).

    Mais finalement, tout comme le suggère Deusyss, je me suis orienté vers matplotlib. Mon besoin était simple, ma géométrie peu complexe et uniquement composée de triangles. Avec matplotlib, on peut définir des "patchs" dans l'espace pour former des geometries 2D (triangles, quadrangles...). C'est vraiment très simple. De plus, tu peux par la suite intégrer ton graph dans un GUI, tu peux profiter des avantages de matplotlib pour zoomer, t'orienter autour de la figure et enregistrer l'image au format png... Tu peux aussi pousser le vice jusqu'à donner une couleur différente à chacun de tes patchs. Je n'ai pas de fichier Nastran sous la main, mais je suis certain que le parser avec python et tracer avec matplotlib serait un jeu d'enfant.

    N'hésites pas à me demander une version épurée de mon code pour tester.
    Julien N, merci pour ta réponse, cela me donne des pistes différentes de ce que j'ai pu trouver pour l'instant. Ton maillage servait pour quels genre de projets ?

    Pour le fichier Nastran je pourrais t'en filer un si tu veux regarder, mais oui effectivement le parser n'est pas très dur, car la mise en forme est formelles et tu peux trouver sous le site Msc Software la "bible" du format Nastran.

    Je reviens vers vous dans peu de temps, je vais essayé de me lancer sur un cas très simple.

    encore merci

  5. #5
    Membre émérite

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    662
    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 : 662
    Par défaut
    Citation Envoyé par nekcorp Voir le message
    Ton maillage servait pour quels genre de projets ?
    J'avais besoin (en fait j'en ai toujours besoin) de représenter "mathématiquement" un volume pouvant être concave (comme un beignet par exemple) dans lequel se balade un point. Mon objectif est de determiner si ce point reste dans le volume ou en sort. La representation n'est là que pour voir si c'est juste ou non, montrer les cas qui ne satisfont pas mon critère et aussi faire joli (c'est très important).

    Pour obtenir quelque chose comme ceci:
    Nom : Example.png
Affichages : 798
Taille : 107,1 Ko

    J'ai fait un truc vraiment très simple mais qui colle parfaitement avec ce que je désirais.

    J

  6. #6
    Expert confirmé

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Par défaut
    Alors deusyss, super ton livre franchement j'ai même trouvé des choses dont je sais que je vais avoir besoin dans quelques temps .
    Merci beaucoup. Je l'ai fait dans le but d'aider, donc j'espère que cela t'aidera.

    SInon, une info qui peut peut etre servir. Je suis en train de travailler sur un scanner laser 3D Open Source, et je genere des fichier nuage de point. EN cherchant à transformer cela en STL, j'ai decouvert la fonction DELAUNAY de la lib scipy, qui permet d'effectuer un maillage à partir d'un nuage de point.

    Cela peut interesser

Discussions similaires

  1. Gérer un fichier XML avec Python
    Par ffets dans le forum Général Python
    Réponses: 25
    Dernier message: 31/10/2007, 14h47
  2. création de base mySQL avec python
    Par preacher_man dans le forum Bibliothèques tierces
    Réponses: 7
    Dernier message: 23/06/2006, 19h38
  3. Réponses: 2
    Dernier message: 19/12/2005, 13h15
  4. Les 128 derniers bits d'un fichier en ligne avec Python ?
    Par ecocentric dans le forum Réseau/Web
    Réponses: 7
    Dernier message: 26/09/2005, 12h40
  5. gérer les erreurs intebase avec delphi
    Par mondanikoffi dans le forum Bases de données
    Réponses: 1
    Dernier message: 14/12/2004, 15h46

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