Kollisionserkennung



  • Hi,
    mag sein, dass es eine relativ triviale Frage ist, aber ich bin relativ neu im Bereich der Spieleprogrammierung und (ncoh 😉 ) nicht so ein Mathe-Genie.

    Kann mir einer ne Formel geben mit der ich schauen kann, ob sich zwei Rechtecke irgendwo schneiden? Bisher habe ich immer für jede einzelne Seite geschaut ob die sich mit ner anderen schneidet, aber das muss doch auch einfacher gehen, oder?
    Also gegeben sind:
    a: x-Position des ersten Rechteckes
    b: y-Position des ersten Rechteckes
    c: Breite des ersten Rechteckes
    d: Höhe des ersten Rechteckes

    x: x-Position des zweiten Rechteckes
    y: y-Position des zweiten Rechteckes
    w: Breite des zweiten Rechteckes
    h: Höhe des zweiten Rechteckes
    Danke



  • wenn |a-x|<(c+w)/2 und |b-y|<(d+w)/2 dann Kollision vorrausgesetzt die Rechtecke sind nicht irgendwie gedreht und (a,b) bzw. (x,y) ist die Mitte des Rechtecks

    edit: "oder"->"und"



  • hi,
    vielen dank, ich werds mal anschauen :).
    mfg



  • 1. Es sind 2 rechtwinklige Vierecke.
    2. Bei Kolision muss mindestens eine Ecke in einem anderen Viereck sein
    3. Für jedes Viereck gibt es 2 Geradengleichungen.
    4. Man überprüft die 2. Bedingung mit Hilfe von den Geradengleichungen

    Tipp :
    cos alpha = (vecA * vecB) / (Abs(vecA) * Abs(vecB)


Anmelden zum Antworten