Ich arbeite gerade an einem 2D-Beleuchtungssystem für ein Spiel. Die Karten bestehen aus Kacheln, die bestimmte Tags und Eigenschaften haben können. In diesem Fall habe ich einige Kacheln als "undurchsichtig" festgelegt und eine Funktion geschrieben, um für jede undurchsichtige Kachel eine Reihe von Rechtecken zu erzeugen. Ich möchte diese Geometrie optimieren, indem ich große Gruppen von Rechtecken in konvexe Polygone zusammenfüge.Generiere konvexe Polygone aus Rechtecken
Meine Rechtecke sind als eine Sammlung von Liniensegmenten in einem Array definiert.
Beispiel eines Rechteck Polygon:
var polygon = [
{a:{x:0,y:0}, b:{x:640,y:0}},
{a:{x:640,y:0}, b:{x:640,y:360}},
{a:{x:640,y:360}, b:{x:0,y:360}},
{a:{x:0,y:360}, b:{x:0,y:0}}];
So ist meine Frage, wie kann ich eine kleinere Gruppe von konvexen Polygonen aus einer großen Gruppe von Rechtecken erzeugen? Ich bin keineswegs ein Experte Coder so bitte fügen Sie eine gründliche Erklärung in Ihre Antwort sowie ein Beispiel, wenn Sie können. Ich habe mehr als ein paar Stunden damit verbracht, das herauszufinden.
Vielen Dank!