Répartir uniformément n points sur une sphère

J'ai besoin d'un algorithme qui peut me donner les positions autour d'une sphère de N points (moins de 20, sans doute) que vaguement se répand au dehors. Il n'y a pas besoin de "perfection", mais j'ai juste besoin de sorte qu'aucun d'entre eux sont regroupés ensemble.

  • Cette question fourni du bon code, mais je ne pouvais pas trouver un moyen de faire de cet uniforme, comme cela semblait 100% aléatoire.
  • Ce blog recommandé deux façons, permettant de saisir le nombre de points sur la sphère, mais la Saff et Kuijlaars algorithme est exactement dans psuedocode j'ai pu transcrire, et la exemple de code j'ai trouvé les "nœud[k]", que je ne pouvais pas voir expliqué et ruiné cette possibilité. Le deuxième blog de citer l'exemple de la Section d'Or en Spirale, ce qui m'a donné étrange, enchevêtre les résultats, avec aucun moyen de définir un rayon constant.
  • Cet algorithme de cette question semble comme il pourrait éventuellement fonctionner, mais je ne peux pas rassembler ce qui est sur que page en psuedocode ou quoi que ce soit.

Quelques autres question threads, je suis tombé sur parlé de randomisée distribution uniforme, ce qui ajoute un niveau de complexité que je ne suis pas inquiète. Je m'excuse que c'est une question idiote, mais je voulais montrer que j'ai vraiment bien cherché et encore trouver à court.

Donc, ce que je cherche est simple pseudocode pour distribuer uniformément la N de points autour d'une sphère unité, qui renvoie soit sphériques ou des coordonnées Cartésiennes. Encore mieux si il peut même distribuer avec un peu de randomisation (pensez planètes autour d'une étoile, décemment dispersés, mais avec de la place pour une marge de manœuvre).

  • Qu'entendez-vous "avec un peu de randomisation"? Voulez-vous dire des perturbations dans un certain sens?
  • L'OP est confus. Ce qu'il cherche est de mettre n points sur une sphère, de sorte que la distance minimale entre deux points est la plus grande possible. donner les points de l'apparence de l'être "uniformément répartie sur l'ensemble de la sphère. C'est complètement étranger à la création d'une distribution aléatoire uniforme sur une sphère, qui est ce que beaucoup de ces liens sont au sujet, et ce que beaucoup de réponses ci-dessous sont en train de parler.
  • 20 n'est pas beaucoup de points à placer sur une sphère si vous ne voulez pas à regarder tout simplement au hasard.
  • Voici un moyen de le faire (on a des exemples de code): pdfs.semanticscholar.org/97a6/... (dirait qu'il utilise la force de répulsion des calculs)
  • Bien sûr, pour des valeurs de N dans {4, 6, 8, 12, 20} il existe des solutions exactes de la distance de chaque point de (chaque), il est plus proche des voisins est une constante pour tous les points et tous les voisins les plus proches.
InformationsquelleAutor Befall | 2012-03-07