Dispersion von Zahlen in einem Javascript-Array

Ich habe ein Array von10+ Zahlen. Sie stellen Koordinaten auf einem Kreis dar - in Grad, d. H. Jede Zahl liegt zwischen0 und359.999999...

Das Problem, das ich zu lösen versuche, besteht darin, dass meine Objekte beim Zeichnen auf dem Kreis (über die HTML5-Zeichenfläche) manchmal zu Clustern zusammengefasst werden und dass Objekte aufeinander gezeichnet werden.

So möchte ich einen Algorithmus erstellen, der Elemente gleichmäßig um ihre ursprüngliche Clusterposition verteilt. Nehmen wir an (und ich möchte, dass dies eine konfigurierbare Option ist), dass der minimale Abstand zwischen zwei Elementen @ is5 degrees.

Also, wenn das anfängliche Array ist[5, 41, 97, 101, 103, 158, 201, 214, 216, 217, 320] dann möchte ich den Algorithmus mit so etwas wie [5, 41, @ komm 95, 10, 105, 158, 201, 211, 216, 221, 320] (wobei fettgedruckte Elemente um ihren anfänglichen "Schwerpunkt" verteilt sind, unabhängig davon, ob es sich um zwei oder mehr Elemente handelt).

Erforderlich wäre auch, dass der Algorithmus erkennt, dass 0 und 359 nur 1 Einheit (Grad) voneinander entfernt sind, und diese Elemente gleichmäßig verteilt.

Hat jemand jemals einen solchen Algorithmus erstellt oder eine gute Idee, wie es erreicht werden könnte? Auch einige allgemeine Gedanken sind willkommen. Ich bin mir sicher, dass ich das mit viel Versuch und Irrtum erreichen könnte, aber ich würde gerne zuerst einige fundierte Vermutungen hören, wenn Sie so wollen.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage