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 :

utilisation de Numpy-stl


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Avril 2019
    Messages : 3
    Par défaut utilisation de Numpy-stl
    Bonjour a tous,
    Je posséde une géométrie très fine que je souhaite faire reproduire dans un volume enveloppe donné. Pour ce faire, l'utilisation de logiciels CAO n'est pas envisageable, car la reproduction de cette géométrie engendre des calculs d'affichages graphiques trop importants. Je souhaite donc réaliser un programme python capable d'exploiter un fichier stl qui sera reproduit dans une géométrie d'un deuxieme fichier stl "enveloppe".

    Pour des forme simple, il suffit de réaliser la copie de la maille à reproduire dans le volume max de l’enveloppe, et de réaliser une intersection entre les deux volumes (que je ne suis pas parvenu à faire)

    Pour des géométries plus complexe, l'idée serait de regarder les dimension du fichier stl enveloppe couche par couche, et de les remplir de la maille...

    Mon problème consiste donc à déterminer les dimensions max de la géométrie a chaque couche, et de remplir le volume à partir de ces dimension (x et y) , en incémentant la hauteur (z) jusqu'à la hauteur maximale.
    Comment puis je déterminer les dimensions max et min de chacune de ses couches ? La librairie Numpy-STL ne semble pas capable de determiner autre chose que les maximaux de la géométrie entière...
    Une idée qui m'etait venue etait de copier seulement une partie de la géométrie, et de déterminer ses dimensions max... mais il ne semble pas possible de copier une partie de la géométrie


    Sinon avez vous une autre bibliothèque en tete qui permet de répondre a mon sushi ?
    Cordialement?
    Azertfab

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par défaut
    numpy-stl semble très bien faire l'affaire.

    Pourquoi vouloir incrémenter z ? Si ta surface est décrite par un ensemble de petit triangle, tu n'as pas de plan aligné. Il n'y a pas de couches et donc tu ne peux pas te fixer un z....

    Qu'entends tu par enveloppe ? C'est une autre géométrie, et tu veux redimensionner la première géométrie pour qu'elle tiennent entièrement dans la seconde ? Quelle est la forme de cette enveloppe ?

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Avril 2019
    Messages : 3
    Par défaut
    Merci de m'avoir répondu Lg_53,

    Une enveloppe , c'est un gros volume (un carré par exemple) dans lequel je veux reproduire plein de petite maille qui sont au moins 1000 fois plus petit que le carré (ou l'enveloppe).

    sauf que en dehors de cette enveloppe , je ne veux pas de petite maille .... une application qui me correspondrait parfaitement serait de faire une sorte de fonction "intersection" entre le gros carré et les petites maille reproduites en séries... mais ça n'a pas l'air d’être faisable , surtout que cette enveloppe pourrait etre une forme plus complexe (une sphere par exemple) ^^

    J'avais donc pour idée de remplir le volume hauteur, quitte a dépasser un peu du volume enveloppe (de une ou deux maille ce n'est pas trop grave) , mais tu as raison , ce n'est pas possible... les triangles ne sont pas définis sur un plan

    Hier soir j'ai essayé une autre approche : le logiciel openscad. il permet de faire la fonction d'intersection mais il ne permet pas de placer intelligemment des fichiers importés ... d'autres idées à explorer ?

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par défaut
    Si ton enveloppe est droite (un parallélépipède rectangle) c'est assez simple. Dans ce cas chaque côté de cet enveloppe est caractérisé par x constant ou y constant ou z constant. Si on regarde maintenant le cas x constant, une arête de ta géométrie de petit triangle va couper ce plan si l'un de sommet de cet arrête est plus grand que le x du plan, et que l'autre est plus petit. Ceci sous réserve que la projection de ton arête sur le plan soit bien contenu dans la zone délimitée par ta face. Et pareil pour les plans lorsque c'est y et z constant.

    Si ce n'est pas une géométrie droite là c'est plus compliqué. Si tu en as une approximation par petit cube, alors tu te ramène au problème d'avant. Et si ton enveloppe est aussi un ensemble de petits triangles alors tu vas devoir calculer l'intersection entre un segment (une arête de l'un des triangles de ta géométrie) et un triangle (de ton enveloppe). C'est un problème pas si trivial que cela, mais tu peux raisonner sur la construction d'une telle fonction, en te donnant comme exemple juste un segment et un triangle. Ca permettera de réduire la dimension du problème.

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Avril 2019
    Messages : 3
    Par défaut
    ok , on se place dans le deuxieme cas , une envellope complexe qui n'est pas prévisible , pourrais tu me donner une idée de fonction qui permettrais de faire l'intersection ? il faut aussi prendre en compte le fait que je suis en 3D , et qu'il n'y aura pas forcément d'intersection de droite , mais plutôt du plan .... c'est le bordel un peu non ? x)

  6. #6
    Membre Expert

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par défaut
    Il va falloir te replonger dans tes cours de géométrie :
    https://homeomath2.imingo.net/geoesp6.htm

    Sachant que là tu obtient une droite (reste à voire derrière si la droite d'intersection des plans, est bien contenu dans les triangles que tu regardes (ou bien en dehors)). Tu va donc vite t'apercevoir qua ce va etre couteux, et que regarder l'intersection directement de 2 triangles sera peut etre plus judicieux :

    https://stackoverflow.com/questions/...-intersections

Discussions similaires

  1. Matrice : Limite d'utilisation de numpy ?
    Par bourgui78 dans le forum Calcul scientifique
    Réponses: 6
    Dernier message: 08/11/2012, 17h29
  2. L'API libJingle utilise-t-elle STL?
    Par sahars dans le forum Android
    Réponses: 1
    Dernier message: 14/03/2011, 18h27
  3. Réponses: 6
    Dernier message: 06/03/2011, 18h06
  4. utilisation de la STL pour limiter ma boucle for
    Par salseropom dans le forum C++
    Réponses: 5
    Dernier message: 06/02/2010, 14h03
  5. Réponses: 8
    Dernier message: 31/07/2009, 21h10

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