[Matlab] Normale interne à une courbe

Tout ce qui concerne les différents logiciels mathématiques (Matlab, Maxima, Scilab, R, Maple, Mathematica, ...) et les calculatrices scientifiques.
Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.
> Préciser le nom du logiciel concerné dans le titre de votre message.

[Matlab] Normale interne à une courbe

Messagepar Lux_B_2000 » Mardi 18 Mars 2008, 12:35

Bonjour,
cela fait quelque temps déjà que je connais votre forum pour y être venu piocher des infos à l'occasion et je tiens à vous féliciter pour la qualité de celui-ci.

Voilà l'histoire, je galère sur un problème à priori assez simple. Je suis en discret et n'ai donc pas accès aux formules analytiques de mes courbes, à priori quelconques. Je dispose d'une courbe fermée et je suis à la recherche du vecteur (en 2 ou 3D) type [-1, 0, 1] qui illustre la normale interne à la courbe (dirigé vers l'intérieur).

Je suis capable de calculer la tangente à cette dernière et donc de disposer d'une normale. Mais comment être sûr qu'elle est interne sans pour autant passer par une phase (assez dégueu) de vérification manuelle ?

Un grand merci d'avance.
Lux_B_2000
Utilisateur
 
Messages: 5
Inscription: Mardi 18 Mars 2008, 12:28
Statut actuel: Post-bac | Licence

Publicité

Re: [Matlab] normale interne à une courve

Messagepar OG » Mardi 18 Mars 2008, 14:11

Bonjour

Est-il possible de calculer une approximation de la dérivée seconde, via
quelque chose qui ressemble à $(M_{i+1}-2M_i+M_{i-1})/2h^2$ ?

Cordialement
O.G.
OG
Modérateur
 
Messages: 2285
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence

Re: [Matlab] Normale interne à une courbe

Messagepar Lux_B_2000 » Mercredi 19 Mars 2008, 18:28

j'imagine que tu appelles $M_i$ les points de la courbe et $h=M_{i+1}-M_{i-1}$. Alors oui, cela est faisable.

Mais cela me donne-t-il la normale interne? Pas directement, si ?
Lux_B_2000
Utilisateur
 
Messages: 5
Inscription: Mardi 18 Mars 2008, 12:28
Statut actuel: Post-bac | Licence

Re: [Matlab] Normale interne à une courbe

Messagepar OG » Mercredi 19 Mars 2008, 18:55

Bonjour

