Wie viele Rechtecke gleicher Größe passen in einen Kreis? Formel/Excel?
Hallo zusammen,
ich suche nach einer Lösung für das folgende Problem:
Ich habe eine konstante Kreisfläche ( Ø 150 ).
In diesen Kreis möchte ich Rechtecke packen. Immer nur eine bestimmte Größe, keine verschiedenen Größen.
Sie müssen keinen Abstand zueinander haben wie im Bild und die Maße im Bild sind auch irrelevant.
Da ich viele verschiedene Größen von Rechtecken habe, suche ich jetzt nach einer Formel oder einem Algorithmus mit dem ich schnell berechnen kann, wie viel Rechtecke einer bestimmten Größe in den Kreis passen..
Das ganze würde ich gerne in Excel darstellen. Am besten so, dass man einfach nur die Höhe und Breite vom Rechteck eintippen muss und dann die mögliche Stückzahl automatisch ausgeben wird.
Hat jemand eine Idee?
3 Antworten
Die Größe der Rechtecke hat dabei ausschlaggebende Bedeutung. Je kleiner die Rechtecke, desto mehr passen in den Kreis und desto besser wird die gesamte Kreisfläche von den Rechtecken überdeckt. Dabei handelt es sich um ein numerisches Näherungsverfahren (geht auf C.F. Gauß zurück), welches in ähnlicher Form bei der Landesvermessung verwendet wird.
Tolles Problem!
Ich denke auch, dass man das am besten mit einer VBA Funktion löst, der die Parameter r, a und b übergeben werden.
Sollen denn auch Lösungen berücksichtigt werden, dass die Rechtecke in X und/oder Y Richtung auf den Mittelachsen des Kreises liegen? Es könnte ja beispielsweise die günstigste Lösung sein, ein Rechteck genau auf den Mittelpunkt zu legen.
Ich bin unsicher, ob man das rechnerisch im Voraus bestimmen kann, oder ob man vier Szenarien rechnen und dann das Maximum auswählen muss. Voller Viertelkreis, halb auf der Längsachse des Rechtecks, halb auf der Querachse des Rechtecks oder genau in der Mitte.
Gruß
Hannes
Und übrigens: Schönes Alternativprogramm zur Fußball WM.
Das Eckige muss ins Runde :-)
Ist die Frage noch aktuell? Ich denke, ich habe eine Lösung mit VBA, die die Anzahl der Rechtecke bzw. deren Anordnung zurückgibt.
Ich denke dass es hier keine geschlossene Formel dazu gibt. Sieht nach knallhartem Problem aus.
Einen Algorithmus dafür zu schreiben ist natürlich in ein paar Minuten erledigt. Visual Basic kann ich aber leider nicht.