Background:
ci sono 4 p io steradiano in una sfera, sono i "gradi" totali in una sfera, ma io uso il termine solo in senso relativo perché gli steradiani sono molto diversi dai radianti regolari in un cerchio, perché uno, sono tridimensionali e quindi sono solidi. Considerali come angoli di gelato in una sfera.
http://en.wikipedia.org/wiki/Steradian fornisce un grande esempio di loro.
Hanno una relazione diretta con il raggio, come i radianti in un cerchio. 1 steradian = 1 unità di raggio al quadrato.
Quindi, prima di tutto scoprire quanti oggetti devono essere tracciati sulla sfera. Lascia che questo numero sia n
. sr
= steradianti (unità di misura) = r^2
(raggio quadrato)
4 pi/n sr = x
x
è quante steradianti allocati a ciascun punto.
diciamo per 4 punti.
4 pi/4 sr = x
pi sr = x
Quindi ogni punto otterrà uno spazio allocato di pi sr
.
Considerare ora questo ...dal momento che stai tracciando dei punti, considereremo che ogni punto sarà posto nel mezzo dello spazio assegnato ... cioè, nel mezzo dell'area a forma di cono che è ciò che è sr
. Ora devi considerare qualcosa per un momento, è possibile riempire un'area completamente con cerchi? Seriamente, pensa a questo ... non è vero? I cerchi solidi lasciano sempre spazio tra di essi in determinati punti. Pensa a un pallone da calcio per un momento. È costruito da forme che possono unirsi per fornire una distribuzione uniforme. Il punto di questo pensiero è farti capire che tutti i punti non possono essere esattamente a una certa distanza - come il modo in cui un cerchio ha un raggio. Tuttavia, il centro delle squadre di palloni da calcio arriva molto vicino ed è uniforme.
Quello che farei se fossi in te, sarebbe cercare di scrivere un algoritmo per identificare la "forma" più efficiente per mettere ognuno di questi "pezzi" di spazio sferico assegnato in ... come il pallone da calcio. Altrimenti, penso che questa potrebbe essere la migliore risposta che otterrete ... 4 pi/n sr = x
..., non è possibile tracciare ogni punto in modo che sia esattamente alla stessa distanza l'uno dall'altro (tranne in certe configurazioni, ad es. sarebbe possibile con un numero speciale di punti), ci può essere un algoritmo là fuori per trovare tutti i casi speciali.
Sto modificando questa risposta per approfondire i casi speciali, un po 'di informazioni in più andrebbero bene qui penso. I casi speciali in cui i punti devono essere equidistanti sono che possono formare i vertici dei solidi platonici. Ci sono solo 5 forme solide platoniche di base, tutte le altre sono fatte da queste.
Leggere questa pagina per ulteriori informazioni e la prova di questo https://www.uwgb.edu/dutchs/symmetry/platonic.htm
Ora non posso prendermi il merito, ho fatto qualche ricerca veloce ed ho trovato un post simile https://math.stackexchange.com/questions/279544/return-an-array-of-evenly-distributed-points-on-a-sphere-give-radius-and-origin
Utilizzando poliedro la formula di Eulero http://plus.maths.org/content/eulers-polyhedron-formula
e il fatto che solo tre forme di base esistono sul poliedri, 'triangoli, quadrati ed esagoni' è possibile creare un algoritmo per arrotondare il numero di punti vuoi tracciare, alla forma del poliedro più vicino e tracciarne uno in modo uniforme.
Oh, e dare un'occhiata a questo grande articolo, si spiega steradianti e 3-dimensionali 'gradi' molto meglio di me http://mathforum.org/library/drmath/view/55358.html
check this out !! http://eqsp.sourceforge.net/ – wim
La soluzione nella risposta accettata in questa domanda non è molto buona. Poiché ciò è per un'integrazione, i punti di raccolta distribuiti uniformemente sulla sfera dovrebbero essere abbastanza buoni. Non guadagni molto minimizzando la distanza tra i punti. – Joni
@alexvas questa è la soluzione di mia http://stackoverflow.com/q/25012737/2521214 Penso che sia un po 'meglio (ma anche non esattamente precisi +/- int errori roundig tra fette) e qui http: // StackOverflow. COM/a/25082674/2521214 è ancora meglio codice per voi (con le trasformazioni inverse) – Spektre