Suche Kollisionsprüfung Dreieck Dreieck
- 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
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
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
- LibSGD - MP3D Engine - 
-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Re: Suche Kollisionsprüfung Dreieck Dreieck
ehm... doch... zumindest meistens.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.
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.
Der Weise weiß, dass er ein Narr ist.
Re: Suche Kollisionsprüfung Dreieck Dreieck
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
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
Re: Suche Kollisionsprüfung Dreieck Dreieck
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
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
- 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
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
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
- LibSGD - MP3D Engine - 
Re: Suche Kollisionsprüfung Dreieck Dreieck
dafür kannst du ja noch checken ob der Schwerpunkt eines Dreicks im andere ist 
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
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
- 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
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
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
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
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
- LibSGD - MP3D Engine - 
Re: Suche Kollisionsprüfung Dreieck Dreieck
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
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

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
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°
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.
Der Weise weiß, dass er ein Narr ist.
Re: Suche Kollisionsprüfung Dreieck Dreieck
Win 7 Pro x64
Intel Core i7 920 @2,66 Ghz 6GB RAM
GeForce GTX 260 896 MB
Maximal FPS: 356
Minimal FPS: 244
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!
Wir fordern mehr Aufmerksamkeit für umfallende Reissäcke!
