comment calculer une surface a partir d'un contour de points

comment calculer une surface a partir d'un contour de points - Divers - Programmation

Marsh Posté le 07-05-2004 à 09:45:23    

Je suis en stage et je dois faire un traitement d'image avec matlab.
 
La je suis coince, je dois calculer la surface d'un contour de points.
Donc je possède une matrice n lignes 2 colonnes correspondant a des coordonnees des points du contour.
 
Et je voudrais savoir qu'elle est la formule mathematique qui permettrais de calculer la surface a l'interieur de ce contour.
 
D'avance merci ;)

Reply

Marsh Posté le 07-05-2004 à 09:45:23   

Reply

Marsh Posté le 07-05-2004 à 09:49:59    

La forme est arbitraire? Si oui, à part compter les points qui sont à l'intérieur, je vois pas trop...:??:

Reply

Marsh Posté le 07-05-2004 à 10:16:01    

ese-aSH a écrit :

moi je dis :
passe tes points en coordonnées géométrique (angle/abscise ; distance à l'origine), ordonne les par angle, détermine le barycentre de ton ensemble de points (tous affectés du poids 1), ensuite il ne te reste plus qu'à calculer l'aire de tous les triangles (Point i, Point i+1, barycentre) et d'additionner.


c'est bien ce que je dis, autant compter...[:joce]

Reply

Marsh Posté le 07-05-2004 à 10:18:50    

ese-aSH a écrit :

^^
ben ui un calcul d'aire c'est une intégrale donc il faut compter les points c'est sûr...mais cest mieux d'avoir une méthode pour le faire parceque 1 par 1 c'est pa gagné :p


bah avec un scanline tout con on y arrive, nan?:o

Reply

Marsh Posté le 07-05-2004 à 10:23:49    

ah euh matlab j'y connais rien, scanline stun algo!:D

Reply

Marsh Posté le 07-05-2004 à 10:44:27    

ok, merci bien pour ces reponses :)
perso je privilegirais peut etre plus la methode je compte les points, car surement plus simple a mettre en oeuvre :)
 
je vais essayer et je vous dis ce que ca donne

Reply

Marsh Posté le 07-05-2004 à 10:53:55    

ese-aSH a écrit :

moi je dis :
passe tes points en coordonnées géométrique (angle/abscise ; distance à l'origine), ordonne les par angle, détermine le barycentre de ton ensemble de points (tous affectés du poids 1), ensuite il ne te reste plus qu'à calculer l'aire de tous les triangles (Point i, Point i+1, barycentre) et d'additionner.

ça marche pas ça
le barycentre peut très bien être en dehors de la surface


---------------
http://runnerstats.net
Reply

Marsh Posté le 07-05-2004 à 10:55:19    

ese-aSH a écrit :

moi je dis :
passe tes points en coordonnées géométrique (angle/abscise ; distance à l'origine), ordonne les par angle, détermine le barycentre de ton ensemble de points (tous affectés du poids 1), ensuite il ne te reste plus qu'à calculer l'aire de tous les triangles (Point i, Point i+1, barycentre) et d'additionner.


ca marcherait pas QUE pour les formes convexes ca ? :p

Reply

Marsh Posté le 07-05-2004 à 10:58:52    

souk a écrit :

ca marcherait pas QUE pour les formes convexes ca ? :p

si, exactement :jap:


---------------
http://runnerstats.net
Reply

Marsh Posté le 07-05-2004 à 12:11:57    

mon prob est resolu :)
c'etait evidemment tres simple, comme toujours
 
il suffisait de fouiller dans matlab et trouver la fonction polyarea(x,y)
 
honte sur moi

Reply

Marsh Posté le 07-05-2004 à 12:11:57   

Reply

Marsh Posté le 31-05-2007 à 19:56:27    

bonsoir!
j'aimerai savoir le syntaxe que vous avez utilisé pour la fonction polyarea et si possible une petite démo!
merci!

Reply

Marsh Posté le 31-05-2007 à 23:29:44    

ese-aSH a écrit :

moi je dis :
passe tes points en coordonnées géométrique (angle/abscise ; distance à l'origine), ordonne les par angle, détermine le barycentre de ton ensemble de points (tous affectés du poids 1), ensuite il ne te reste plus qu'à calculer l'aire de tous les triangles (Point i, Point i+1, barycentre) et d'additionner.


et si la forme en question ressemble a ça ?
 
http://www.culture-arabe.irisnet.be/fleche.gif


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 01-06-2007 à 10:41:07    

si t'as que le contour, ça veut dire que tu ne peux pas avoir de formes avec des trous dedans (genre un donuts).
Je suis d'accord avec un scanline, mais faudra un peu modifier l'algo de base. Avant de le lancer, faudra trier tes points de contour d'abord sur l'axe Y, et si t'en a plusieurs, les triers sur l'axe X.
Lors du scanline, faudra apparier tes points de contour (faire des couples, quoi).

Reply

Marsh Posté le 30-03-2009 à 14:23:18    

itoine a écrit :

mon prob est resolu :)
c'etait evidemment tres simple, comme toujours
 
il suffisait de fouiller dans matlab et trouver la fonction polyarea(x,y)
 
honte sur moi


 
merci pour polyarea, ca m'aide énormément .. ca faisait des heures que j'essayais de trouver une telle fonction !  
 
Sam

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed