Répartition uniforme des points sur une sphère

La distribution la plus uniforme des points sur la sphère est une tâche incroyablement importante en mathématiques, en sciences et en systèmes informatiques, et l'application d'une grille de Fibonacci à la surface d'une sphère en utilisant la même projection est une méthode d'approximation extrêmement rapide et efficace pour la résoudre. Je vais montrer comment, avec des modifications mineures, cela peut être encore amélioré.


Il y a quelque temps, ce message est apparu sur la page d'accueil de Hacker News. Sa discussion peut être lue ici .

Présentation


Le problème de la distribution uniforme des points sur une sphère a une très longue histoire. C'est l'un des problèmes les plus étudiés de la littérature mathématique sur la géométrie sphérique. Il est d'une importance critique dans de nombreux domaines des mathématiques, de la physique, de la chimie, y compris les méthodes de calcul, la théorie de l'approximation, la théorie du codage, la cristallographie, l'électrostatique, l'infographie, la morphologie des virus et bien d'autres.

Malheureusement, à l'exception de quelques cas particuliers (à savoir les solides platoniciens), il est impossible de répartir parfaitement les points sur une sphère. De plus, la solution du problème dépend fortement du critère utilisé pour évaluer l'uniformité. En pratique, de nombreux critères sont utilisés, notamment:

  • Emballage et revêtement
  • Coques convexes, cellules de Voronoi et triangles de Delaunay
  • Noyaux s Énergie du riz
  • Cubature et qualificatifs

Il est très important de clarifier cet aspect: il n'y a généralement pas de solution optimale unique à ce problème, car une solution optimale basée sur un critère n'est souvent pas une distribution optimale de points pour les autres. Par exemple, nous découvrirons également que l'optimisation de l'emballage ne crée pas nécessairement une coque convexe optimale et vice versa.

Par souci de brièveté, dans cet article, nous ne considérerons que deux critères: la distance minimale d'emballage et le maillage coque convexe / Delaunay (volume et surface).

Dans la section 1, nous montrons comment vous pouvez changer la grille canonique de Fibonacci pour construire une distribution améliorée de l'emballage . Dans la section 2, nous montrons comment vous pouvez modifier la grille canonique de Fibonacci pour construire des paramètres améliorés pour les coques convexes (volume et surface).

Section 1. Optimisation de la distance d'emballage


Souvent, ce problème est appelé la tâche du Tamm en l'honneur du botaniste Tems, qui a cherché une explication de la structure de surface des grains de pollen. Le critère d'emballage nous oblige à maximiser la plus petite distance entre voisins pour N des points. C’est

d N = m i n i n e q j | x i - x j |  


Cette valeur diminue avec la vitesse.  1 / s q r t N  , par conséquent, il sera utile de déterminer la distance normalisée, ainsi que la limite asymptotique de la distance normalisée, comme

dN= sqrtNdN, quad quadd= limN rightarrow inftydN


Grille de Fibonacci

Une solution très élégante modélise les nœuds trouvés dans la nature, par exemple, la distribution des graines dans un tournesol ou une pomme de pin. Ce phénomène est appelé phyllotaxie spirale. Coxeter a montré que ces structures ont un lien fondamental avec la série de Fibonacci, F_k = \ {1, 1, 2, 3, 5, 8, 13, ... \}F_k = \ {1, 1, 2, 3, 5, 8, 13, ... \} et le nombre d'or  phi=(1+ sqrt5)/2 .

Dans la littérature, on trouve deux définitions similaires de l'ensemble des points d'une grille sphérique de Fibonacci. La source est définie strictement pour N égal à l'un des membres de la série Fibonacci, Fm , et bien étudié en théorie des nombres.

ti= left( fraciFm, fraciFm1Fm right) quad textrmfor0 leqi leqN1


La deuxième définition généralise la formule à un montant arbitraire N et est utilisé plus souvent dans les calculs:

ti= left( fraciN, fraci phi right) quad textrmfor0 leqi leqN tag1




 phi= frac1+ sqrt52= limn rightarrow infty left( fracFn+1Fn right)


Voici un exemple des mêmes grilles de Fibonacci. Par transformation, vous pouvez transformer ces ensembles de points en spirales de Fibonacci que nous connaissons bien.

(r, theta)=( sqrtx1,2 pix2)



De même, ces ensembles de points peuvent être transférés du carré unitaire [0,1]2 sur une sphère à l'aide d'une projection isométrique cylindrique:

(x,y) rightarrow( theta, phi): quad left( cos1(2x1) pi/2,2 piy right)


( theta, phi) rightarrow(x,y,z): quad left( cos theta cos phi, cos theta sin phi, sin theta right)


De nombreuses versions différentes du code Python peuvent être trouvées sur stackoverflow: répartir uniformément les points sur une sphère .

