Registriert: Mo Sep 02, 2002 15:41 Beiträge: 867 Wohnort: nahe Stuttgart
Wenn das Quad 'ne Wand ist und der Kreis auf der X-Achse liegt, dann ist der Radius, gemessen vom Mittelpunkt des Kreises Richtung Wand doch eine Linie, oder? Und die solltest du dann einfach überprüfen. Also z.B.
Kreis ist -3,0,0 entfernt, heißt, falls radius 1,5 ist, ist er an der Wand. Das ist doch schon ne if-Abfrage, oder? Wenn man dann viele Quads hat, muss man halt so vielleicht 45 oder 90 Linien zeichnen und die mit Jan Horns Technik überprüfen, ob das allerdings dann langsamer wird, kann ich nicht sagen.
Registriert: Mo Jan 20, 2003 20:10 Beiträge: 424 Wohnort: nähe Starnberg
Nur eine Idee und nicht genau durchdacht:
1. Wenn die Entfernung vom Mittelpunkt zur Wand groesser ist als der Radius => keine Kollision, keine weitere Betrachtung
2. Wenn Entfernung kleiner als Radius ist, dann die X und Z - Position der Ecken der Wand prüfen, ob diese innerhalb des Radius liegen, => Kollision, da dann der Kreis die Linie zwischen den 2 Ecke der Wand schneidet oder berührt.
Bezieht sich auf die Annahme, das der Kreis immer in paralle zu X/Z - Ebene liegt und die Wände im 90-Winkel dazu stehen.
Quad mit der Ebene, in der der Kreis liegt schneiden. Einfach alle Kanten des Quads mit der Ebenengleichung der Kreisebene verschneiden. Bei einem konvexen Quad ergibt das 0, 1 (wenn nur ein Punkt auf der Ebene liegt) oder 2 Schnittpunkte. 0 Schnittpunkte = keine Überschneidung.
Bei einem Schnittpunkt muss die Distanz zum Kreismittelpunkt < Kreisradius sein.
Bei zwei Schnittpunkten muss der Normalabstand vom Kreismittelpunkt zur Geradengleichung der Strecke < Kreisradius sein, außerdem muss sich die Strecke zwischen den Schnittpunkten mit der durch die Gerade durch den Kreis gezogenen Sekante überschneiden.
Diese Vorgehensweise sollte (evtl. mit Mathebuch) nachvollziehbar sein.
Übrigens musst du die Ausrichtung einer Ebene in der eine Fläche liegt entweder mit zwei Komponenten angeben (XZ Ebene) oder über ihren Normalvektor (Ebene mit Y-Achse als Normale), damit sie definiert ist.
Auf X-Achse heißt ja nur, dass die X-Achse durch die Ebene geht, es unendlich viele Ebenen auf die diese Eigenschaft zutrifft.
Mitglieder in diesem Forum: 0 Mitglieder und 8 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.