Ich habe einen Begrenzungsrahmen für meinen Charakter, dessen Position im vorherigen Frame und im aktuellen Frame. Der Begrenzungsrahmen ist achsenausgerichtet.
Mein Charakter läuft in einer Höhle herum, ich habe eine Liste von Punkten (Linien), die die Wand der Höhle darstellen (nicht achsenausgerichtet)
Ich habe einen grobkörnigen Algorithmus, der mir sagt, wann ein Teil meines Charakters wahrscheinlich mit einem Teil der Höhlenwand kollidiert ist.
Ich habe keinen feinkörnigen Algorithmus, der mir genau sagt, mit welcher Linie der Wand an welchem Punkt kollidiert wurde.
Mein aktueller Gedanke war, dass ich einfach eine Linie für jede Ecke des Begrenzungsrahmens von ihrer Position im vorherigen Frame bis zu ihrer Position im aktuellen Frame erstellen und dann jede dieser Linien auf Schnittpunkte mit einer der Linien in der Höhle testen könnte Wand.
Mein Google Fu hat mir jedoch keine einfache Formel zur Berechnung von Kreuzungen gezeigt. Habe ich einen schlechten Weg gewählt, oder bin ich nur schlecht bei der Suche?
Mein Spiel ist in Scala geschrieben, aber ich kann fast jede Sprache im C-Stil und viele Skriptsprachen lesen / übersetzen, unabhängig davon, worauf Sie antworten möchten