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 :

algorithme de lissage


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2
    Par défaut algorithme de lissage
    Salut, je suis nouveau et ne suis pas sur que ma question soit réellement liée au forum, mais bon j'espère que vous aurez la réponse.

    J'ai un vecteur de points qui pourrait correspondre au profil d’altitude d’une chaîne de montagne. Et j’aimerais lisser cette surface, pour obtenir un résultat proche de celui de la forme d’un spaghetti géant qui viendrait se poser sur le sommer de mes montagnes. D’une autre manière je veux lisser ma surface mais en gardant les points les plus hauts. Il y a-t-il des splines ou d’autres choses qui me permettrent de faire cela.

  2. #2
    Membre expérimenté
    Profil pro
    Enculeur de mouches
    Inscrit en
    Septembre 2003
    Messages
    133
    Détails du profil
    Informations personnelles :
    Localisation : France, Creuse (Limousin)

    Informations professionnelles :
    Activité : Enculeur de mouches

    Informations forums :
    Inscription : Septembre 2003
    Messages : 133
    Par défaut
    Salut,
    Effectivement le forum algo est plus approprié pour cette question, mais bon...

    Il existe sûrement des classes qui implémente les courbes de Bézier. Sinon (ou si tu veux bien comprendre comment ça fonctionne), tu peux chercher ça sur le Net (peut-être même sur le forum)...

    Une autre méthode est d'approximer ton nuage de point par un polynome, dont tu optimise les coefficients par la méthode des moindres carrés. A priori tu aura besoin d'un polynome d'ordre (n+1), où n est le nombre de points.
    Cette méthode ne te garantie pas non plus, je crois, que les points donné soient les zéros de la dérivée (mais ça peut se forcer).

    Pour un grand nombre de points, la méthodes par courbes de Bézier est plus simple (efficace).

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 150
    Par défaut
    Non, les splines ne passant par aucun des points sauf celui du depart / arrivé, elle ne conviennent pas dans ce cas.

    En revanche tu peux facielement implementer les courbes de Bezier.

    Pour tracer une courbe de bezier tu as besoin de deux points et de deux directions (vecteurs). Bref tu peux tracerr une courbe de Berzier avec 4 points.

    Pour l'implementation de B-splines, GOOGLE !

    http://iquebec.ifrance.com/eraquila/...pengl/gl11.htm

  4. #4
    Candidat au Club
    Inscrit en
    Janvier 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2
    Par défaut algorithme de lissage
    Le problème est que les courbes de bezier sont influencées par les points de mon vecteur, pour reprendre l'image par la courbe de la chaine de montagne, et non par les caractéristiques de mon spaguetti. En réalité je veux déposer mon spaguetti sur les points hauts de la chaine de montagne et entre ces points hauts avoir des courbes liées haut caractéristiques de mon spaguetti.

  5. #5
    Membre averti
    Inscrit en
    Janvier 2005
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 17
    Par défaut
    tu as des algos d'interpolation NURBS (B-spline ou Bezier) que tu peux calculer :

    Non, les splines ne passant par aucun des points sauf celui du depart / arrivé, elle ne conviennent pas dans ce cas.
    je suis d'accord sur le fait qu'elles passent par le 1er et dernier, mais pas d'accord avec ta conclusion.

    L'interpolation revient a trouver tous les points de controle par un grand systeme : autant te dire que c'est calculatoire.
    Sinon, tu as l'approximation en moindres carrés.[/quote]

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    150
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 150
    Par défaut
    et une moyenne mobile?

  7. #7
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    J'aurais plutôt pensé à appliquer d'abord un lissage par hystérésis, puis une fois la courbe segmentée et lissée, la rendre "harmonieuse" par des courbes. Déjà, ça simplifie pas mal le problème, ça permet d'éliminer le "bruit".

    En faisant une hystérésis "haute" et une "basse", on obtient une succession de quadrilatères "élémentaires", chacun étant relié au suivant par un bord commun. De cette manière, le problème se résume à joindre deux courbes, le point de jonction des deux étant sur le bord commun. On choisit l'un ou l'autre en fonction du sens de variation de l'hystérésis.

    J'aurais tendance à utiliser une cubique d'Hermite pour calculer les courbes.

    Après, j'avoue que je n'ai pas non plus posé les calculs...
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

Discussions similaires

  1. algorithme de lissage pour le modèle 3D generer par marching cubes
    Par demha dans le forum Traitement d'images
    Réponses: 1
    Dernier message: 12/05/2011, 14h42
  2. Equation ou algorithme pour le lissage
    Par Sorcier157 dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 24/10/2008, 15h49
  3. Algorithme moyenneur 3x3 / Lissage
    Par yAwa_ dans le forum Traitement d'images
    Réponses: 9
    Dernier message: 09/06/2008, 18h14
  4. Algorithme de lissage de charge
    Par uchimizu dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 16/02/2008, 18h54
  5. Algorithme de randomisation ... ( Hasard ...? )
    Par Anonymous dans le forum Assembleur
    Réponses: 8
    Dernier message: 06/09/2002, 14h25

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