Ich arbeite derzeit an der A * -Pfadfindung in einem Raster und möchte den generierten Pfad glätten, wobei ich auch das Ausmaß des Zeichens berücksichtige, das sich darauf bewegt. Ich verwende ein Raster für die Wegfindung, aber die Bewegung von Charakteren ist freies Roaming, keine strikte Bewegung von Kachel zu Kachel.
Um einen glatteren und effizienteren Pfad zu erzielen, führe ich Linienspuren in einem Raster durch, um festzustellen, ob sich zwischen den Kacheln nicht begehbare Kacheln befinden, um unnötige Ecken zu entfernen.
Da eine Linienverfolgung jedoch keine Ausdehnung aufweist, wird die Ausdehnung des Zeichens nicht berücksichtigt und es werden schlechte Ergebnisse erzielt (es werden keine nicht begehbaren Kacheln zurückgegeben, die nur von der Linie übersehen wurden, was zu unerwünschten Kollisionen führt).
Ich suche also nicht nach einem Linienalgorithmus, der die Kacheln darunter bestimmt, sondern nach einem, der die Kacheln unter einer kachelweiten Ausdehnungslinie bestimmt. Hier ist ein Bild, um mein Problem zu visualisieren!
Hat jemand irgendwelche Ideen? Ich habe mit Bresenhams Linie und anderen Alternativen gearbeitet, aber ich habe noch nicht herausgefunden, wie ich dieses spezielle Problem lösen kann.