IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Delphi Discussion :

Calcul d'une surface [FAQ]


Sujet :

Delphi

  1. #21
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Bon, alez, hop, ça pourra servir : voici une fonction prête à l'emploi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    type TRealPoint=record
           X,Y:double;
         end;
     
    function SurfacePolygone(Points:array of TRealPoint):double;
    var i,ip,im,Count:integer;
        a,s:double;
    begin
      s:=0;
      Count:=high(points)+1;
      i:=0;
      while i<Count do
      begin
        ip:=(i+1) mod Count; //i+1
        im:=(i-1) mod Count; //i-1
     
        a:=Points[i].X*Points[ip].Y-Points[ip].X*Points[i].Y;
        s:=s+a;
        inc(i);
      end;
      result:=Abs(s/2);
    end;
    A partir de là, le calcul de la surface est direct, il s'agit de transmettre le polygone sous la forme du tableau de points correspondant aux coordonnées de son sommet (coordonnées réelles autorisées), le résultat donne la surface en unités² de ce polygone.

  2. #22
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 210
    Points : 190
    Points
    190
    Par défaut
    Je me permet de réitérer ma demande auprès des hautes instances de ce forum :

    Ne pensez-vous pas qu'il serait judicieux de mettre les DEUX codes (triangles et trapèzes) soit dans la FAQ, soit au moins dans les sources ?

    Dis, Waskol, tu ferais pas partie de la haute par hasard (la haute instance LOL) ?


  3. #23
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Citation Envoyé par diam's
    Je me permet de réitérer ma demande auprès des hautes instances de ce forum :

    Ne pensez-vous pas qu'il serait judicieux de mettre les DEUX codes (triangles et trapèzes) soit dans la FAQ, soit au moins dans les sources ?

    Dis, Waskol, tu ferais pas partie de la haute par hasard (la haute instance LOL) ?

    (Accent Sicilien) Hé, attention petit, tu sais à qui tu parles là ?...

    J-ai taggué la discussion FAQ pour éventuellement intégrer l'idée, mais le problême, c'est que c'est plus une histoire d'algorithme qu'un problême de Delphi, tu ne crois pas ?

    De toute façon, celle-là, on la met au chaud, on ne sait jamais



    Si tu veux, tu peux très bien écrire un petit programme d'illustration avec les 2 ou 3 fonctions correspondant aux différentes méthodes. Comme ça tu auras ton nom dans la FAQ ou les sources de la rubrique

  4. #24
    Membre habitué
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    210
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 210
    Points : 190
    Points
    190
    Par défaut
    J'ai vu pour le Tag. Merci

    Pour ce qui est d'avoir mon nom dans les sources, je n'ai pas pour habitude de tirer notoriété d'un travail qui n'est pas issu de mes petits doigts. Si je devais poster une source reprenant les codes de ce topics (ou des codes dérivés), soit je les posterais sans mentionner mon nom (si cela est possible), mais seulement celui des auteurs (toi et Defluc), soit en demandant aux responsables de la rubrique source de ne pas mentionner mon nom (ou alors juste en tant que 'compilateur'). D'ailleurs, il serait plus juste que ce soit toi et defluc qui les postiez. Ce doit être très désagréable de voir que quelqu'un retire le bénéfice de votre travail.

    De plus, je suis un programmeur en dilettante, et je n'aurais pas la prétention d'apprendre quoi que ce soit aux pro que vous êtes. Les softs que je développe ne servent qu'à ma pomme, dans le cadre pro et perso (en fait je suis un gros fainéant, qui programme en peu en Delphi, afin que lesdits programmes bossent à sa place [j'ai dis que j'étais fainéant, pas que j'étais idiot )

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Calcul de la normale d'une surface (raytracing)
    Par aerendil dans le forum Mathématiques
    Réponses: 0
    Dernier message: 02/06/2009, 17h57
  2. Calculer la normale d'une surface
    Par choko83 dans le forum OpenGL
    Réponses: 5
    Dernier message: 09/12/2008, 19h51
  3. [isosurface] Calcul de l'aire d'une surface
    Par kamelcompte dans le forum Images
    Réponses: 6
    Dernier message: 24/10/2008, 12h32
  4. Calcul normale facette d'une surface
    Par yabbiyou dans le forum MATLAB
    Réponses: 2
    Dernier message: 13/12/2007, 13h55
  5. calcul de surface : exclusion d'une surface qelconque
    Par zax-tfh dans le forum Mathématiques
    Réponses: 4
    Dernier message: 26/02/2007, 13h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo