Calculer la surface d'une figure

Messages postés
5
Date d'inscription
samedi 26 mars 2005
Statut
Membre
Dernière intervention
1 mai 2007
- - Dernière réponse : 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.
Afficher la suite 

9 réponses

Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
18
0
Merci
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à !
Commenter la réponse de jmfmarques
Messages postés
56
Date d'inscription
jeudi 25 décembre 2003
Statut
Membre
Dernière intervention
23 avril 2008
1
0
Merci
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
Commenter la réponse de cs_caramelmou
Messages postés
212
Date d'inscription
dimanche 3 avril 2005
Statut
Membre
Dernière intervention
28 mai 2011
1
0
Merci
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!!!
Commenter la réponse de goast_tu
Messages postés
5
Date d'inscription
samedi 26 mars 2005
Statut
Membre
Dernière intervention
1 mai 2007
0
Merci
j'ai oublié de mentionner que le programme est en VB6.
Commenter la réponse de miraklus
Messages postés
5
Date d'inscription
samedi 26 mars 2005
Statut
Membre
Dernière intervention
1 mai 2007
0
Merci
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.
Commenter la réponse de miraklus
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
42
0
Merci
Déplacé sur vbfrance !
















<hr />
-Blog-
Commenter la réponse de cs_Bidou
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
18
0
Merci
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...
Commenter la réponse de jmfmarques
Messages postés
56
Date d'inscription
jeudi 25 décembre 2003
Statut
Membre
Dernière intervention
23 avril 2008
1
0
Merci
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
Commenter la réponse de cs_caramelmou
Messages postés
5
Date d'inscription
samedi 26 mars 2005
Statut
Membre
Dernière intervention
1 mai 2007
0
Merci
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.
Commenter la réponse de miraklus