Distribusi titik-titik pada bola yang seragam

Distribusi titik-titik pada bola yang paling seragam adalah tugas yang sangat penting dalam matematika, sains, dan sistem komputer, dan menerapkan kisi Fibonacci ke permukaan bola menggunakan proyeksi yang sama adalah metode perkiraan yang sangat cepat dan efisien untuk menyelesaikannya. Saya akan menunjukkan bagaimana, dengan perubahan kecil, itu bisa dibuat lebih baik.


Beberapa waktu yang lalu posting ini muncul di beranda Hacker News. Pembahasannya bisa dibaca di sini .

Pendahuluan


Masalah distribusi titik-titik yang seragam pada suatu bola memiliki sejarah yang sangat panjang. Ini adalah salah satu masalah yang paling banyak dipelajari dalam literatur matematika tentang geometri bola. Ini sangat penting dalam banyak bidang matematika, fisika, kimia, termasuk metode komputasi, teori aproksimasi, teori pengkodean, kristalografi, elektrostatik, grafik komputer, morfologi virus dan banyak lainnya.

Sayangnya, dengan pengecualian beberapa kasus khusus (yaitu, padatan Platonis), tidak mungkin untuk mendistribusikan poin pada bola dengan sempurna. Selain itu, solusi masalah sangat tergantung pada kriteria yang digunakan untuk menilai keseragaman. Dalam praktiknya, banyak kriteria digunakan, termasuk:

  • Pengemasan dan pelapisan
  • Hull cembung, sel Voronoi, dan segitiga Delaunay
  • Kernel s Energi Beras
  • Cubature dan kualifikasi

Sangat penting untuk memperjelas aspek ini: biasanya tidak ada solusi optimal tunggal untuk masalah ini, karena solusi optimal berdasarkan satu kriteria seringkali bukan distribusi poin yang optimal untuk orang lain. Misalnya, kami juga akan menemukan bahwa pengoptimalan pengemasan tidak harus menciptakan cembung cembung yang optimal dan sebaliknya.

Demi singkatnya, dalam posting ini kami hanya akan mempertimbangkan dua kriteria: jarak pengepakan minimum dan cembung cembung / jaring Delaunay (volume dan area).

Di bagian 1, kami menunjukkan bagaimana Anda dapat mengubah kisi Fibonacci kanonik untuk membangun distribusi pengemasan yang ditingkatkan. Pada Bagian 2, kami menunjukkan bagaimana Anda dapat mengubah kisi Fibonacci kanonik untuk membangun parameter yang lebih baik untuk cembung cembung (volume dan luas permukaan).

Bagian 1. Optimalisasi jarak pengemasan


Seringkali masalah ini disebut tugas Tamm untuk menghormati ahli botani Tems, yang mencari penjelasan tentang struktur permukaan butir serbuk sari. Kriteria pengepakan mengharuskan kami untuk memaksimalkan jarak terkecil antar tetangga N poin. Yaitu

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


Nilai ini berkurang dengan kecepatan.  1 / s q r t N  Oleh karena itu, akan berguna untuk menentukan jarak dinormalisasi, serta batas asimptotik dari jarak dinormalisasi, seperti

dN= sqrtNdN, quad quadd= limN rightarrow inftydN


Grid Fibonacci

Salah satu solusi yang sangat elegan adalah memodelkan simpul yang ditemukan di alam, misalnya, distribusi biji dalam bunga matahari atau kerucut pinus. Fenomena ini disebut spiral phyllotaxis . Coxeter menunjukkan bahwa struktur seperti itu memiliki koneksi mendasar dengan seri Fibonacci, F_k = \ {1, 1, 2, 3, 5, 8, 13, ... \}F_k = \ {1, 1, 2, 3, 5, 8, 13, ... \} dan rasio emas  phi=(1+ sqrt5)/2 .

Dalam literatur, dua definisi yang sama dari himpunan poin dari grid Fibonacci bulat ditemukan. Sumber didefinisikan secara ketat untuk N sama dengan salah satu anggota seri Fibonacci, Fm , dan dipelajari dengan baik dalam teori bilangan.

ti= kiri( fraciFm, fraciFm1Fm kanan) quad textrmfor0 leqi leqN1


Definisi kedua menggeneralisasikan formula ke jumlah yang sewenang-wenang N dan lebih sering digunakan dalam perhitungan:

