Ich versuche einen Weg zu finden, so viele Sechsecke wie möglich in einen Kreis zu legen. Bis jetzt ist das beste Ergebnis, das ich erzielt habe, die Erzeugung von Sechsecken von der Mitte nach außen in einer kreisförmigen Form.
Aber ich denke, dass meine Berechnung, um die maximalen Sechseckkreise zu bekommen, falsch ist, besonders der Teil, wo ich die Math.ceil()
und Math.Floor
Funktionen verwende um einige Werte abzurunden.
Bei Verwendung von Math.ceil()
überlappen manchmal Hexagone den Kreis.
Bei der Verwendung von Math.floor()
wird jedoch manchmal zu viel Abstand zwischen dem letzten Kreis von Sechsecken und dem Rand des Kreises gelassen.
Wenn alle Punkte auf dem Sechseck innerhalb des Kreises sind, ist das Sechseck innerhalb des Kreises. Ich glaube nicht, dass es einen einfacheren Weg gibt als die Entfernungsberechnung.
Ich bin mir nicht sicher, wie ich den optimalen Füllpunkt auswählen soll (aber hier ist ein js-Schnipsel, der beweist, dass es nicht immer die Mitte ist). Es ist möglich, dass, wenn Sie "Sechseckkreis" sagen, Sie Sechseck aus Sechsecken meinen, in welchem Fall der Ausschnitt nichts beweist:)
Ich habe den Radius des Kreises mit den Sechseckseiten 2 / 11ths gemacht und sie um 5% der Seitenlänge beabstandet.
Tags und Links javascript html5 geometry