Il faudrait d'abord savoir si les points de la courbe dépendent (même si la fonction est inconnue) de $t$ un paramètre ?
A priori en paramétrique il est possible de situer la courbe par rapport à la tangente connaissant $(f'(t),f''(t))$, d'où le lien.

Bref d'où viennent ces points, comment sont-ils obtenus ?

Cordialement
O.G.
OG
Modérateur
 
Messages: 2285
Inscription: Lundi 12 Mars 2007, 11:20
Localisation: Rouen
Statut actuel: Actif et salarié | Maître de conférence

Re: [Matlab] Normale interne à une courbe

Messagepar Lux_B_2000 » Vendredi 21 Mars 2008, 09:02

Bonjour,
Désolé du retard, mais beaucoup de boulot à côté dès lors je ne suis pas productif partout. Un grand merci en tout cas pour le suivi !

Alors les points sont obtenus par segmentation d'organes sur des images CT. En gros ce sont des contours de tumeurs/organes/Region Of Interest/...

Le seul élément commun à tous est qu'elles sont fermées. A priori elles peuvent être concaves, convexes, uniques ou multiples sur une même images.. Bref un peu quelconques.
Lux_B_2000
Utilisateur
 
Messages: 5
Inscription: Mardi 18 Mars 2008, 12:28
Statut actuel: Post-bac | Licence

Re: [Matlab] Normale interne à une courbe

Messagepar nirosis » Vendredi 21 Mars 2008, 12:28

As tu accès à tes contours sous forme de la donnée de 2 vecteurs ou bien c'est juste visuel pour l'instant?
Ca serait bien d'avoir les coordonnées (x,y) des points du contour déjà.

Après, le truc est qu'il faudrait qu'ils se suivent càd qu'il y ait un sens de parcours sur ton contour.
Sinon si les points sont sous forme d'un nuage de points (dans le désordre), c'est mal barré pour le paramétrique. Avant il te faudra certainement déterminer les points adjacents à un certain point du contour, bref les classer pour que ça devienne la discrétisation d'un contour qui aurait une equation paramétrique. Si ton contour est de mauvaise qualité (pas convexe + bruit entre autre), cela peut être compliqué!

Après quoi tu pourrais interpoler tes x et tes y pour avoir une équation paramétrique de ton contour et faire ce que te dis OG.

Sinon si ton image peut être vue comme un ensemble lignes de niveau, tu peux peut être voir au niveau du gradient aussi?
nirosis
Administrateur
 
Messages: 1806
Inscription: Samedi 28 Mai 2005, 13:48
Localisation: Orsay, France
Statut actuel: Actif et salarié | Maître de conférence

Re: [Matlab] Normale interne à une courbe

Messagepar Tryphon » Vendredi 21 Mars 2008, 12:33

désolé mais si la courbe est vraiment quelconque, le fait d'être un vecteur intérieur ou extérieur à la courbe n'est pas une propriété locale. Donc je vois pas trop en quoi connaître sa position par rapport à un repère local va aider.

Il faudrait au moins une propriété de convexité.
Pas de questions en MP
La calculatrice, c'est comme Linux, c'est de la merde !
Tryphon
Péta-utilisateur
 
Messages: 1840
Inscription: Mercredi 01 Juin 2005, 17:39
Localisation: Un peu plus à l'Ouest
Statut actuel: Actif et salarié | Enseignant

Re: [Matlab] Normale interne à une courbe

Messagepar Lux_B_2000 » Vendredi 21 Mars 2008, 15:35

nirosis a écrit:As tu accès à tes contours sous forme de la donnée de 2 vecteurs ou bien c'est juste visuel pour l'instant?
Ca serait bien d'avoir les coordonnées (x,y) des points du contour déjà.

J'ai une liste, non triée, des points, ça c'est facile à avoir. La trier me demanderait une complexité trop grande (de l'ordre de $O(n^2)$ si je me rappelle correctement mes cours de complexité).

Si il n'y a pas moyen autrement, je vais me débrouiller avec une approximation. Je pensai calculer le centre de gravité de mon contour et faire une simple soustraction des coordonnées du contours avec celle du centre de gravité. Ce n'est pas parfait mais le temps de calcul sera meilleur (à mon avis). Et puis Matlab est optimisé pour ce genre d'opérations. Vous en pensez quoi?
Dernière édition par Lux_B_2000 le Samedi 22 Mars 2008, 19:52, édité 1 fois.
Lux_B_2000
Utilisateur
 
Messages: 5
Inscription: Mardi 18 Mars 2008, 12:28
Statut actuel: Post-bac | Licence

Re: [Matlab] Normale interne à une courbe

Messagepar Tryphon » Vendredi 21 Mars 2008, 18:17

Que si tu as un anneau par exemple, je vois pas comment tu conclueras...
Pas de questions en MP
La calculatrice, c'est comme Linux, c'est de la merde !
Tryphon
Péta-utilisateur
 
Messages: 1840
Inscription: Mercredi 01 Juin 2005, 17:39
Localisation: Un peu plus à l'Ouest
Statut actuel: Actif et salarié | Enseignant

Re: [Matlab] Normale interne à une courbe

Messagepar MB » Vendredi 21 Mars 2008, 20:17

On peut faire du tri en $O(n \ln(n))$ il me semble.
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6891
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Re: [Matlab] Normale interne à une courbe

Messagepar Lux_B_2000 » Samedi 22 Mars 2008, 19:54

MB a écrit:On peut faire du tri en $O(n \ln(n))$ il me semble.

De fait, il me semble que tu as raison, autant pour moi.
Bon je pense que je vais essayer de me débrouiller avec tout ça. Un grand merci à tous en tout cas pour vos réponses et vos conseils.
Bien à vous tous.
Lux_B_2000
Utilisateur
 
Messages: 5
Inscription: Mardi 18 Mars 2008, 12:28
Statut actuel: Post-bac | Licence


Retourner vers Logiciels mathématiques

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 7 invités