ti= kiri( fraciN, fraci phi kanan) quad textrmfor0 leqi leqN tag1


dimana

 phi= frac1+ sqrt52= limn rightarrow infty kiri( fracFn+1Fn kanan)


Di bawah ini adalah contoh dari grid Fibonacci yang sama. Dengan transformasi, Anda dapat mengubah set poin ini menjadi Fibonacci spiral yang terkenal bagi kami.

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



Demikian pula, set poin ini dapat ditransfer dari unit square [0,1]2 pada bola menggunakan proyeksi isometrik silinder:

(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)


Banyak versi berbeda dari kode Python untuk itu dapat ditemukan di stackoverflow: Merata poin secara merata .

Bahkan terlepas dari kenyataan bahwa set Fibonacci bulat secara global bukan distribusi sampel terbaik pada suatu bola (karena solusi mereka tidak bertepatan dengan solusi untuk padatan Platonik untuk n=$4,6,8,12,2 ), mereka memiliki sifat pengambilan sampel yang sangat baik dan sangat mudah dibangun dibandingkan dengan skema pengambilan sampel berbentuk bola yang lebih kompleks.

Karena pemindahan dari unit square ke permukaan bola dilakukan oleh proyeksi dengan pengawetan area, dapat diharapkan bahwa jika titik awal terdistribusi secara merata, mereka juga akan terdistribusi dengan cukup baik di permukaan bola. Namun, ini tidak berarti bahwa distribusi akan terbukti optimal.

Transfer ini menderita dua masalah yang berbeda tetapi saling terkait.

Pertama, overlay ini dilakukan dengan tetap menjaga area, bukan jarak. Mengingat bahwa dalam kasus kami, ketentuannya adalah untuk memaksimalkan jarak berpasangan minimum antara titik, kondisi dan hubungan tersebut tidak harus terpenuhi setelah proyeksi.

Masalah kedua adalah yang paling sulit dipecahkan dari sudut pandang praktis: superposisi memiliki dua titik degenerasi di setiap kutub. Pertimbangkan dua titik yang sangat dekat dengan kutub, tetapi garis bujurnya berbeda 180 derajat. Pada satu bujur sangkar (dan pada proyeksi silindris) mereka akan bersesuaian dengan dua titik yang sangat jauh satu sama lain, namun ketika ditumpangkan pada permukaan bola, mereka dapat dihubungkan oleh busur yang sangat kecil melewati kutub utara. Karena masalah khusus ini, banyak overlay spiral tidak cukup optimal.

Fibonacci Spherical Helix yang diperoleh dari Persamaan 1 memberikan nilai dN untuk semua N itu adalah d=2 .

Mesh 1

Versi yang lebih umum (terutama pada sistem komputer) yang menciptakan nilai yang lebih baik d=3.09 memiliki bentuk:

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


Ini mengatur titik pada interval titik tengah (sesuai dengan aturan titik tengah dalam rumus kuadrat Gaussian), oleh karena itu, untuk n=100 , nilai-nilai koordinat pertama adalah sebagai berikut:

\ {\ 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} \}


Kisi 2.

Kunci untuk lebih lanjut meningkatkan Persamaan 2 adalah realisasi itu dN selalu sesuai dengan jarak antar titik t0 dan t3 yang ada di kutub. Yaitu, untuk meningkatkan dN titik dekat kutub harus ditempatkan lebih jauh.

Jika kita mendefinisikan distribusi berikut:

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


dN - kurva untuk berbagai nilai.  varepsilon=0 (biru);  varepsilon= frac12 (oranye);  varepsilon= frac32 (hijau); dan  varepsilon= frac52 (merah). Anda bisa melihatnya  varepsilon= frac52 memberikan hasil yang lebih dekat dengan hasil asimptotik. Yaitu dengan N>20 Ungkapan sederhana berikut menghasilkan hasil yang jauh lebih baik. d=3,29 dibandingkan dengan kisi Fibonacci bulat kanonik:

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


Yaitu dengan N=100 nilai koordinat pertama akan sama dengan:

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



Gambar 1. Nilai berbeda dN pada nilai yang berbeda  epsilon . Semakin tinggi nilainya, semakin optimal konfigurasi. Kami melihat itu  epsilon simeq2.5 memberikan solusi yang mendekati optimal.

Mesh 3.

