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 :

Calcul de la plus proche valeur


Sujet :

Python

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 160
    Points : 41
    Points
    41
    Par défaut Calcul de la plus proche valeur
    Bonjour à tous !

    Alors voici ce que j'essaye de faire en ce moment : J'ai une image (que j'affiche avec pylab), et sur cette image j'ai une droite qui passe (en scatterplot dans la figure jointe). Chaques points (plus de 1200 points)de cette droite à une valeur particulière.

    J'ai donc en ma possession : l'image de fond, les coordonnées X (X_scatter) et Y (Y_scatter) de chaque points du scatterplot et leurs valeur (val) : à partir d'un fichier txt

    Dans mon programme : j'affiche l'image comme en piece jointe et j'utilise ginput, pour pointer une partie de la droite où je vois une valeur qui m'intéresse (par exemple la valeur bleu située vers Y=1085000, entre deux partie rouge). J'ai donc les coordonnées x_ginput y_ginput de mon points, pointé avec ginput.

    Biensur, ces coordonnées, ne sont pas exactement au même endroit que le point bleu du scatterplot.

    Mais j'aimerais quand même pouvoir à partir des coordonnées du ginput, accéder à la valeur qui m'intéresse (v_int).

    J'aimerai en fait faire quelque chose dans le genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    i = np.where(X_scatter, Y_scatter "environ egal" à x_ginput, Y_ginput)
    v_int = val[i]
    J'ai tenté avec la fonction round. Pour avoir des valeurs à peu prés. mais cela ne marche pas très bien. Il ne trouve pas de i.

    Je pensais aussi à définir une genre de "zone" autour de mon point, et de chercher si il y a la valeur qui m'intéresse dans cette zone. Mais cela me parait un peu laborieux.

    Est-ce qu'il existerait un moyen un peu moins lourd de faire cela en python ? une autre manière de voir le pb...

    Merci d'avance, hésitez pas à demander si ce n'est pas clair.

    Romain

    Nom : image.png
Affichages : 636
Taille : 575,5 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 689
    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 689
    Points : 30 983
    Points
    30 983
    Billets dans le blog
    1
    Par défaut
    Bonjour

    Je n'ai pas trop bien compris quelle "plus proche" valeur tu désires avoir. Mais si c'est le point de ta droite colorée qui est le plus proche du point que tu cibles sur ta carte alors ce n'est pas très compliqué car le plus court chemin entre un point et une droite est la perpendiculaire à cette droite passant par le point en question. Or le vecteur directeur d'une droite perpendiculaire à une droite de vecteur directeur "v" est égal à "1/v".
    Donc avec le vecteur directeur et ton point ciblé ça te donne l'équation de ta perpendiculaire. Et comme tu as aussi (enfin normalement) l'équation de ta droite coloré et que tu sais que ton point "le plus proche" correspond aux deux équations cela te donne un simple système de deux équations du premier degré à résoudre.
    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]

Discussions similaires

  1. [DATA] Calculer la deuxième plus grande valeur
    Par david32 dans le forum SAS Base
    Réponses: 2
    Dernier message: 03/01/2014, 14h53
  2. Réponses: 5
    Dernier message: 26/05/2009, 09h03
  3. Réponses: 5
    Dernier message: 08/12/2007, 20h15
  4. Rechercher la plus proche valeur dans un tableau
    Par neoMatrix dans le forum MATLAB
    Réponses: 2
    Dernier message: 16/05/2007, 11h45
  5. rechercher la plus proche valeur dans un tableau ?
    Par Slumpy dans le forum VB.NET
    Réponses: 3
    Dernier message: 13/04/2007, 14h06

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