Même en dépit du fait que les ensembles sphériques de Fibonacci ne sont pas globalement la meilleure distribution d'échantillons sur une sphère (car leurs solutions ne coïncident pas avec les solutions de solides platoniciens pour n = 4,6,8,12,20 $ ), ils ont d'excellentes propriétés d'échantillonnage et sont très faciles à construire par rapport à d'autres schémas d'échantillonnage sphériques plus complexes.

Étant donné que le transfert du carré unitaire à la surface de la sphère est effectué par une projection avec préservation de la zone, on peut s'attendre à ce que si les points de départ sont uniformément répartis, ils seront également assez bien répartis à la surface de la sphère. Cependant, cela ne signifie pas que la distribution sera prouvée optimale.

Ce transfert souffre de deux problèmes différents mais liés.

Tout d'abord, cette superposition est effectuée tout en maintenant la zone, pas la distance. Étant donné que dans notre cas, la condition est de maximiser la distance minimale par paire entre les points, de telles conditions et relations ne seront pas nécessairement satisfaites après la projection.

Le deuxième problème est le plus difficile à résoudre d'un point de vue pratique: la superposition a deux points dégénérés à chaque pôle. Considérons deux points très proches du pôle, mais différant de 180 degrés en longitude. Sur un seul carré (et sur une projection cylindrique) ils correspondront à deux points très éloignés l'un de l'autre, cependant, superposés à la surface d'une sphère, ils pourront être reliés par un très petit arc passant par le pôle nord. En raison de ce problème particulier, de nombreux superpositions en spirale ne sont pas suffisamment optimales.

L'hélice sphérique de Fibonacci obtenue à partir de l'équation 1 donne la valeur dN pour tous N c'est d=2 .

Maille 1

Une version plus courante (en particulier sur les systèmes informatiques) qui crée une meilleure valeur d=3,09 a la forme:

ti= left( fraci+1/2N, fraci phi right) quad textrmfor0 leqi leqN1 tag2


Il place les points au milieu des intervalles (selon la règle du milieu de la formule quadratique de Gauss), donc, pour n=100 , les valeurs de la première coordonnée seront les suivantes:

\ {\ frac {0.5} {100}, \ frac {1.5} {100}, \ frac {2.5} {100}, \ ldots, \ frac {97.5} {100}, \ frac {98.5} {100} , \ frac {99.5} {100} \}


Grille 2.

La clé pour améliorer encore l'équation 2 est la prise de conscience que dN correspond toujours à la distance entre les points t0 et t3 qui sont aux pôles. Autrement dit, pour améliorer dN les points proches des pôles doivent être encore plus espacés.

Si nous définissons la distribution suivante:

ti( varepsilon)= left( fraci+1/2+ varepsilonN+2 varepsilon, fraci phi right) quad textrmfor ;0 leqi leqN1


dN - courbes pour différentes valeurs.  varepsilon=0 (bleu);  varepsilon= frac12 (orange);  varepsilon= frac32 (vert); et  varepsilon= frac52 (rouge). Vous voyez  varepsilon= frac52 donne des résultats plus proches des résultats asymptotiques. Autrement dit, avec N>20 L'expression simple suivante génère des résultats nettement meilleurs. d=3,29 par rapport à la grille sphérique canonique de Fibonacci:

ti= left( fraci+3N+5, fraci phi right) quad textrmfor0 leqi leqN1 tag3


Autrement dit, avec N=100 les valeurs de la première coordonnée seront égales à:

\ {\ frac {3} {105}, \ frac {4} {105}, \ frac {5} {105}, \ ldots, \ frac {100} {105}, \ frac {101} {105} , \ frac {102} {105} \}



Figure 1. Différentes valeurs dN à différentes valeurs  epsilon . Plus la valeur est élevée, plus la configuration est optimale. On voit que  epsilon simeq2.5 fournit une solution quasi optimale.

Maille 3.

Comme mentionné ci-dessus, l'un des problèmes les plus graves de la distribution uniforme des points sur une sphère est que l'optimalité de la distribution dépend de manière critique de la fonction objective utilisée. Cela s'avère. que des quantités locales comme dN parfois, ils «ne pardonnent presque pas» - un seul point dans une position insuffisamment optimale peut réduire de façon catastrophique l'évaluation de la distribution entière des points.

Dans notre cas, quelle que soit l'ampleur N valeur DN généralement défini par les quatre points les plus proches de chacun des pôles, en particulier t0 et t3 . Cependant, on sait également à propos de cette grille que le plus grand polygone de Voronoï est au pôle. Donc, essayer de maximiser dN en divisant les points polaires d'origine dans une rangée, nous augmentons encore plus le vide au pôle! Par conséquent, nous avons présenté une alternative à la grille 2, qui est généralement préférable car elle ne montre pas un si grand vide près des pôles.

Il est presque identique à la grille 2, mais présente deux différences. Tout d'abord, elle utilise  varepsilon=11/2 à 1 leqi leqN2 . Deuxièmement, outre ces N2 Le premier et le dernier point sont situés à chacun des pôles.

Soit:

t0=(0,0);tn=(1,0); quadti= left( fraci+6N+11, fraci phi right) quad textrmfor1 leqi leqN2 tag4


Une propriété étonnante de cette méthode de construction est que, malgré le fait que sa création ait été motivée par le désir de minimiser les vides aux pôles, elle a en fait la meilleure valeur parmi toutes les méthodes dN et d avec d=3,31 !

Autrement dit, avec N=100 les valeurs de la première coordonnée seront les suivantes:

\ {0; \; \ frac {7} {111}, \ frac {8} {111}, \ frac {9} {1111}, \ ldots, \ frac {102} {111}, \ frac {103} {111}, \ frac {104} {111}; \; 1 \}



Figure 2. Différentes configurations de grille. La grille canonique de Fibonacci à gauche. Notez que même si la grille du milieu dN amélioré, au pôle, elle a un vide notable. La grille 3 n'a pas de vide au pôle et a la meilleure valeur dN .

Comparaison

Pour les grandes valeurs N cette valeur d extrêmement bien comparable à d'autres méthodes, par exemple, les dômes géodésiques, qui sont basés sur des projections triangulées des faces des solides platoniciens sur la surface d'une sphère. Il n'est pas surprenant que les dômes géodésiques de la plus haute qualité soient construits sur la base de l'icosaèdre ou du dodécaèdre.

Dômes géodésiques à base d'icosaèdres à différentes valeurs N .

\ begin {array} {| c | cccccccccc |} \ hline N & 12 & 42 & 92 & 162 & 252 & 362 & 492 & 642 & 812 & 1002 \\ \ hline d ^ * & 3.64 & 3.54 & 3.34 & 3.22 & 3.15 & 3.09 & 3.06 & 3.03 & 3.00 & 2.99 \\ \ hline \ end {array}


Dômes géodésiques à base de dodécaèdre pour différentes valeurs N .

\ begin {array} {| c | ccccccc |} \ hline N & 20 & 32 & 122 & 272 & 482 & 752 & 1082 \\ \ hline d ^ * & 3.19 & 3.63 & 3.16 & 2.99 & 2.90 & 2.84 & 2,81 \\ \ hline \ end {array}


De plus, un icosaèdre tronqué correspondant à la forme du fullerène C60 a seulement d=3,125 .

Autrement dit, avec N>100 le maillage basé sur l'équation 3 est meilleur que n'importe quel polyèdre géodésique.

Selon les données de la première source dans la liste de références ci-dessous, certaines des méthodes modernes, qui sont généralement complexes et nécessitent une programmation récursive et / ou dynamique, ont les indicateurs suivants.

\ begin {array} {| lr |} \ hline \ text {Lattice 1} & 3.09 \\ \ hline \ text {Max Determinant} & 3.19 \\ \ hline \ text {Lattice 2} & 3.28 \\ \ hline \ text {Lattice 3} & 3.31 \\ \ hline \ text {Zonal Equal Area} & 3.32 \\ \ hline \ text {Coulomb} & 3.37 \\ \ hline \ text {Log Energy} & 3.37 \\ \ hline \ end { tableau}


Conclusion de la section 1

La grille 3, créée par l'équation 3, est une modification de la grille canonique de Fibonacci, qui offre un bien meilleur emballage pour la distribution des points. C’est

t0=(0,0);ti= left( fraci+6N+11, fraci phi right);tN1=(0,1); quad textrmfor1 leqi leqN2


Section 2. Optimisation de la coque convexe (maille Delaunay)


Dans la section précédente, nous avons optimisé la distribution en dN Cependant, ces modifications aggravent d'autres indicateurs, par exemple le volume d'une coque convexe (maille Delaunay). Cette section décrit comment répartir uniformément les points sur une sphère de manière à optimiser (maximiser) un indicateur plus global comme le volume d'une coque convexe.

Nous dénotons CN comme une coque convexe N des points

 epsilonN=N left( frac4 pi3 textrmVol(CN) right)


facteur de normalisation inclus N , car l'écart absolu diminue avec la vitesse  1/N .

Comportement  epsilonN à divers N peut être vu sur la figure 3 (ligne bleue).

Pour réduire l'inadéquation des volumes, il convient de noter que malgré l'utilisation de  phi , de la logique de la section d'or à N rightarrow infty il ne s'ensuit pas nécessairement que c'est la meilleure valeur pour la finale N . Parlant scientifiquement, nous pouvons dire que nous devons prendre en compte l'influence de la correction des membres.

