Ich suche nach einer Methode, um ein achsenausgerichtetes Rechteck innerhalb eines konkaven oder konvexen Polygons zu finden.Ein begrenztes Rechteck innerhalb eines konkaven/konvexen Polygons finden
Ich habe im Internet gesucht, die nächsten Lösungen, die ich finden konnte, würden nur ein konvexes und kein konkaves Polygon passen. Zum Beispiel -
Finding an axis-aligned rectangle inside a polygon
Um ehrlich zu sein, ich bin kein große Mathe wiz, also würde ich eher Codebeispiele oder eine Code-Bibliothek finden, aber ich glaube, ich könnte etwas Mathematik von mir handhaben, oder jemanden finden um mir dabei zu helfen.
Es wäre wirklich schön, wenn die Lösung auch in Java sein könnte, aber vielleicht bin ich zu gierig: P
bearbeiten: Als Antwort auf Russells Kommentar, ich bin ein bisschen mehr Informationen hinzufügen.
Das begrenzte Rechteck sollte so groß wie möglich sein. Das Rechteck soll Text darin enthalten. Maximal 1 bis 4 Wörter, mit Unterstützung für Textumbruch. Wenn es zum Beispiel zu dünn wäre, würde ich den Text vertikal statt horizontal platzieren. Für das Seitenverhältnis muss es also ausreichen, um 1-4 Wörter entweder vertikal oder horizontal mit Wortumbruch zu enthalten. Ich kann die Größe des Textes ändern, wenn das Rechteck klein ist, aber vorzugsweise sollte der Text so groß wie möglich sein. Eine andere Anforderung, die wünschenswert wäre, wäre, dass, wenn die allgemeine Ausrichtung des Polygons diagonal ist und der Text viel besser passt, wenn er diagonal ausgerichtet ist, dann das Rechteck nicht unbedingt mit der Achse "aber ausgerichtet" wäre stattdessen mit den diagonalen Linien des Polygons ausgerichtet sein. Ich denke, diese Nachfrage macht das wirklich schwierig, aber wenn ihr es für möglich hält, wäre es großartig!
Ich denke, ich habe jetzt alle Anforderungen abgedeckt. : P
Vielen Dank!
Gibt es weitere Einschränkungen für das Rechteck? Willst du, dass es maximal ist? Von einer bestimmten Höhe oder Breite? Oder vielleicht ein bestimmtes Seitenverhältnis? Sollte es die Kanten an mindestens zwei Ecken berühren? Für konkave Polygone, wo es mehrere verschiedene mögliche Platzierungen geben kann, gibt es eine Heuristik, für die es besser ist? –
Hallo Russell, danke für deine Antwort! Ich habe meine Frage aktualisiert. – Dror