Gleichmäßige Verteilung von Punkten auf einer Kugeloberfläche? Algorithmus
-
Moin,
Bis jetzt hab ich herrausgefunden, dass es noch kein exaktes verfahren gibt womit
man die Koordinaten der Punkte berechnen kann, sonder nur nährungsweiße.
Ich bin nun auf der Suche nach einem Algorithmus der mit die Koordinaten für n
Punkte berechnet, am besten einer dem ein Quellcode beiliegt.
Kennt einer solch ein Algo.?MFG Samstag
-
Hmm, sowas geht? Also für n = 4, 6, 8, 12, 20 könntest du vielleicht einfach einen hiervon in die Kugel einbetten glaub ich. Aber was meinst du genau mit gleichmäßig? Der kleinste Abstand auf der Kugel von einem Punkt zu allen seinen Nachbarn ist für alle Punkte gleich?
-
Moin,
das mit den Platonischer Körper habe ich mir auch schon angesehen, dachte zuerst,
dass wenn man die Dreiecke immer wieder teilt, die Eckpunkte hinterher alle
gleichmäßig verteilt wären, ist aber leider nicht so (jedenfals wenn ich das
richtig verstanden habe).
Ich müsste eine "große" anzahl von Punkten verteilen, aber auf die genaue Anzahl
kommt es dabei nicht an, also es würde reichen wenn der Algorithmus z.b. ein
vielfaches von 2 Punkten verteilen könnte.MFG Samstag
-
Moin,
da ich bis jetzt keinen Algo. gefunden habe, versuche ich gerade selber einen zu
implementieren. Der Algo. basiert auf der Idee, dass die Punkte sich alle gegenseitig abstoßen, wie Elektronen auf einer Kugeloberfläche.
In einer Ebene würde ich in zwei Schleifen alle Punkte durchgehen und zu jedem
Punkt in der äußeren Schleife einen Vektor a finden. Diesen würde ich mithilfe der
inneren Schleife, die zu dem Vektor a immer den Vektor dazuaddiert, der die
verschiebung zwischen den zwei punkten beschreibt, finden. Der Resultierende Vektor
würde dann auf die neue Position zeigen. Ich hoffe ihr wisst wie ich das meine und
ich hoffe ,dass das auch so in einer Ebene funktionieren würde.Das Problem was ich jetzt hab ist das man auf der Kugeloberfläche schlecht mit Vektoren arbeiten kann(ich zumindest nicht).
Mir fehlt sowas wie eine Addition von zwei "stücken" von Großkreisen, die meine Vektoren auf der Kugeloberfläche darstellen würden.
Hatt evtl. einer eine Idee?MFG Sonntag
-
Edit: Achso, sorry, dachte es sollte eine gleichmäßige zufällige Verteilung sein.
Könntest du dir nicht einfach einen Würfel der Kantenlänge L mit Mittelpunkt in 0 vorstellen, darin einen zufälligen Punkt (x,y,z) auswählen (wobei x,y und z Zufallswerte zwischen L und -L annehmen, gleichmäßig verteilt), und ihn durch Skalierung auf die Einheitssphäre projizieren? Je größer L ist, desto gleichmäßiger dürfte die entsprechende Verteilung sein.
Allerdings habe ich dafür nicht den gerignsten Beweis, ist nur das, was mir so auf die schnelle eingefallen ist.Zu deinem Elektronenansatz: Du kannst den resultierenden Kraftvektor auf die Tangentialebene projizieren, da Normalkräfte durch die Zwangskräfte kompensiert werden. Dort kannst du auch wieder wie gewohnt Vektoren addieren. Dann kannst du ein infinitesimales Stück in diese Richtung gehen (in Realität wirst du nur ein kleines, endliches Stück in die Richtung gehen und dich danach auf die Kugeloberfläche projizieren müssen) und die Kräfte neu berechnen. Ist es das, was du meintest? Du musst nur aufpassen, dass hier keine Schwingungen oder sowas auftreten... klingt ehrlich gesagt nicht gerade einfach.
-