Résumons l'équation 1 comme suit:

ti= left( fraci+1/2N, fracig(N) right) quad textrmfor0 leqi leqN1 tag4


où nous définissons g(n) comment

g (n) = \ begin {cases} 3- \ phi, & \ text {si $ k $ est pair} \\ \ phi, & \ text {si $ k $ est impair} \ end {cases} \ tag {5}




k= left lfloor textrmlog phi( fracn1.5) right rfloor= left lfloor frac ln(n/1.5) ln phi right rfloor


 lfloorx rfloor - la fonction d'arrondi à l'entier inférieur le plus proche.

La figure 3 montre la différence de volume qui est optimisée pour la moitié des valeurs. N .

La raison en est un fait peu connu: tous les chiffres x satisfaisant la transformation spéciale de Mobius, à partir de l'irrationalité, sont équivalentes  phi .

x= fraca phi+bc phi+d, quad textrmpourtouslesentiersa,b,c,d textrmtelque|adbc|=1


Par conséquent, la raison pour laquelle  phi et 3 phi s'emboîtent si bien, c'est que

 frac1 phi= frac phi+12 phi+1, quad quad frac13 phi= frac2 phi+11 phi+1



Figure 3. Inadéquation entre le volume de la coque de points convexe et le volume de la sphère unitaire. Gardez à l'esprit que plus il est petit, mieux c'est. La figure montre que le modèle hybride (ligne orange) basé sur  phi et 3 phi , fournit une meilleure distribution des points que la grille canonique de Fibonacci (ligne bleue).

Pour la moitié restante, nous définissons d'abord une série auxiliaire AN étant une variation de la série Fibonacci

A1=1,A2=4;An+2=An+1+An textrmforn=1,2,3,...


C’est

AN=1,4,5,9,14,23,37,60,97,157,254,411,...


Toutes les fractions de cette série ont des fractions continues élégantes et, à la limite, convergent vers  phi . Par exemple

t5/t4=1+ cfrac11+ cfrac11+ cfrac11+ cfrac14


Maintenant, nous pouvons pleinement généraliser g(n) comme suit:

g (N) = \ begin {cases} 3- \ phi, & \ text {si $ k $ est pair} \\ A_ {j + 1} / A_j, & \ text {si $ k $ est impair, où $ j = (k + 7) / 2 $} \ end {cases} \ tag {6}


Le tableau ci-dessous montre les valeurs g(N) pour divers N .

\ begin {array} {| c | c | c | c | c | c | c | c | c |} \ hline N & 4-6 & 7-10 & 11-16 & 17-26 & 27-43 & 44- 70 & 71-114 & 115-184 & 185-300 \\ \ hline g (n) & 3- \ phi & \ frac {23} {14} & 3- \ phi & \ frac {37} {23} & 3- \ phi & \ frac {60} {37} & 3- \ phi & \ frac {97} {60} & 3- \ phi \\ \ hline \ end {array}


La figure 4 montre que par rapport au volume de la coque convexe, cette nouvelle distribution est meilleure que la grille canonique pour toutes les valeurs n


Figure 4. Décalage entre le volume de la coque convexe et le volume de la sphère unitaire. Plus la valeur est basse, mieux c'est. Cela nous indique que la nouvelle méthode proposée (ligne verte) fournit constamment une meilleure distribution que la grille canonique de Fibonacci (ligne bleue).


Figure 5. Comparaison visuelle du maillage canonique (à gauche) avec le nouveau maillage modifié (à droite) avec n = 35 et n = 150. Visuellement, les différences sont presque imperceptibles. Cependant, dans des conditions nécessitant une efficacité maximale, la version modifiée (à droite) apporte une amélioration modeste mais quantifiable du volume et de la surface de la coque convexe.

Curieusement, cette distribution est également insignifiante, mais réduit progressivement l'inadéquation entre la surface de la coque convexe et la surface d'une seule sphère. Ceci est illustré à la figure 6.


Figure 5. Inadéquation normalisée des zones entre la surface d'une coque convexe (maillage Delaunay) et la surface d'une seule sphère. Plus la valeur est basse, mieux c'est. Cela montre que la nouvelle modification proposée (points verts) démontre une diminution faible mais constante de la différence de surfaces par rapport à la grille canonique de Fibonacci (points bleus)

Conclusion de la section 2

La grille correspondant à l'équation 6 est une modification de la grille canonique de Fibonacci, créant une meilleure répartition des points en fonction du volume et de la surface de la coque convexe (grille de Delaunay).

Les sources

Source: https://habr.com/ru/post/fr460643/


All Articles