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 :

Creation d'une ligne perpendiculaire


Sujet :

Python

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    570
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 570
    Points : 97
    Points
    97
    Par défaut Creation d'une ligne perpendiculaire
    Bonjour,

    J'ai le schéma 1 : une ligne et un polygon avec des coordonnées, le tout dans un géopandas
    Et je cherche a tracer une ligne (CD) perpendiculaire à la ligne AB et tangente au polygone (ou alors qui touche le plus bas de la zone)

    Faire une perpendiculaire avec shapely et parralel_offset, je sais faire mais pour qu'en plus cette ligne soit tangente, la ca se complique pour moi ....

    Si vous avez des idées ?

    Cf. ci-joint un peu de visualisation pour mieux expliquer ;-)

    Thais
    Nom : Capture d’écran 2022-11-14 à 17.03.35.png
Affichages : 385
Taille : 20,9 KoNom : Capture d’écran 2022-11-14 à 17.04.40.png
Affichages : 384
Taille : 25,7 Ko

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

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

    Informations forums :
    Inscription : Février 2006
    Messages : 12 631
    Points : 30 865
    Points
    30 865
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par thais781 Voir le message
    Faire une perpendiculaire avec shapely et parralel_offset, je sais faire mais pour qu'en plus cette ligne soit tangente, la ca se complique pour moi ....
    C'est un souci de Python ou de maths???
    Si tu dis que "AB" est l'axe des ordonnées, alors chaque point du polygone aura une valeur "y" représentant sa "hauteur" sur AB. On recherchera donc le point ayant ce "y" le plus bas ce qui donnera le "y" du point d'intersection entre AB et CD. Ne reste qu'à tracer CD.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    570
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 570
    Points : 97
    Points
    97
    Par défaut
    Bonjour

    Merci pour ton coup de main.
    C'est soucis de Python, je ne sais pas trop comment programmer cela ....

  4. #4
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

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

    Informations forums :
    Inscription : Février 2006
    Messages : 12 631
    Points : 30 865
    Points
    30 865
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par thais781 Voir le message
    C'est soucis de Python, je ne sais pas trop comment programmer cela ....
    Tu as bien dit que tu avais les coordonnées (et il vaudrait mieux que ce soient les coordonnées des points de ton polygone)
    Tu peux par exemple imaginer une droite paramétrée perpendiculaire à (AB). Le paramètre ce serait alors un point "y" de (AB).
    Ensuite tu fais varier "y" de A à B en calculant à chaque fois le nombre de points d'intersections entre la droite ainsi générée et le polygone.
    Et quand ce nombre de points arrive à 1, tu as alors ta vraie droite (CD). Bref c'est comme une règle imaginaire que tu déplacerais le long de (AB) et qui s'arrêterait dès que le bon emplacement est trouvé.

    Ou alors un changement de repère afin d'avoir les coordonnées de ton polygone selon (AB) considérée comme [Oy). Ce qui permet de trouver le point du polygone comme étant "le plus bas" (ie le plus petit) selon (AB).
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    570
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 570
    Points : 97
    Points
    97
    Par défaut
    C'est un peu l'idée que j'avais mais je pensais que la puissance de python pouvait éviter cette méthode un peu bourin ;-)
    Je vais creuser pour voir comment on peut faire varier ce Y ...

  6. #6
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 784
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 784
    Points : 7 043
    Points
    7 043
    Par défaut
    Bonjour,

    Citation Envoyé par thais781 Voir le message
    C'est un peu l'idée que j'avais mais je pensais que la puissance de python pouvait éviter cette méthode un peu bourin ;-)
    Possible oui, mais j'avoue que sur les parties purement mathématiques je n'ai jamais trop cherché, mais je peux tout de même donner une indication, en donnant un lien intéressant d'un module spécialisé dans le domaine scientifique -> SymPy

    Après le temps de faire à la main avec une syntaxe de base au langage, ou t'atteler à comprendre comment utiliser ce module, c'est un choix qui dépendra sans doute de ton temps disponible.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

Discussions similaires

  1. Creation d'une page WEB de cagnotte en ligne
    Par Theodemaup dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 25/04/2017, 15h37
  2. creation d'une ligne: code tres lent
    Par ImagingAllthe dans le forum Images
    Réponses: 4
    Dernier message: 16/08/2010, 16h45
  3. Creation d'une aide en ligne
    Par uriotcea dans le forum Qt
    Réponses: 8
    Dernier message: 05/04/2010, 14h05
  4. creation table avec lignes d'une autre table sous Sql Server
    Par pops4 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 25/05/2007, 14h59
  5. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 16h23

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