Kollisionserkennungsmethoden
-
- Beiträge: 243
- Registriert: 29.08.2004 12:46
- Wohnort: Irgendwo im nirgendwo
- Kontaktdaten:
Kollisionserkennungsmethoden
Hallo ihr,
ich programmiere im moment an meiner physikengine, dabei hat sich ein problem mir in den weg gestellt:
Wie kann man berechnen, wo die kolision stat findet ?
was ich schon weiß :
-Mit kugeln
-Mit punkten und grundkörpern:
Die objekte werden in viele kleine punkte zerlegt und die werden wieder mit einem Grundobjekt auf eine kolision geprüft.
-Mit polygonen:
Ist ansich nicht schlecht, aber da man bei den runden gegenständen (Kugel, zylinder) die kolision nicht genau berechnen kann, fält diese methode weg !
Welche genauen kollisionsermitlungsmethoden giebt es denn noch ?
Im voraus: Danke !
ich programmiere im moment an meiner physikengine, dabei hat sich ein problem mir in den weg gestellt:
Wie kann man berechnen, wo die kolision stat findet ?
was ich schon weiß :
-Mit kugeln
-Mit punkten und grundkörpern:
Die objekte werden in viele kleine punkte zerlegt und die werden wieder mit einem Grundobjekt auf eine kolision geprüft.
-Mit polygonen:
Ist ansich nicht schlecht, aber da man bei den runden gegenständen (Kugel, zylinder) die kolision nicht genau berechnen kann, fält diese methode weg !
Welche genauen kollisionsermitlungsmethoden giebt es denn noch ?
Im voraus: Danke !
- NicTheQuick
- Ein Admin
- Beiträge: 8679
- Registriert: 29.08.2004 20:20
- Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti - Wohnort: Saarbrücken
- Kontaktdaten:
-
- Beiträge: 243
- Registriert: 29.08.2004 12:46
- Wohnort: Irgendwo im nirgendwo
- Kontaktdaten:
-
- Beiträge: 243
- Registriert: 29.08.2004 12:46
- Wohnort: Irgendwo im nirgendwo
- Kontaktdaten:
Als mathematisch hochbegabter könntest du des autodidaktisch lernen.
Du könntest einfach mal im Internet suchen (nur so als Anregung)
deinen Mathelehrer fragen (der freut sich bestimmt über dein Interesse)
und vieles mehr.
EDIT: Ach ja, du könntest Beispielcodes anschauen
Ich bin dir leider eine schlechte Hilfe, beschäftige mich einfach überhaupt nicht mit 3D
Simon
P.S.: Du brauchst hier nicht rumschreien, wir hören dich auch so
EDIT2: Des mit dem "aus den Rippen schneiden" ist ungesund, das würd ich lieber lassen
Du könntest einfach mal im Internet suchen (nur so als Anregung)
deinen Mathelehrer fragen (der freut sich bestimmt über dein Interesse)
und vieles mehr.
EDIT: Ach ja, du könntest Beispielcodes anschauen
Ich bin dir leider eine schlechte Hilfe, beschäftige mich einfach überhaupt nicht mit 3D
Simon
P.S.: Du brauchst hier nicht rumschreien, wir hören dich auch so
EDIT2: Des mit dem "aus den Rippen schneiden" ist ungesund, das würd ich lieber lassen
-
- Beiträge: 243
- Registriert: 29.08.2004 12:46
- Wohnort: Irgendwo im nirgendwo
- Kontaktdaten:
- Andre
- PureBasic Team
- Beiträge: 1757
- Registriert: 11.09.2004 16:35
- Computerausstattung: MacBook Core2Duo mit MacOS 10.6.8
Lenovo Y50 i7 mit Windows 10 - Wohnort: Saxony / Deutscheinsiedel
- Kontaktdaten:
@Robert: auch wenn ich von 3D keine Ahnung hab, aber mit Google solltest Du schnell fündig werden, z.B. ergibt die Suche nach [google]Kollisionen erkennen[/google] u.a. diese Seite Kollisionen und Eigenkollisionen. Das ist nun sicherlich nicht das Paradebeispiel zur Beantwortung Deiner Frage, sollte aber nur verdeutlichen, wie schnell man etwas im Internet finden kann. Für speziellere Themen wie diesem wird es jedoch sicher ohne Englisch nicht gehen, gerade wenn es um Programmiererseiten geht.
-
- Beiträge: 6267
- Registriert: 29.08.2004 08:37
- Computerausstattung: Hoffentlich bald keine mehr
- Kontaktdaten:
und ich hätte wenigstens mal im PBoard Archiv nachgeschaut:
http://robsite.de/php/pureboard-archiv/ ... php?t=5160
Und wenn du mathe noch nicht so gut kannst helfen dir Bücher(ich denk inner 8. Klasse kann man auch schon was selbständig lernen). Sinus und Cosinus kannste sicher auch im internet lernen. Nur für weitergehende dinge, wie zum Beispiel das Anwenden um einen Ball oder sowas in der art zu berechnen sollte man sich ein gutes Buch zulegen.
http://robsite.de/php/pureboard-archiv/ ... php?t=5160
Und wenn du mathe noch nicht so gut kannst helfen dir Bücher(ich denk inner 8. Klasse kann man auch schon was selbständig lernen). Sinus und Cosinus kannste sicher auch im internet lernen. Nur für weitergehende dinge, wie zum Beispiel das Anwenden um einen Ball oder sowas in der art zu berechnen sollte man sich ein gutes Buch zulegen.
Angenommen es gäbe einen Algorithmus mit imaginärer Laufzeit O(i * n), dann gilt O((i * n)^2) = O(-1 * n^2) d.h. wenn man diesen Algorithmus verschachtelt ist er fertig, bevor er angefangen hat.
-
- Beiträge: 243
- Registriert: 29.08.2004 12:46
- Wohnort: Irgendwo im nirgendwo
- Kontaktdaten:
Danke Dark dragon,
das mit der sinus und cosinus und tangens funktion ist für mich kein problem (hab ich schon rausbekommen),
Aber:
Die dreieckskolision ist algemein bei runden gegenständen irgentwie ungenau.
Ich bin immer noch auf der suche nach dem heiligen grall zwischen genauigkeit und rechenleistung, im internet hab ich auch nichts gefunden.
Aber vielleicht geht es ja auch so(wie in ODE angedeutet):
dort, wo der kollisionsradius unterschritten wird, wird die welt um die objekte in viele kleine bereiche zerlegt(also ein 3 dimensionales gitter), und in jedem bereich wird geprüft, ob beide körper drine sind, wenn ja --> kollision !)
Oder ich benutze einfach ODE, ist auch relativ stabil.
Hat jemand schon damit erfahrungen gemacht ?
das mit der sinus und cosinus und tangens funktion ist für mich kein problem (hab ich schon rausbekommen),
Aber:
Die dreieckskolision ist algemein bei runden gegenständen irgentwie ungenau.
Ich bin immer noch auf der suche nach dem heiligen grall zwischen genauigkeit und rechenleistung, im internet hab ich auch nichts gefunden.
Aber vielleicht geht es ja auch so(wie in ODE angedeutet):
dort, wo der kollisionsradius unterschritten wird, wird die welt um die objekte in viele kleine bereiche zerlegt(also ein 3 dimensionales gitter), und in jedem bereich wird geprüft, ob beide körper drine sind, wenn ja --> kollision !)
Oder ich benutze einfach ODE, ist auch relativ stabil.
Hat jemand schon damit erfahrungen gemacht ?