Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

06.11.2003, 13:01

mathe: face schneidet quader

wie kann ich sicher festellen, ob ein dreicek in einem quader ist (das
schließt teilweises "im-quader-sein" mit ein) oder nicht.?

mfg 23

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

06.11.2003, 13:23

1.) Testen, ob alle drei Punkte im Quader liegen. Falls ja: auf jeden Fall Kollision.
2.) Falls nicht: teste die drei Linien des Dreiecks auf Kollision mit dem Quader. Falls es eine gibt: auf jeden Fall Kollision.
3.) Teste auch noch die Seitenhalbierenden des Dreiecks auf Kollision mit dem Quader.

Es ist nicht 100%ig genau, aber müsste die allermeisten Fälle abdecken. Schlecht wird es, wenn das Dreieck größer als der Quader ist.

NoName

Treue Seele

Beiträge: 118

Beruf: Student

  • Private Nachricht senden

3

06.11.2003, 14:53

| \
| \
| \
| \
| \
| \
| \
| \
| \
| \
| \
| \
| \
| _______ \
| |\ \ \
| | \ \ \
| | ________ \
| | | \______\ \
| \ | | | \
| \ | | | \
| | | | \
| | \_______| \
|___________________________________________________\

Was ich mt der (aufgrund der Leerzeichen-Eleminierung im normalen Text) Zeichnung sagen wollte, war, dass es auch Dreiecke gibt, die nicht 1 - 3 erfüllen und trotzdem den Quader schneiden. Man müsste dann schon auf Kollision mit den Quaderflächen testen :) .

4

06.11.2003, 15:33

hm..also:

bis jetzt hab ichs so gemacht:
wenn mindestens ein eckpunkt im quader ist, dann ist das dreieck auch
teil des quaders. (es geht übrigens um ein octree-ähnliches
partitionierungssystem)
das wirft nur eben folgendes problem auf:
man stelle sich mal einen einfachen quader als level vor.
wenn ich den nun in verschiedene unterräume einteile, nach der oben
beschriebenen methode, dann sind logischerweise die mittleren nodes
ohne faces, da die vertices alle in den "ecken des levels" sitzen, obwohl
die faces natürlich auch von diesen nodes aus sichtabr sind.
verstanden was ich mein ? *g*

dann hatte ich die idee, das zu testende dreieck als ebene darzustellen
und dann auf schnittpunkte mit den kanten des subraums zu testen.
wenn diese schnittpunkte innerhalb den dimensionen des subraums liegen,
dann ist das dreieck teil dieses subraums. nur ich hab irgendwie
keine peilung wie ich bei dem test sicherstellen soll, das der schnittpunkt
mit der ebene auch auf dem dreieck liegt, da die ebene an sich ja
unendlich groß ist und eine existierender schnittpunkt ja noch nicht
garantiert, das das dreieck auch den quader schneidet...wie habt ihr
sowas realisiert.?

ps: @NoName: wolltest du mir den gleichen test mit deiner grafik
vorschlagen:?

NoName

Treue Seele

Beiträge: 118

Beruf: Student

  • Private Nachricht senden

5

06.11.2003, 21:55

Nein, an Octrees, Quadtrees, BSP etc. hatte ich noch nicht gedacht.

Werbeanzeige