Seperti disebutkan di atas, salah satu masalah paling serius dari distribusi titik yang seragam pada suatu bola adalah bahwa optimalitas distribusi sangat tergantung pada fungsi objektif yang digunakan. Ternyata. seperti jumlah lokal dN kadang-kadang mereka hampir “tidak memaafkan kesalahan” - satu titik dalam posisi yang tidak optimal secara serempak dapat mengurangi penilaian seluruh distribusi titik.

Dalam kasus kami, terlepas dari besarnya N nilai DN biasanya ditentukan oleh empat titik yang paling dekat dengan masing-masing kutub, terutama t0 dan t3 . Namun, juga diketahui tentang kisi ini bahwa poligon Voronoi terbesar ada di kutub. Jadi berusaha memaksimalkan dN dengan membagi titik kutub asli berturut-turut, kami benar-benar meningkatkan kekosongan di kutub bahkan lebih! Oleh karena itu, kami menyajikan alternatif untuk kisi 2, yang umumnya lebih disukai karena tidak menunjukkan kekosongan besar di dekat kutub.

Hampir identik dengan kisi 2, tetapi memiliki dua perbedaan. Pertama, dia menggunakan  varepsilon=11/2 di 1 leqi leqN2 . Kedua, selain ini N2 Poin pertama dan terakhir terletak di masing-masing kutub.

Itu adalah:

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


Properti yang luar biasa dari metode konstruksi ini adalah bahwa terlepas dari kenyataan bahwa pembuatannya dimotivasi oleh keinginan untuk meminimalkan kekosongan di kutub, sebenarnya memiliki nilai terbaik di antara semua metode dN dan d dengan d=3,31 !

Yaitu dengan N=100 nilai koordinat pertama adalah sebagai berikut:

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



Gambar 2. Berbagai konfigurasi kisi. Kisi Fibonacci kanonik di sebelah kiri. Perhatikan bahwa meskipun tengah grid dN meningkat, di kutub dia memiliki kekosongan yang nyata. Kotak 3 tidak memiliki kekosongan di kutub dan memiliki nilai terbaik dN .

Perbandingan

Untuk nilai besar N nilai ini d sangat baik dibandingkan dengan metode lain, misalnya, kubah geodesik, yang didasarkan pada proyeksi triangulasi dari permukaan padatan Platonis ke permukaan bola. Tidak mengherankan bahwa kubah geodesik berkualitas tinggi dibangun berdasarkan icosahedron atau dodecahedron.

Kubah geodesik berbasis Icosahedron pada berbagai nilai N .

\ begin {arr} & 3.15 & 3.09 & 3.06 & 3.03 & 3.00 & 2.99 \\ \ hline \ end {array}


Kubah geodesik berbasis Dodecahedron untuk berbagai nilai N .

 beginarr2.81 hline endarray


Selain itu, icosahedron terpotong sesuai dengan bentuk fullerene C60 hanya memiliki d=3,125 .

Yaitu dengan N>100 mesh berdasarkan persamaan 3 lebih baik daripada polyhedron geodesik.

Menurut data dari sumber pertama dalam daftar referensi di bawah ini, beberapa metode modern, yang biasanya kompleks dan membutuhkan pemrograman rekursif dan / atau dinamis, memiliki indikator berikut.

\ 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 { array}


Kesimpulan dari Bagian 1

Grid 3, dibuat oleh Equation 3, adalah modifikasi dari grid Fibonacci kanonik, yang menyediakan kemasan yang jauh lebih baik untuk distribusi poin. Yaitu

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


Bagian 2. Optimalisasi convex hull (Delaunay mesh)


Di bagian sebelumnya, kami mengoptimalkan distribusi dengan dN Namun, modifikasi ini memperburuk indikator lain, misalnya, volume lambung cembung (Delaunay mesh). Bagian ini menjelaskan cara mendistribusikan titik pada bola secara merata sedemikian rupa untuk mengoptimalkan (memaksimalkan) indikator yang lebih global seperti volume lambung cembung.

Kami menunjukkan CN seperti lambung cembung N poin

 epsilonN=N kiri( frac4 pi3 textrmVol(CN) kanan)


termasuk faktor normalisasi N , karena perbedaan absolut berkurang dengan kecepatan  1/N .

Perilaku  epsilonN di berbagai N dapat dilihat pada Gambar 3 (garis biru).

