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

Algorithmes et structures de données Discussion :

triangulation de delaunay


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 6
    Par défaut triangulation de delaunay
    Bonjour, je suis actuellement élève dans une ecole d'ingenieur en premiere année.
    Je dois réaliser un projet sur la triangulation de Delaunay en programmation Pascal (turbo pascal). Est ce que quelqu'un peu me venir en aide ?
    Merci

  2. #2
    Membre confirmé Avatar de deeal
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    218
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 218
    Par défaut
    t'as un bosse sur l'algorithme , pour t'aider ls faut bien que tu fasses quelque chose on en discute sur le forum

  3. #3
    Membre averti
    Inscrit en
    Septembre 2002
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 49
    Par défaut
    tout d'abord le principe de la traingulation de Delaunay
    quel que soit le nuage de point à trianguler la triangulation de Delaunay est unique

    pourquoi? :
    lors de la construction des triangels elle verifier un de ses critères
    -Circle vide
    -Max-Min

    comment?:
    il faut developper deux fonctions qui sont le noyeau de votre application :
    calcul de l'orientation, gauche ou a droite
    Calcul d' un point qui appartient au cercle ou non (in_circle)

    Algorithme utilisée :
    Divide and conquer
    incrémental

    Implémentation :

    a toi , ;-)

  4. #4
    Membre averti
    Inscrit en
    Septembre 2002
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 49
    Par défaut
    http://membres.lycos.fr/cnts2003/forums/viewforum.php?f=7&sid=1996c05615db247438f70b48146969c4
    un site pour telecharger un mémoire bien détail sur delaunay et diagramme de voronoi dans le cas contraint

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 6
    Par défaut re triangulation de delaunay
    Merci pour cette petite aide, neanmoins nous avons un petit probleme pour demarer: comment fait on pour savoir si un pt est un l'interieur ou a l'exterieur d'un cercle en PASCAL ?

  6. #6
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Par défaut Re: re triangulation de delaunay
    Citation Envoyé par Smuk
    Merci pour cette petite aide, neanmoins nous avons un petit probleme pour demarer: comment fait on pour savoir si un pt est un l'interieur ou a l'exterieur d'un cercle en PASCAL ?
    En calculant la distance au carré du point au centre du cercle et en comparant cette distance au carré avec le rayon au carré du cercle

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 6
    Par défaut
    :
    comment peut on faire pour calculer les longueurs des coté d'un triangle a partir de ses coordonnées ainsi que les angles de celui ci ...
    ou si quelqu'un a une meilleur idée pour demarer notre programme pascal

  8. #8
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Par défaut
    Citation Envoyé par Smuk
    je suis actuellement élève dans une ecole d'ingenieur
    Citation Envoyé par Smuk
    comment peut on faire pour calculer les longueurs des coté d'un triangle a partir de ses coordonnées
    Il doit y avoir quelque chose que je n'ai pas compris

  9. #9
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 819
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 819
    Par défaut
    Citation Envoyé par pgibone
    Citation Envoyé par Smuk
    je suis actuellement élève dans une ecole d'ingenieur
    Citation Envoyé par Smuk
    comment peut on faire pour calculer les longueurs des coté d'un triangle a partir de ses coordonnées
    Il doit y avoir quelque chose que je n'ai pas compris
    Ben il est peut-être pas dans une école d'ingénieurs en triangles!

    Tu calcules ton vecteur centre du cercle-ton point, tu calcules sa norme, et puis voila.
    En gros ça doit faire un racine carré((xpoint-xcentre)^2+(ypoint-ycentre)^2)

    Pythagore, c'est pas du niveau 3ème?
    Ca risque d'être chaud pour du Delaunay...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  10. #10
    Membre averti
    Inscrit en
    Septembre 2002
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 49
    Par défaut


    le noyeau de la triangulation de delaunay c deux fonctions
    il y a un exemple en delphi de paul borke (australien)
    ou dans le site http://www.torry.net cherche par mot clé voronoï

    si tu veux faire des rappel en math alors je teconseil d'etre ici :
    http://www.wolfram.mathworld.com

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 6
    Par défaut
    merci c tres gentil

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 6
    Par défaut problème pour le calcule de ab:
    salut c'est encore moi!! j'ai un problème pour le calcule de la variable ab. à la main je trouve 41900 et le pc me trouve un résultat négatif quelqu'un peut m'aider ????


    program triangle;
    uses graph;
    var gd, gm :integer;
    cercle,ab,bc,ca,i,j,c,d :real;
    mat: array [1..4,1..2] of integer;

    begin
    gd:= detect;
    initgraph (gd,gm,'');
    mat[1,1]:=10;
    mat[1,2]:=10;
    mat[2,1]:=630;
    mat[2,2]:=240;
    mat[3,1]:=10;
    mat[3,2]:=470;
    mat[4,1]:=340;
    mat[4,2]:=200;
    setcolor(3);
    line(mat[1,1],mat[1,2],mat[2,1],mat[2,2]);
    line(mat[2,1],mat[2,2],mat[3,1],mat[3,2]);
    line(mat[1,1],mat[1,2],mat[3,1],mat[3,2]);
    circle(mat[4,1],mat[4,2],5);


    cercle:=(((mat[1,1]-mat[4,1])*(mat[2,2]-mat[4,2])*(sqr(mat[3,1]-mat[4,1])+sqr(mat[3,2]-mat[4,2]))
    +
    (mat[1,2]-mat[4,2])*((sqr(mat[2,1]-mat[4,1])+sqr(mat[2,2]-mat[4,2]))*(mat[3,1]-mat[4,1]))
    +
    (sqr(mat[1,1]-mat[4,1])+sqr(mat[1,2]-mat[4,2]))*(mat[2,1]-mat[4,1])*(mat[3,2]-mat[4,2]))

    -

    ((mat[3,1]-mat[4,1])*(mat[2,2]-mat[4,2])*(sqr(mat[1,1]-mat[4,1])+sqr(mat[1,2]-mat[4,2]))
    +
    (mat[3,2]-mat[4,2])*(sqr(mat[2,1]-mat[4,1])+sqr(mat[2,2]-mat[4,2]))*(mat[1,1]-mat[4,1])
    +
    (sqr(mat[3,1]-mat[4,1])+sqr(mat[3,2]-mat[4,2]))*(mat[2,1]-mat[4,1])*(mat[1,2]-mat[4,2])));
    writeln(cercle);

    if (cercle>0) then
    begin
    ab:=((mat[1,1]-mat[4,1])*(mat[2,2]-mat[4,2]))-((mat[2,1]-mat[4,1])*(mat[1,2]-mat[4,2]));
    bc:=(((mat[2,1]-mat[4,1])*(mat[3,2]-mat[4,2]))-((mat[3,1]-mat[4,1])*(mat[2,2]-mat[4,2])));
    ca:=(((mat[3,1]-mat[4,1])*(mat[1,2]-mat[4,2]))-((mat[1,1]-mat[4,1])*(mat[3,2]-mat[4,2])));
    c:=((mat[1,1]-mat[4,1])*(mat[2,2]-mat[4,2]));
    d:=(mat[2,1]-mat[4,1])*(mat[1,2]-mat[4,2]);
    if (ab>0) and (bc>0) and (ca>0) then
    begin
    setcolor(4);
    line(mat[1,1],mat[1,2],mat[4,1],mat[4,2]);
    line(mat[2,1],mat[2,2],mat[4,1],mat[4,2]);
    line(mat[3,1],mat[3,2],mat[4,1],mat[4,2]);
    end;
    if (ab>0) and (bc>0) and (ca<0) then
    begin
    setcolor(4);
    line(mat[1,1],mat[1,2],mat[4,1],mat[4,2]);
    line(mat[3,1],mat[3,2],mat[4,1],mat[4,2]);

    end;

    if (ab<0) and (bc>0) and (ca>0) then
    begin
    setcolor(4);
    line(mat[1,1],mat[1,2],mat[4,1],mat[4,2]);
    line(mat[2,1],mat[2,2],mat[4,1],mat[4,2]);

    end;
    if (ab>0) and (bc<0) and (ca>0) then
    begin
    setcolor(4);
    line(mat[2,1],mat[2,2],mat[4,1],mat[4,2]);
    line(mat[3,1],mat[3,2],mat[4,1],mat[4,2]);
    end;

    end;
    writeln('ab= ',ab);
    writeln('c= ',c);
    writeln('d= ',d);

    writeln('bc= ',bc);
    writeln('ca= ',ca);


    readln;
    closegraph;
    end.


    merci

  13. #13
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 819
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 819
    Par défaut Re: problème pour le calcule de ab:
    Salut,

    Citation Envoyé par Smuk
    ab:=((mat[1,1]-mat[4,1])*(mat[2,2]-mat[4,2]))-((mat[2,1]-mat[4,1])*(mat[1,2]-mat[4,2]));
    Tu as un léger dépassement de capacité sur la seconde moitié de ton expression:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((mat[2,1]-mat[4,1])*(mat[1,2]-mat[4,2]))=-81700
    qui ne rentre pas dans un Integer.

    Essaye en passant en Longint

    Cf http://pascal.developpez.com/faq/?pa...ms#IntOverflow
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 6
    Par défaut merci
    MERCI plegat tu nous à aidé!!!!!! notre programme fonctionnent dans la théorie maintenant on va passé à la vitesse supérieur!! au programme génération de point au fur et à mesure !!

Discussions similaires

  1. [java] Triangulation de Delaunay (incrémentale)
    Par pseudocode dans le forum Contribuez
    Réponses: 64
    Dernier message: 05/06/2012, 17h30
  2. Réponses: 2
    Dernier message: 22/02/2009, 17h55
  3. Triangulation de Delaunay : stockage
    Par Mayhem555 dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 22/11/2006, 13h36
  4. Triangulation de Delaunay pour des carreaux troués
    Par Laurent Gomila dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 27/07/2005, 22h14

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