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

Algorithmes et structures de données Discussion :

Récupération des composantes connexes points 3D


Sujet :

Algorithmes et structures de données

  1. #1
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 21
    Points : 16
    Points
    16
    Par défaut Récupération des composantes connexes points 3D
    Bonjour
    Je dispose d'un tableau qui contient les coordonnées des points 3d. En effet, je devrai construire une courbe qui passe par les points après avoir éliminer des points qui représentent du bruit. Donc je devrai éliminer les points qui représentent du bruit et dont la majorité de ces points sont éloignés ou distants de la courbe.
    J'ai pensé alors à récupérer les composantes connexes 6-connexivité puisque 3D
    Et, je ne sais pas si je suis dans le bon chemin ou pas.
    Qu'un pourra m'aider en propsant un algorithme ou un code simple en C ou C++?
    Merci

  2. #2
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    Bonjour,
    désolé de répondre par une question, mais connaît-on l'ordre dans lequel les points doivent être visités ?

    Cdlt,
    -- Yankel Scialom

  3. #3
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 21
    Points : 16
    Points
    16
    Par défaut
    Bonjour,
    désolée pour le retard,
    je dispose de cet ensemble de points ordonnés en z croissant et je devrais enregistrer dans un tableau uniquement les points qui appartiennent à la courbe
    42.5 33.5 10
    43.2222 32.8889 11
    43.3333 32.3333 12
    44.25 31.25 13
    44.6667 30.6667 14
    45.3846 29.6154 15
    46 28.5 16
    47 27.5 17
    47.5 26.5 18
    48.25 25.375 19
    48.8889 24.6667 20
    49.7143 23.4286 21
    50.25 22.375 22
    50.8889 21.6667 23
    51.75 20.625 24
    52.1667 19.8333 25
    53 18.5 26
    53.8889 17.6667 27
    54.2857 16.5714 28
    54.8889 15.6667 29
    55.875 14.875 30
    56.5714 13.7143 31
    57 13 32
    57.75 11.625 33
    58.125 11.125 34
    59 10 35
    60 9 36
    60.25 8.375 37
    61.125 7.125 38
    61.75 6.625 39
    62.25 5.375 40
    62.8889 4.44444 41
    63.5714 3.71429 42
    64.2857 2.57143 43
    64.875 1.875 44
    65.5 1.5 45
    66 1 46
    Merci

  4. #4
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    Je reformule donc ma question, elle est peut être peu claire : doit-t-on nécessairement parcourir les points retenus dans l'ordre que tu donnes ou peut on passer de l'un à l'autre librement afin éventuellement d'alléger le travail ?

    Cordialement,
    -- Yankel Scialom

  5. #5
    Membre à l'essai
    Femme Profil pro
    Inscrit en
    Mai 2011
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 21
    Points : 16
    Points
    16
    Par défaut
    il est judicieux de respecter l'ordre des points parce que je sais la nature de lacourbe et j'ai besoin d'éliminer la plupart des cas les points aux deux extrémités.
    Merci

  6. #6
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    OUINNNNNNN ! Mais pourquoi tu ne donnes pas toutes les spécifications du problème ? Te rends-tu compte à quel point le fait que tu connaisses la nature de la courbe soit important ?

    Donc, si les points sont visités dans l'ordre croissant des z, alors la courbe est de la forme (x,y) = f(z) (peut être un repère cylindrique serait préférable ?). Tu dis que tu connais la forme de f, il ne reste donc plus, je suppose, à déterminer quels sont ses paramètres. Pour moi, ça ressemble fort à un problème solvable par méthode des moindres carrés (j'A-D-O-R-E cette méthode). Mais il faut ici l'adapter un poil.

    Je vois trois ou quatre solutions qui pourraient ici fonctionner, mais le choix de la méthode appropriée dépend de ton problème. Ainsi t'encourage-je une fois de plus à tout me révéler de ton contexte. Voici une liste non exhaustive des questions dont la réponse pourrait m'être utile, n'hésite pas à compléter :
    • Quelle est la forme de la courbe ?
    • Dois-tu résoudre ce problème dans un certains nombres de cas connus à l'avance ou doit tu créer une méthode qui fonctionne dans tous les cas ?
    • Quelle est la part, environ, des points considérés comme à écarter (environ 5% ou plutôt 20 ?)


    Sinon une méthode qui peut marcher à tous les coups mais qui est lourde :
    1. Points = {p1, p2, ..., pn} ;
    2. Trouver une fonction f* qui approxime la courbe voulue par méthode des moindres carrés sur tous les points de Points ;
    3. Trouver le point pi de Points dont l'erreur quadratique (ei^2) est maximale pour f* ; avec pi=(xi,yi,zi) et f(zi)=(xi*, yi*) --> ei^2=(xi-xi*)^2 + (yi-yi*)^2
    4. Tant que le résultat n'est pas satisfaisant, retourner en 2 avec Points <- Points \ {pi}


    Cordialement,
    -- Yankel Scialom

  7. #7
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    il est judicieux de respecter l'ordre des points parce que je sais la nature de lacourbe
    Tant mieux pour toi, mais sois plus explicite pour avoir des réponses plus pertinentes.


    Pour mieux comprendre la question de prgp77 sur l'importance de l'ordre des points, prenons l'exemple d'une série de 10 points et distinguons 2 cas de figure :
    1. Les 10 mesures ont été prises par un capteur toutes les minutes sur un intervalle de 9 minutes et les coordonnées obtenues varient dans le temps puisque la cible est mobile.
    2. Les 10 mesures ont été prises sur une cible fixe par 10 capteurs différents et les coordonnées obtenues dépendent du calibrage de chaque capteur.
    L'ordre des points est significatif dans le cas 1 et indifférent dans le cas 2.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 13
    Dernier message: 28/12/2012, 18h24
  2. Récupération des composantes connexes points 3D
    Par marouame dans le forum C++
    Réponses: 1
    Dernier message: 21/06/2011, 14h30
  3. [Débutant] Affichage des composantes connexes dans des images differentes
    Par hardman dans le forum Images
    Réponses: 2
    Dernier message: 18/08/2009, 13h31
  4. étiquetage des composantes connexes
    Par MINSAT dans le forum C++
    Réponses: 7
    Dernier message: 11/05/2009, 17h20
  5. Étiquetage des composantes connexes
    Par MINSAT dans le forum OpenCV
    Réponses: 1
    Dernier message: 11/05/2009, 13h20

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