Calculer la surface d'une figure

miraklus Messages postés 5 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 1 mai 2007 - 24 janv. 2007 à 17:19
miraklus Messages postés 5 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 1 mai 2007 - 26 janv. 2007 à 20:39
Salut tout le monde.
mon pb est simple, j'essaye de creer un programme qui calcule la surface de n'importe quelle figure, j'utilisa un picture box je trace des lignes, je ferme correctement la figure, mais je suis coincé sur comment calculer la surface, en faite ce que je veux reeelement c'est le fait de pouvoir explique a l'ordinateur que c'est juste l'interrieur de la figure qui m'interesse pour pouvoir y mettres des lignes horizontales et verticacle suivant un algorithm precis, mais je ne sais pas comment le faire. qq1 pourrai t il me donner un bout pour commencer? merci.
A voir également:

9 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
24 janv. 2007 à 17:58
En quoi ? VB ? C++ ? VB.NET ?  etc... la liste est longue

Et le tout dans la bpoîte à idées...
Hmm ! je ne vois pas quelle idée tu déposes là !
0
cs_caramelmou Messages postés 56 Date d'inscription jeudi 25 décembre 2003 Statut Membre Dernière intervention 23 avril 2008 3
24 janv. 2007 à 19:37
Le principe de base pour calculer une surface quelconque est de la decomposer en surfaces plus simple (Ex le triangle)4 point 2 triangles, 5 point 3 triangles ,... 10 points =  8 triangles
Pour les surfaces à limites convexes, il suffit d'additionner. Pour les surfaces concaves, il faut verifier quand on passe d'un triangle i au triangle i+1 si ces triangles sont inclus , inverser le signe de surface calculée etc....


Sinon tu fais confiance aux fonctions de dessin, un Polyfill et tu compte bêtement les pixels (ça te fera une approximation)

Dr.T
0
goast_tu Messages postés 212 Date d'inscription dimanche 3 avril 2005 Statut Membre Dernière intervention 28 mai 2011 2
25 janv. 2007 à 15:58
si non souvent on utilise l'algorithme de balayage de lignes ou de colonnes.

Le principe est simple:

-pour chaque ligne de pixels de ton dessin tu calcul les points d'intersections avec ton polygone.

-puis tu parcour cette ligne, pas toute la ligne mais juste entre les points paires et impaires

-pour le pont courrant tu lui affecte une couleur en fonction des coordonnées.


par exemple:

000000______000000

0____0______0____0

0____00000000____0

0________________0

000000000000000000

les 0 representent les arretes

supposons qu'on est sur la deuxieme ligne de pixels

on à 4 intersections on les numereaut de 0 à 3

donc il suffit de parcourir les pixels entre les points d'intersections 0 et 1 et ensuit entre 2 et 3
Trafic web gratuit!!!
0
miraklus Messages postés 5 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 1 mai 2007
26 janv. 2007 à 12:59
j'ai oublié de mentionner que le programme est en VB6.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
miraklus Messages postés 5 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 1 mai 2007
26 janv. 2007 à 13:06
merci pour ces idées, en fait c'est ce que j'ai conclus tehoriquement, mais vu que je suis quasiment novice en grafisme, je ne saurais ecrire ça en code vb. si cela ne vous derange pas, qq1 pourrai me donner un bous de code pour debuter, surtout l'idée de compter les pixels m'ai apparus logique. et encore merci pour votre interret.
pour votre infos c'est mon premier poste sur VBFrance, j'espère que je suis le règlement comme convenue, si ce n'est pas le cas, veuillez me perevenir.
0
cs_Bidou Messages postés 5487 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
26 janv. 2007 à 13:18
Déplacé sur vbfrance !
















<hr />
-Blog-
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
26 janv. 2007 à 13:50
Hé bien nous y voilà enfin.

Je me refusais à participer à cette conversation tant qu'elle n'était pas dans le sous-forum VB


Nous pouvons maintenant enfin y aller :


Et on y va d'une première et très importante question :

1) La surface est-elle à calculer au moment de la construction du polygone concerné (de son dessin, donc) ou, au contraire, ce calcul ne peut que "constater" (c'est à dire intervenir face à un dessin existant contenant ce polygone) ?
2) si elle est à calculer "en fait accompli" :
  a) existe-t-il, dans un fichier texte par exemple, une mémorisation des coordonnées de ses "coins" ?
  b) ce polygone est-il rempli d'une couleur connue et si oui : est-elle unique dans la picturebox d'hébergement (c'est-à-dire : pour le seul intérieur du périmètre de ce polygone) ?
  c) si la réponse au point b) est négative : ce polygone est-il au moins bordé ? (donc entouré d'une bordure d'une couleur différente de son intérieur ?
  d) si les réponses aux points b) et c) dont toutes deux négatives : peut-on au moins être assuyré de ce que la couleur de l'intérieur du polygone ne peut se retrouver en un point quelconque juxtaposé au dit polygone ?

Ne t'attends à aucun miracle, Miraklus : je préfère te prévenir d'ores et déjà de ce que les choses ne seront pas "du gâteau prêt à être mangé" et que tu ne recevras une aide de ma part que si tu sais te retrousser les manches en même temps que je retrousse les miennes ... Attends-toi donc à faire travailler tes méninges et ton clavier en même temps que moi... ou abandonne tout de suite .

 Les questions que je viens de poser te donnent un avant-goût des nécessités de grande précision dans l'expression de sa pensée en vue de l'appliquer au développement informatique... Dis-toi qu'elles ne sont qu'une infime partie des démonstrations et exigences de rigueur...

A toi de voir...
0
cs_caramelmou Messages postés 56 Date d'inscription jeudi 25 décembre 2003 Statut Membre Dernière intervention 23 avril 2008 3
26 janv. 2007 à 20:16
Miraklus, j'ai un doute en relisant ton premier Post.
en faite ce que je veux reeelement c'est le fait de pouvoir explique a l'ordinateur que c'est juste l'interrieur de la figure qui m'interesse pour pouvoir y mettres des lignes horizontales et verticacle suivant un algorithm precis.

Veux tu reellement calculer la surface d'une figure (polygone) ou veux tu simplement pouvoir dessiné un polygone dont l'interieur serait hachuré ou quadrillé ?

Dr.T
0
miraklus Messages postés 5 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 1 mai 2007
26 janv. 2007 à 20:39
ce que je cherche c'est comme le pot de peinture de MSpaint, on click sur une zone et il immerge toute la zone delimité par des lignes, si je peut fair ça, je pourrai faire le resete, ce que je cherche reeelement c'est la fonction ou le code du pot de peinture de MSPaint. ainsi sur la figure je verse le pot pui je demande a l'ordinateur de me compter les pixels en rouge, et suivant une echelle je pourrai compter la surface globale et reelle sur le terrain. et je vous remerci pour votre patience.
0
Rejoignez-nous