groesstes Rechteck innerhalb eines Polygons/Shape finden..?

sirbender

Top Contributor
Hi,

Nehmen wir an ich habe ein Polygon/Shape in Java und will das flaechenmaessig groesste Rechteck finden das da reinpasst. Die optimale Loesung ist nicht noetig ausser die findet sich schnell. Was wichtig ist ist Geschwindigkeit und ein gute sub-optimale Loesung.

Koennt ihr mir mit einer schnellen Loesung weiterhelfen?

Danke,
sb
 

Marco13

Top Contributor
Könnte aufwändig sein. Ein erster, spontaner Gedanke wäre, ein Raster drüberzulegen, und in diesem Raster (für jeden Rasterpunkt???) ein FloodFill zu starten (das sich vielleicht auch nur "Rechteckig" ausbreiten kann???) ... müßte man mal genauer überlegen...
 

slawaweis

Bekanntes Mitglied
Nehmen wir an ich habe ein Polygon/Shape in Java und will das flaechenmaessig groesste Rechteck finden das da reinpasst. Die optimale Loesung ist nicht noetig ausser die findet sich schnell. Was wichtig ist ist Geschwindigkeit und ein gute sub-optimale Loesung.

Koennt ihr mir mit einer schnellen Loesung weiterhelfen?
die Aufgabe ist nicht trivial, vor allem wenn noch konkave Polygone hinzukommen. Ich kenne mich mit Geometrie und Java ziemlich gut aus, aber so eine Aufgabe ist mir neu. Kannst Du mal bitte den Kontext dazu beschreiben, vielleicht hast Du einfach den falschen Ansatz gewählt.

Ansonsten wäre das schnellste und unsauberste die Monte-Carlo-Methode. D.h. man erstellt sich eine Reihe Rechtecke und testet die Schnittmenge mit dem Shape. Die geringste Schnittmenge gewinnt. Dazu setzt man sich noch einen Maximalwert, wie oft so ein Vergleich durchgeführt wird. Funktioniert aber nur bei konvexen Polygonen.

Monte-Carlo-Algorithmus ? Wikipedia

Slawa
 

Marco13

Top Contributor
Dann fällt das mit dem Raster schon mal weg... Selbst wenn man davon ausgeht, dass die Fläche als Polygon (d.h. ohne Bezierkuven, bzw. eben diese durch ein Polygonline angenähert) gegeben ist, würde ich sagen, dass das RICHTIG schwer sein kann, wenn man es "analytisch" lösen will. Eigentlich wäre irgendwas stochastisches (Monte Carlo bzw. sowas wie Genetic Algorithms oder Simulated Annealing) da vielleicht gar nicht verkehrt. Wenn es wirklich SCHNELL sein soll tritt dann das Problem (oder der postivie Effekt) auf, dass diese Verfahren i.a. die Lösungen immer weiter verbessern, und man dann zwischen Qualität und Geschwindigkeit wählen kann.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Kollision zwischen ImageIcon und Rechteck Allgemeine Java-Themen 1
M Quadrate in Rechteck packen Allgemeine Java-Themen 17
J Java eigenen Button programmieren (ob Cursor im Rechteck ist oder nicht..../button pressed or not) Allgemeine Java-Themen 6
L Bildauschnitt mit Rechteck wählen Allgemeine Java-Themen 0
A Audio Rechteck Generator Allgemeine Java-Themen 5
D Rechteck um 90 Grad drehen Allgemeine Java-Themen 19
J JavaScript innerhalb eines Java Projekts ausführen Allgemeine Java-Themen 2
Zrebna Möglichkeit regelmäßige indentation mittels/innerhalb Stringbuilder Allgemeine Java-Themen 14
E Elemente innerhalb einer ArrayList vergleichen Allgemeine Java-Themen 33
ReinerCoder auf Klassen innerhalb eines package zugreifen Allgemeine Java-Themen 22
S Zugriff auf jUnit Test Suite Runner-Instanzen innerhalb von Test Classes Allgemeine Java-Themen 7
S Code 'innerhalb' des synchronen Bereichs einer BlockingQueue ausfuehren..? Allgemeine Java-Themen 7
M Nanosekunden-Pause innerhalb einen Thread-Loops Allgemeine Java-Themen 3
L Bilder innerhalb der JAR Datei Allgemeine Java-Themen 2
B Datei innerhalb des JARs von einer statischen Methode aufrufen Allgemeine Java-Themen 4
T Nur innerhalb des regex-Match ersetzen Allgemeine Java-Themen 9
A Navigation zu Files innerhalb jar Allgemeine Java-Themen 3
C Prüfen ob sich ein Punkt innerhalb einer Kugel befindet (Java3D,nicht-lineare GLS) Allgemeine Java-Themen 5
X Klassen innerhalb einer jar ersetzen Allgemeine Java-Themen 2
P Threads Thread innerhalb einer Klasse - ohne Extra Klasse Allgemeine Java-Themen 9
C 1500 Minuten innerhalb von 24h ?!?! Allgemeine Java-Themen 4
X Codeabarbeitung innerhalb des Hauptprogramms für bestimmte Zeit unterbrechen Allgemeine Java-Themen 2
M verschiedene Methonden innerhalb des gleichen Threads Allgemeine Java-Themen 7
J InvocationException im Thread (innerhalb von call() einer Callable Klasse) Allgemeine Java-Themen 2
J Directory/File Listing innerhalb JAR Allgemeine Java-Themen 2
P Serialisiertes Objekt innerhalb einer XML Node Allgemeine Java-Themen 25
M Innerhalb einer Jar in eine Txt schreiben Allgemeine Java-Themen 2
D Exe innerhalb einer Jar starten Allgemeine Java-Themen 10
U alle Dateien eines Ordners innerhalb einer JAR auflisten Allgemeine Java-Themen 6
N .jar innerhalb einer javaDatei starten Allgemeine Java-Themen 3
Luma Arbeitsverzeichnis innerhalb externen Bibliothek ändern Allgemeine Java-Themen 2
K MANIFEST.MF innerhalb einer JAR Datei lesen. Allgemeine Java-Themen 4
A Reflection - Variablen innerhalb einer Methode ermitteln Allgemeine Java-Themen 9
N Auf Bilder / Dateien innerhalb eines jar-Archives zugreifen Allgemeine Java-Themen 2
H Ein zufälliges Datum innerhalb eines Intervalles erzeugen Allgemeine Java-Themen 3
D Zahlen innerhalb eines Strings auslesen Allgemeine Java-Themen 3
D Suchfunktion innerhalb Jeditorpane Allgemeine Java-Themen 6
B java-version bestimmen innerhalb von Programm Allgemeine Java-Themen 4
A Verzeichnis auflisten - auch innerhalb eines Jars Allgemeine Java-Themen 6
M Datei innerhalb eines Zips ausführen? Allgemeine Java-Themen 4
P Perl innerhalb von Java ausführen Allgemeine Java-Themen 2
E Schaffe es einfach nicht daten innerhalb von 2 klassen zu üb Allgemeine Java-Themen 4
S konstruktor nur innerhalb der klasse aufrufbar Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben