Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2835 connectés 

  FORUM HardWare.fr
  Programmation

  [Algo/Delphi] Detection de collision par triangularisation.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Algo/Delphi] Detection de collision par triangularisation.

n°185565
Slide
Posté le 29-07-2002 à 19:40:35  profilanswer
 

J'ai donc essayer la technique de triangularisation afin de detecté les colisions.
 
Le Schema :
 
http://www.ifrance.com/yepslide/3Pts.jpg
 
Le code pour ce shéma (C'est du Delphi, ca ressemble d'apres certain, bcp au c++)  :
 

Code :
  1. type TSpacePoint = packed record
  2.   X: Double;
  3.   Y: Double;
  4.   Z: Double;
  5. end;


 

Code :
  1. function TForm1.CollisionTriangulisation(Const X,Y,Z:Double; Const point1,point2,point3:TSpacePoint):boolean;
  2. var compteurmemo:integer;
  3. CoeffA1,PtsOrigineB1,Ycomp1:Double;
  4. CoeffA2,PtsOrigineB2,Ycomp2:Double;
  5. CoeffA3,PtsOrigineB3,Ycomp3:Double;
  6. begin
  7. //ax+b=y
  8. CoeffA1:=(point2.x-point1.x)/(point2.y-point1.y);
  9. PtsOrigineB1:=point2.y-((point2.x-point1.x)/(point2.y-point1.y))*point2.x;
  10. CoeffA2:=(point3.x-point2.x)/(point3.y-point2.y);
  11. PtsOrigineB2:=point3.y-((point3.x-point2.x)/(point3.y-point2.y))*point3.x;
  12. CoeffA3:=(point1.x-point3.x)/(point1.y-point3.y);
  13. PtsOrigineB2:=point1.y-((point1.x-point3.x)/(point1.y-point3.y))*point1.x;
  14. Ycomp1:=CoeffA1*X+PtsOrigineB1;
  15. Ycomp2:=CoeffA2*X+PtsOrigineB2;
  16. Ycomp3:=CoeffA3*X+PtsOrigineB3;
  17. If ((Y>Ycomp1) and (Y<Ycomp2) and (Y<Ycomp3)) then beep;
  18. end;


[#f00e00]X,Y est la coordonné du point à tester, Z, n'est pas pris en compte pour le moment.[#000000]
 
Avec ce code, normalement ca devrait marché, mais, ca ne marche pas comme je l'aurais voulu.
 
Si quelqu'un pouvais corrigé eventuelement une erreur ou un oublie de ma parre, merci enormement.

mood
Publicité
Posté le 29-07-2002 à 19:40:35  profilanswer
 

n°185567
Slide
Posté le 29-07-2002 à 19:43:36  profilanswer
 

Je sais qu'il n'y a pas de result, car j'en ai pas encore fait, pour le moment je me contante du "beep" pour faire buzzer mon ordinateur quand il y a collision.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [Algo/Delphi] Detection de collision par triangularisation.

 

Sujets relatifs
[Algo] 2D : Comment savoir si un point se situe entre d'autre ?Est ce que c Possible avec Delphi
interbase - delphiprendre en compte le clavier ds un app delphi en opengl??
Prob à l'install [delphi 4 pro}[Algo] 3D : 2 Vecteurs Perpendiculaire à leurs points d'aplication.
[Delphi]BDE libre?[Delphi]DBGrid forcé la scrollbar vert?
comment creer un dossier sous delphi ???[delphi]pouvoir modifier seulement certaines colonnes d'une stringgrid
Plus de sujets relatifs à : [Algo/Delphi] Detection de collision par triangularisation.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR