Kollisionsabfrage wenn ich Objekte vorher rotieren lasse...
-
Spheres haben keine Ecken.
Bye, TGGC
-
Nein? Spheres bestehen doch natürlich auch aus Polygonen und jedes Polygon ist doch aus seinen 3 Eckdaten = Vertices bestimmt oder täusch ich mich jetzt? Ok bei Spheres wäre es einfacher, weil ich nur den Kreismittelpunkt neu setzen müsste aber sonst...
-
Eine Kugel kann nicht mit Dreiecken 100%ig korrekt dargestellt werden.
Mit Kugeln lässt sich so schön einfach rechnen - warum willst Du Dir das kaputtmachen, indem Du sie als einen Haufen von Dreiecken ansiehst?
-
ja ok, mit Kugeln zu rechnen ist vielleicht ganz einfach, ich denke das versuch ich mal...vielleicht besser als nur Boxes zu verwenden...mhh jetzt nur noch ne "Formel" überlegen mit der ich überprüfe ob eine Kugel eine Box schneidet ... sollte ja net all zu schwer sein :>
Kevin
edit: hmm geht das einfacher als alle Polygone der zwei Objekte auf "Schneidung" zu überprüfen? Ist das eindeutig wenn ich sage
Wenn Radius größer als Verbindungsstrecke zwischen Kreismittelpunkt zu einem der 8 Echtpunkte dann schneiden sie sich? Das trifft doch immer zu ausser wenn der Kreis vollständig in einer Box verschwindet oder?
-
1.Stimmt ist mir auch aufgefallen und jetzt haben wir wieder die gleche
2.Cool ich hab unabsichtlich nen Lösungsvorschlag gemacht, dabei wollt ich doch
nur anmerken, dass große Spiele sowas auch nicht berücksichtigen und man als
Hobbyspieleprogrammierer da nicht so rießigen Wert drauf legen muss
-
Surkevin schrieb:
mh das war jetz aber nich wirklich ein konstruktiver Beitrag wenn ich mich nicht irre oder?
Doch, war es...
Wenn auch mit einer gehörigen Portion Sarkasmus.
Ich wollte Dich nur wieder auf "den rechten Weg" bringen...
Im Ernst: Konzentriere Dich erstmal auf Dein generelles Spiel. Wie Du nachher noch 2-3 fps mehr rauskitzelst ist erstmal schnuppe. Dieses on-the-fly-optimizing is' sicher als Profi kewl, aber am Anfang verrennst Du Dich damit total... und Dein Projekt wird nie feddick.
Und das sage ich nicht, weil ich hochnäsig auf Dich herabschaue, sondern ich spreche aus eigener Erfahrung...
-
TGGC schrieb:
Was hat das jetzt hiermit zu tun?
Kugel vs Box macht man normalerweise mit 6 Kugel vs Plane-Abfragen, da eine Box ja aus 6 Planes zusammengesetzt ist. Ob eine Kugel eine Plane schneidet, merkt man an der Entferung Plane-Mittelpunkt. Ist deren Betrag kleiner als der Radius, so ist Kollision, ansonsten entscheidet das Vorzeichen, auf welche Seite die Kugel liegt.
Bye, TGGC
Also wie ist die Abfrage Box-Kugel? Entfernung zwischen Kugelmittelpunkt zu Planemittelpunkt. Und wenn deren Betrag kleiner als Radius => Kollision...also so wie ich das jetzt aufgenommen habe kann es ja nicht stimmen. Angenommen wir haben einen Quader mit a = 10 und eine Kugel mit r = 1. wenn die Kugel jetzt auf der Seite liegt dann ist die PlaneMP-KugelMP ungefähr 5...also auf jeden Fall größer als der Radius.... mhhh
Oh man das ist so mies wenn man analytische Geometrie in der Schule noch vor sich hat und jetzt alles erfragen muss ... naja ich geb nicht auf :xmas1:
Kevin
-
Surkevin schrieb:
Also wie ist die Abfrage Box-Kugel? Entfernung zwischen Kugelmittelpunkt zu Planemittelpunkt.
Eine Plane hat keinen Mittelpunkt. Der Abstand ist einfach die kürzeste Verbindung (hier: das Lot) vom Kugelmittelpunkt zur Plane.
Surkevin schrieb:
naja ich geb nicht auf
Mist.
Bye, TGGC
-
und wie komm ich an diese kürzeste Verbindung? Hab keine Ahnung wie ich das ausrechnen kann :(( schon geil wenn einem die mathematischen Kenntnisse fehlen
Edit: Glückwunsch - noch einer und du hast die 1000er
-
Wie wär's wenn Du nach sowas mal mit google suchst?! Oder Du schmökerst in einem guten Mathebuch.
P.S.: TGGC hat schon weit mehr als 1000, ihm wurde nur sein Account irgendwie falsch übernommen. Das hab' ich vor Monaten schonmal angemerkt, da wurde ich aber direkt beschimpft (nicht von ihm)...
-
ihr wisst ja wie man das ausrechnet...ich nich..und ich weiß auch nicht nach was ich da suchen muss "Kürzeste Strecke zwischen Punkt und Fläche im Raum" - super...ihr kennt ja die Lösungswege
Könnt ja sagen - Alle 4 Vektoren der 6 Flächen berechnen und dann mit der Position des Kugelmittelpunktes das Kreuzprodukt nehmen und dann den Rechner ausmachen...
Edit:
http://www.cz.j.th.schule.de/spezi/projekte/informatik/maple/Abstand_Ebene-Punkt1.htmljippi, damit gehts bestimmt oder?
manman ich brauch K13 gar nimmer besuchen...in 2 Monaten hab ich den kompletten Stoff drauf
Wenns nich geht oder einfacher sagts mir bitte
-
http://www.google.de/search?hl=de&ie=UTF-8&oe=UTF-8&q=abstand+ebene+kugel+im+raum&btnG=Google+Suche&meta=
http://www.mathe-aufgaben.de/mathehilfen/mathe-abitur/vektorrechnung.htm
http://www.mathe-aufgaben.de/mathehilfen/mathe-abitur/Vektoren/Vektorgeometrie/65012%20Kugel%202%20SW.pdf
Kann nicht sagen ob es wirklich hilft, hab's nur kurz überflogen...
-
Hallo!
Erstmal danke für die Links. Wie ich gelesen habe hat ja die kürzeste Verbindung zwischen Punkt und Ebene die selbe Richtung wie die Normalvektoren die auf den 4 Ecken sind. Trifft das immer zu? Also dass die Strecke eben senkrecht dazu ist? Weil wenn die Kugel direkt hinter einer Ecke wäre und dann sozusagen auf die Ecke einschlägt ist die kürzeste Verbindung doch auf die Ecke und es wäre nicht senkrecht. Oder kann ich davon ausgehen dass die Richtung der Normalvektoren immer die Richtung der Verbindungsstrecke ist? Hätte nich gedacht dass das so kompliziert ist
-
Eine EBENE ist unendlich groß und hat keine ECKEN! Dort trifft es immer zu, daß der kürzeste Abstand zu einem Punkt genau senkrecht zur Ebene verläuft. Ein RECHTECK ist aber nur eine TEILMENGE einer EBENE. Entsprechend wird die Abfrage komplizierter...
-
Jippi und wie überprüft man ob der Punkt innerhalb der Teilmenge der Ebene liegt? Hab google nichts richtiges gefunden
-
Aber um mit der Box zu testen benötigst du eben keinen Schnitt mit Rechtecken, das ist grad der Witz. Also ist es im Grunde ganz einfach, schau dir einfach mal Abstand Punkt - Ebene an!
Bye, TGGC
-
Aber du meintest ja ich solle die Box in 6 Planes zerlegen. Ich finde ja auch nur Infos über Abstand Punkt-Ebene aber nicht Punkt-Box z.b.
Ist es denn möglich direkt Punkt-Box zu machen ohne die 6 Planes? Wie funktioniert es denn ohne die Zerlegung? Danke für eure Mathenachhilfe
Edit: Könnt ihr mir mal erklären wie man auf so eine EBenengleichung kommt und was die aussagt? Bei lauter so Aufgaben im Netz steht oft
"Gegeben sei die Ebene E : -2x1 + x2 - 3x3 - 5 = 0Das einzige was für mich logische wäre eine Ebene zu definieren, wenn sie denn unendlich ist, wäre ihr Vektor und ihre Position im Raum! Ich versteh diese Ebenengleichung gar nicht
Edit2: Ich habe jetzt mehrfach für die Berechnung des Abstandes folgendes Gleichungssystem gefunden
d(P;E) = Betrag((aP1 + bP2 + cP3 + d)/sqrt(a²+b²+c²))
Leider weiß ich jetzt nicht so wirklich was ich für die Variablen einzusetzen habe. Ich glaube ich habe gelesen dass a b und c die Koordinaten (also x y und z) des Normalvektors der Ebene sind, damit hätte ich a b und c. Sind dann P1 P2 P3 vielleicht die Koordinaten des Punktes? Also das ist das einzige was ich mir vorstellen könnte...wäre lieb wenn ihr mir sagen könntet ob das stimmt....mhhh so hätte ich dann zwar den Abstand, aber ich weiß dann doch nicht ob er in Der Ebene liegt? Wenn ich vom Punkt ausgehenden in Richtung des Normalvektors der Ebene den Abstand d gehe müsste ich zum Schnittpunkt ( = Lotfußpunkt) kommen oder? Wie kann ich dann überprüfen ob dieser in der gesuchten Quaderseite liegt? Ich hoffe ich habe jetzt nicht totalen Unfug erzählt
Kevin
-
Anhang an obigen Post:
Durch ThomasRikers geniale Seite (*schleim*) habe ich jetzt "rausgefunden" dass d eben angibt wie viele Einheiten in Richtung des Normalenvektors zu gehen ist. Aber angenommen ich habe jetzt eine Ebene, ich habe die 4 Eckpunkte gegeben (jaaaa eine Ebene hat keine Eckpunkte weil sie unendlich ist, aber ich geh jetzt von meiner Quaderseite aus). Dann nehm ich einen Eckpunkt und nehm die Vektoren der 2 Kanten am Eckpunkt. Über ihr Kreuzprodukt komme ich an den Normalenvektor. Dann habe ich a b und c. Nun fehlt mir aber noch d! Wie komme ich darauf wie viele Einheiten in Höhe des Normalenvektors zu verschieben sind? Ich habe ja alles bis auf das d :(((
Wisst ihr zusätzlich noch wie ich dann schaue ob der Schnittpunkt (wie komm ich dann auf den? so wie ichs oben gesagt habe?) in meiner Quaderseite liegt?Danke
Kevin
-
Eine Ebene im Raum ist definert durch einen Punkt (gegeben als Positionsvektor) und zwei nicht (anti-)parallelen Richtungsvektoren.
Für's Box-Prüfing mußt Du den Punkt gegen alle Planes checken. Liegt er jedesmal auf der Innenseite der Planes, ist er innerhalb der Box.
-
welchen punkt muss ich gegen alle planes testen? Den mittelpunkt doch nicht weil der auch ne Box schneiden kann bevor der MPKT in der Box selbst ist...
Wie kann ich denn überprüfen ob ein Schnittpunkt auf einer unendlichen Ebene in einer begrenzten ist??