füllt den Kreis mit Sechsecken

8

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.

%Vor% %Vor%
    
Alexus 25.02.2016, 12:40
quelle

1 Antwort

4

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.

%Vor%
    
dtudury 25.02.2016 23:45
quelle

Tags und Links