Untuk mengurangi ketidakcocokan volume, perlu dicatat bahwa meskipun penggunaan  phi , dari logika bagian emas di N rightarrow infty itu tidak selalu berarti bahwa itu adalah nilai terbaik untuk final N . Berbicara secara ilmiah, kita dapat mengatakan bahwa kita perlu memperhitungkan pengaruh anggota koreksi ekstremitas.

Mari kita simpulkan persamaan 1 sebagai berikut:

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


di mana kita mendefinisikan g(n) bagaimana

g (n) = \ begin {cases} 3- \ phi, & \ text {jika $ k $ genap} \\ \ phi, & \ text {jika $ k $ ganjil} \ end {cases} \ tag {5}


dimana

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


dimana  lfloorx rfloor - fungsi pembulatan ke bilangan bulat terdekat ke bawah.

Gambar 3 menunjukkan berapa banyak ketidakcocokan volume dioptimalkan untuk setengah dari nilai. N .

Alasan untuk ini adalah fakta yang sedikit diketahui: semua angka x memuaskan transformasi Mobius khusus, mulai dari irasionalitas, adalah setara  phi .

x= fraca phi+bc phi+d, quad textrmuntuksemuabilanganbulata,b,c,d textrmsedemikianrupa|adbc|=1


Karena itu, alasan itu  phi dan 3 phi cocok bersama dengan baik, apakah itu

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



Gambar 3. Ketidakcocokan antara volume lambung cembung poin dan volume bola unit. Perlu diingat bahwa semakin kecil, semakin baik. Angka tersebut menunjukkan bahwa model hybrid (garis oranye) berdasarkan  phi dan 3 phi , memberikan distribusi poin yang lebih baik daripada grid Fibonacci kanonik (garis biru).

Untuk separuh sisanya, pertama-tama kita mendefinisikan seri bantu AN menjadi variasi dari seri Fibonacci

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


Yaitu

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


Semua fraksi dari seri ini memiliki fraksi kontinu yang elegan, dan dalam batas menyatu  phi . Sebagai contoh

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


Sekarang kita dapat menggeneralisasi sepenuhnya g(n) sebagai berikut:

g (N) = \ begin {cases} 3- \ phi, & \ text {jika $ k $ genap} \\ A_ {j + 1} / A_j, & \ text {jika $ k $ aneh, di mana $ j = (k + 7) / 2 $} \ end {cases} \ tag {6}


Tabel di bawah ini menunjukkan nilainya g(N) untuk berbagai N .

\ begin {array} {| 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}


Gambar 4 menunjukkan bahwa sehubungan dengan volume convex hull, distribusi baru ini lebih baik daripada kisi kanonik untuk semua nilai n


Gambar 4. Ketidakcocokan antara volume lambung cembung dan volume bola unit. Semakin rendah nilainya, semakin baik. Ini memberitahu kita bahwa metode baru yang diusulkan (garis hijau) terus-menerus menyediakan distribusi yang lebih baik daripada kiblat Fibonacci kanonik (garis biru).


Gambar 5. Perbandingan visual dari jaring kanonik (kiri) dengan jaring yang dimodifikasi baru (kanan) dengan n = 35 dan n = 150. Secara visual, perbedaannya hampir tak terlihat. Namun, dalam kondisi yang membutuhkan efisiensi maksimum, versi yang dimodifikasi (di sebelah kanan) memberikan peningkatan kecil, tetapi dapat diukur dalam volume dan luas permukaan lambung cembung.

Anehnya, distribusi ini juga tidak signifikan, tetapi terus mengurangi ketidakcocokan antara luas permukaan lambung cembung dan luas permukaan bola tunggal. Ini ditunjukkan pada Gambar 6.


Gambar 5. Ketidakcocokan dinormalisasi daerah antara luas permukaan cembung cembung (Delaunay mesh) dan luas permukaan bola tunggal. Semakin rendah nilainya, semakin baik. Ini menunjukkan bahwa modifikasi baru yang diusulkan (titik hijau) menunjukkan penurunan kecil tetapi konstan dalam perbedaan luas permukaan dibandingkan dengan grid Fibonacci kanonik (titik biru)

Kesimpulan dari Bagian 2

Kisi yang sesuai dengan Persamaan 6 adalah modifikasi kisi Fibonacci kanonik, menciptakan distribusi poin yang jauh lebih baik berdasarkan volume dan luas permukaan cembung cembung (kisi Delaunay).

Sumber

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


All Articles