Précédent   Forum des professionnels en informatique > Autres langages > Algorithmes > Mathématiques
Mathématiques Forum d'entraide sur les mathématiques et l'algorithmique numérique. Avant de poster : Cours d'algorithmique numérique
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/12/2011, 13h43   #1
Invité de passage
 
Homme cédric
Étudiant
Inscription : décembre 2011
Messages : 9
Détails du profil
Informations personnelles :
Nom : Homme cédric
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2011
Messages : 9
Points : 0
Points : 0
Par défaut méthodes d'interpolation d'un nuage de points 3D

Bonjour,
je cherche à interpoler un nuage de points en 3D. la surface doit etre aussi lisse que je le souhaite. Pour cela j'utilise les splines de coques minces sous matlab ( fct tpaps dans la curve fitting toolbox).
j'obtiens bien la surface que je souhaite mais le temps de calcul est rédibitoire ( j'ai plusieurs millier de point et meme en prenant petit bou par petit bou avec un recouvrement le facteur temps est trop important).
D'ou mes questions :
-Connaitriez-vous une autre methode d'interpollation qui remplisse les meme critère ( surface lisse peu ou pas d'oscillation).

-Ou bien connaitriez vous une moyen de passer par de l'optimisation ?( je pourrais ainsi réduire mon temps de calcul en initialisant mes paramètres grâce a un a priori de forme)

merci d'avance
cédric
gpcbitnik38 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 13h56   #2
Rédacteur/Modérateur
 
Avatar de pseudocode
 
Homme Xavier Philippeau
Architecte système
Inscription : décembre 2006
Messages : 9 416
Détails du profil
Informations personnelles :
Nom : Homme Xavier Philippeau
Âge : 39
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Architecte système
Secteur : Industrie

Informations forums :
Inscription : décembre 2006
Messages : 9 416
Points : 14 118
Points : 14 118
Citation:
Envoyé par gpcbitnik38 Voir le message
-Connaitriez-vous une autre methode d'interpollation qui remplisse les meme critère ( surface lisse peu ou pas d'oscillation).
Si tu peux définir/calculer les normales à ta surface pour tes points, il y a de très bons algorithmes de reconstruction de surface.

(recherches les documents de Hugues Hoppe sur le site Mircrosoft Research)
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
pseudocode est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 14h46   #3
Invité de passage
 
Homme cédric
Étudiant
Inscription : décembre 2011
Messages : 9
Détails du profil
Informations personnelles :
Nom : Homme cédric
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2011
Messages : 9
Points : 0
Points : 0
le problème est que mon nuage n'est pas uniformément reparti.
au endroit ou je n'ai pas de points je risque d'avoir des problèmes non?
j'ai mis en pièce jointe une image d'un nuage de point et une image du type de surface que j'aimerais avoir si ça peu aider
Images attachées
Type de fichier : jpg points3d.jpg (67,8 Ko, 5 affichages)
Type de fichier : jpg carre_surf_50%.jpg (98,6 Ko, 5 affichages)
gpcbitnik38 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 15h05   #4
Rédacteur/Modérateur
 
Avatar de pseudocode
 
Homme Xavier Philippeau
Architecte système
Inscription : décembre 2006
Messages : 9 416
Détails du profil
Informations personnelles :
Nom : Homme Xavier Philippeau
Âge : 39
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Architecte système
Secteur : Industrie

Informations forums :
Inscription : décembre 2006
Messages : 9 416
Points : 14 118
Points : 14 118
Citation:
Envoyé par gpcbitnik38 Voir le message
le problème est que mon nuage n'est pas uniformément reparti.
au endroit ou je n'ai pas de points je risque d'avoir des problèmes non?
Les algos de reconstruction gèrent ce genre de problèmes.

Citation:
j'ai mis en pièce jointe une image d'un nuage de point et une image du type de surface que j'aimerais avoir si ça peu aider
Il semble y avoir un axe de progression (sur la profondeur), un peu comme si on faisait l'aquisition d'un histogramme en fonction du temps.

Si c'est le cas habituel, tu peux peut-être procéder par "tranche" pour construire la surface.
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
pseudocode est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 15h30   #5
Invité de passage
 
