Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: So Jul 13, 2025 05:16

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: line line collision
BeitragVerfasst: So Jul 09, 2006 10:50 
Offline
DGL Member
Benutzeravatar

Registriert: Do Mär 06, 2003 15:27
Beiträge: 281
Wohnort: Bochum
hey jungs, könnt ihr mal grad über den code gucken, ich komm grad auf keinen grünen zweig und finde den fehler nich warum dieser collision-code auch nicht collisionen als collisionen zurückgibt.... ;(
ich glaub ich seh den wald vor lauter bäumen nicht:

Code:
  1.  
  2. //line1 = v1 to v2
  3. //line2 = v3 to v4
  4. function CollLineLine(v1,v2, v3,v4:TVec2):Boolean;
  5. var  vN:TVec2;
  6.     fDot1,fDot2,fDot3,fDot4:Single;
  7. begin
  8.   vN:=Vec2Orth(v1-v2);
  9.   fDot1:=vN*(v1-v3);
  10.   fDot2:=vN*(v1-v4);
  11.  
  12.   vN:=Vec2Orth(v3-v4);
  13.   fDot3:=vN*(v3-v1);
  14.   fDot4:=vN*(v3-v2);
  15.  
  16.   if(   (((fDot1<0) and (fDot2>0)) or ((fDot1>0) and (fDot2<0))) or
  17.         (((fDot3<0) and (fDot4>0)) or ((fDot3>0) and (fDot4<0)))) then
  18.     result:=true
  19.   else
  20.     result:=false;
  21. end;
  22.  

_________________
www.extrawurst.org


Zuletzt geändert von Extrawurst am So Jul 09, 2006 11:21, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 09, 2006 11:07 
Offline
DGL Member
Benutzeravatar

Registriert: Mo Apr 25, 2005 17:51
Beiträge: 464
Linien im 2-dimensionalen Raum?

Kannst ja mal hier schauen:
http://www.scherfgen-software.net/index.php?action=tutorials&topic=collision2d_1

_________________
__________
"C++ is the best language for garbage collection principally because it creates less garbage." Bjarne Stroustrup


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Jul 09, 2006 11:43 
Offline
DGL Member
Benutzeravatar

Registriert: Do Mär 06, 2003 15:27
Beiträge: 281
Wohnort: Bochum
ok hab den fehler in meinem code, der ansatz war ja völlig in ordnung von mir aber ich hab nen kleinen denkfehler bei der iff-abfrage gehabt...
so funktionierts:

Code:
  1.  
  2.   if(   (((fDot1<0) and (fDot2>0)) or ((fDot1>0) and (fDot2<0))) {-->} and {<---}
  3.       (((fDot3<0) and (fDot4>0)) or ((fDot3>0) and (fDot4<0)))) then
  4.     result:=true
  5.   else
  6.     result:=false;
  7.  

_________________
www.extrawurst.org


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 3 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 15 Queries | GZIP : On ]