Suche Kollisionsprüfung Dreieck Dreieck

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
mpz
Beiträge: 505
Registriert: 14.06.2005 15:53
Computerausstattung: Win 11 Pro, 48 GB Ram, Intel I7 CPU und RX4070 Grafikkarte, PB (4/5) 6.12LT
Wohnort: Berlin, Tempelhof

Suche Kollisionsprüfung Dreieck Dreieck

Beitrag von mpz »

Hallo Leute,

ich hoffe Ihr könnt mir helfen. Ich benötige einen Algorythmus der im 2D Raum überprüft ob sich zwei Dreiecke überschneiden und ich habe hier alle drei Eckpunkte als vectoren (x und y Wert). Bisher haben ich nur eine Prüfungsroutine ob sich ein Punkt in einer Dreecksfläche befindet, aber bei überlappenden Dreicken kann man das nicht verwenden. Im Internet etc. war ich bisher nicht richtig fündig...

Dreieck A hat x1,y1 und x2,y2 und x3,y3

Dreieck B hat x4,y4 und x5,y5 und x6,y6

Wie man hier bei meinem PC Programm sieht ist meine jetzige Lösung noch verbesserungswürdig. (Die Pixelüberprüfung ist schon fast fertig, aber vorher will ich eine "gedrehte Rechteckprüfung" machen)
http://em.q-soft.ch/files/get/nxOjSFtehK/test.exe


Gruß Michael
Working on :lol: - LibSGD - MP3D Engine - 8)
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Re: Suche Kollisionsprüfung Dreieck Dreieck

Beitrag von Kaeru Gaman »

mpz hat geschrieben:Bisher haben ich nur eine Prüfungsroutine ob sich ein Punkt in einer Dreecksfläche befindet, aber bei überlappenden Dreicken kann man das nicht verwenden.
ehm... doch... zumindest meistens.

wenn du zwei dreiecke hast, die sich überlappen, befindet sich meistens mindestens ein punkt eines der dreiecke in der fläche des anderen.

sonderfall ist, wenn zwei besonders schlanke dreiecke quasi 90° zueinander stehen...
das ist wahrscheinlich der fall der dir kopfzerbrechen bereitet...?

aber mit der ersten prüfung deckst du bestimmt schon mal >90% der fälle ab.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
gnasen
Beiträge: 578
Registriert: 01.08.2007 14:28
Computerausstattung: PB 4.60

Re: Suche Kollisionsprüfung Dreieck Dreieck

Beitrag von gnasen »

Für meine Kollisionsroutine habe ich Dreieck-Dreieck Kollision verwendet.
Kannst gerne den Quellcode zerlegen, wenn du fragen hast, einfach melden.

Und mal den Download erneuert, der alte war noch auf soner Filehoster Seite...

Habe noch gerade geschaut, die interessanten Funktionen sind:
_col_check_line und _col_point_tri. Diese werden in _col_obj_obj aufgerufen, um die Kollision von 2 Dreiecken zu prüfen.

Ansonsten kannst du die Include natürlich noch "normal" benutzen ;)
Zuletzt geändert von gnasen am 04.02.2010 14:49, insgesamt 1-mal geändert.
pb 4.51
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7032
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Suche Kollisionsprüfung Dreieck Dreieck

Beitrag von STARGÅTE »

Mach halt eine Kollisionsabfrage zwischen den 3 Lines eines Dreiecks mit den anderen 3 Lines des andere Dreiecks, wäre dann 9 Abfragen. Also nicht viel mehr als du hättest wenn du die Ecken Abfrags ob sie im anderen Dreieck sind.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
mpz
Beiträge: 505
Registriert: 14.06.2005 15:53
Computerausstattung: Win 11 Pro, 48 GB Ram, Intel I7 CPU und RX4070 Grafikkarte, PB (4/5) 6.12LT
Wohnort: Berlin, Tempelhof

Re: Suche Kollisionsprüfung Dreieck Dreieck

Beitrag von mpz »

Hi Danke,

scheint genau das zu sein was ich brauche. Problematisch wird es nur wenn eine Dreieck in einem Dreieck ist dann helfen die Prüfungen vermutlich nicht mehr. Aber Ausnahmen bestätigen die Regel...

Gruß Michael
Working on :lol: - LibSGD - MP3D Engine - 8)
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7032
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Re: Suche Kollisionsprüfung Dreieck Dreieck

Beitrag von STARGÅTE »

dafür kannst du ja noch checken ob der Schwerpunkt eines Dreicks im andere ist :wink:
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Benutzeravatar
mpz
Beiträge: 505
Registriert: 14.06.2005 15:53
Computerausstattung: Win 11 Pro, 48 GB Ram, Intel I7 CPU und RX4070 Grafikkarte, PB (4/5) 6.12LT
Wohnort: Berlin, Tempelhof

Re: Suche Kollisionsprüfung Dreieck Dreieck

Beitrag von mpz »

Hi,

Ich habe erst einmal noch meine Pixelprüfung mit einfacher Rechteckprüfung fertig gemacht. Morgen werde ich die gedrehte Dreiecks-Rechteckprüfung dazu programmieren. Mal sehen ob noch ein paar Fps dazu kommen :mrgreen:

Aber vorher noch eine kurze Frage an die Windows PC Besitzer. Auf wieviel Fps kommt ihr denn bei dem Beispiel? Ich habe hier nen X2 4000+ mit ner GTS 250 und komme auf 120 fps. Man sollte ein drehendes dreigeteiltes Sprite sehen was Bälle wegfegt, Anzahl der Sprites 4000...

http://em.q-soft.ch/files/get/YPRV3gfFFC/test3.exe

P.S: Noch nen "kleinen" Speicherbug entfernt

Gruß Michael
Zuletzt geändert von mpz am 05.02.2010 03:37, insgesamt 2-mal geändert.
Working on :lol: - LibSGD - MP3D Engine - 8)
Benutzeravatar
CSHW89
Beiträge: 489
Registriert: 14.12.2008 12:22

Re: Suche Kollisionsprüfung Dreieck Dreieck

Beitrag von CSHW89 »

hi,
sehr merkwürdig, hab win xp x2 4200+ mit ner radeon x1950. bei mir gehts kann schon in die knie. minimalwert bei 20 fps. maximal so bei 30.
mfg kevin
Bild Bild Bild
http://www.jasik.de - Windows Hilfe Seite
padawan hat geschrieben:Ich liebe diese von hinten über die Brust ins Auge Lösungen
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Re: Suche Kollisionsprüfung Dreieck Dreieck

Beitrag von Kaeru Gaman »

XP Pro sp2
Intel Core2 6320 @ 1.86GHz 2GB RAM
GF 8800 GT 512MB PCIE 16x @ 1920x1080

hoch bis 88 FpS bei 0° & 90°
runter bis 40 FpS bei 45°
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Thorium
Beiträge: 1722
Registriert: 12.06.2005 11:15
Wohnort: Germany
Kontaktdaten:

Re: Suche Kollisionsprüfung Dreieck Dreieck

Beitrag von Thorium »

Win 7 Pro x64
Intel Core i7 920 @2,66 Ghz 6GB RAM
GeForce GTX 260 896 MB

Maximal FPS: 356
Minimal FPS: 244
Zu mir kommen behinderte Delphine um mit mir zu schwimmen.

Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke! Bild
Antworten