Homme cédric
Étudiant
Inscription : décembre 2011
Messages : 9
Détails du profil
Informations personnelles :
Nom : Homme cédric
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2011
Messages : 9
Points : 0
Points : 0
si par tranche tu veux dire morceau par morceau en fonction de la profondeur je l'ai deja testé.
je divise le temps de calcul par un facteur 7 à 10 selon le nombre de points dans mon nuage. mais le calcul reste toujours relativement long. En plus je perds en continuité a cause du recouvrement que je doit mettre en place pour limiter les effets de bord. ( la spline n'as plus de point de contrôle proche et remonte, c'est tres visible dans les coins surtout si je tombe entre 2 sculptures).

En réalité le nuage de point est issu de l'extraction des fonds de sillons d'un pneu, d'ou la "périodicité" que tu peux constater. le nuage que tu vois est un secteur d'un pneu il en faut en gros 10 comme ça pour faire un tour de roue.

je suis en train de lire les papiers que tu m'as indiqué j'ai de quoi me documenter pour un moment ^^
merci pour ta réactivité c'est très appréciable si d'autre idée te passe par la tete je suis preneur au cas ou je n'arrive pas a implémenter celle ci ^^
gpcbitnik38 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/12/2011, 16h39   #6
Membre émérite
 
Homme
Chercheur
Inscription : mars 2010
Messages : 733
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chercheur

Informations forums :
Inscription : mars 2010
Messages : 733
Points : 931
Points : 931
Bonjour,

Citation:
Envoyé par gpcbitnik38 Voir le message
j'utilise les splines de coques minces sous matlab ( fct tpaps dans la curve fitting toolbox).
j'obtiens bien la surface que je souhaite mais le temps de calcul est rédibitoire ( j'ai plusieurs millier de point et meme en prenant petit bou par petit bou avec un recouvrement le facteur temps est trop important).
Plusieurs milliers de points c'est peu. Le problème de lenteur doit donc venir :
1. de ton propre code qui n'est pas optimisé (en particulier vectorisé),
2. du code de la curve fitting toolbox qui n'est lui-même pas optimisé,
3. du choix du langage qui n'est pas compilé (matlab est interprété)

As-tu essayé de coder une simple interpolation de Lagrange pour voir le temps que cela mettrait?
Aleph69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 09h32   #7
Invité de passage
 
Homme cédric
Étudiant
Inscription : décembre 2011
Messages : 9
Détails du profil
Informations personnelles :
Nom : Homme cédric
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2011
Messages : 9
Points : 0
Points : 0
pour ce qui est de mon code en effet il n'est pas vectorisé.
par contre pour la curve fitting toolbox l'algo de la decomposition QR de la matrice du systeme ne m'est pas accessible mais je pense que comme pour cpaps et spaps la routine doit etre en fortran donc vraisemblablement plutot rapide.
Pour le langage je n'est pas trop le choix ^^ je doit avoir des resultat sous matlab avant de passer en c.

j'ai trouvé quelque chose d'interessant hier sur internet ou on me parle d'interpolation multiquadratique.
je n'est pas encore trouvé de bon article m'xpliquant la méthode si quelqu'un a des explication ( et/ou une référence vers un papier ) je suis preneur ^^
gpcbitnik38 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/12/2011, 11h24   #8
Rédacteur/Modérateur
 
Avatar de pseudocode
 
Homme Xavier Philippeau
Architecte système
Inscription : décembre 2006
Messages : 9 416
Détails du profil
Informations personnelles :
Nom : Homme Xavier Philippeau
Âge : 39
Localisation : France, Hérault (Languedoc Roussillon)

Informations professionnelles :
Activité : Architecte système
Secteur : Industrie

Informations forums :
Inscription : décembre 2006
Messages : 9 416
Points : 14 118
Points : 14 118
Citation:
Envoyé par gpcbitnik38 Voir le message
j'ai trouvé quelque chose d'interessant hier sur internet ou on me parle d'interpolation multiquadratique.
je n'est pas encore trouvé de bon article m'xpliquant la méthode si quelqu'un a des explication ( et/ou une référence vers un papier ) je suis preneur ^^
Et bien c'est une méthode interpolation basée sur un calcul de barycentre pondéré : P = somme { ai.Pi }. Les coefficients ai dépendent de la distance entre P (le point cherché) et chaque Pi (les points connus) selon une fonction quadratique. (cf. radial basis function)
__________________
ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.
pseudocode est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h11.


 
 
 
 
Partenaires

Hébergement Web