Saya telah memesan beberapa lembar kulit dari mana saya ingin membuat bola juggling dengan menjahit ujung-ujungnya menjadi satu. Saya menggunakan padatan Platonis untuk bentuk bola.
Saya dapat memindai lembaran kulit dan menghasilkan poligon yang mendekati bentuk lembaran kulit (seperti yang Anda tahu, itu kulit binatang, dan itu tidak berbentuk persegi panjang).
Jadi sekarang, saya ingin memaksimalkan ukuran bola juggling saya.
Dalam contoh saya, poligon adalah poligon biasa, tetapi saya mencari solusi dengan poligon sederhana.
Apa faktor skala terbesar yang dapat saya terapkan pada poligon saya sehingga semuanya muat di dalam lembaran?
Saya berusaha meminimalkan limbah dengan menggunakan bahan sebanyak mungkin.
Jelas, memotong jaring polihedron menjadi poligon individu akan meningkatkan ruang kemungkinan kombinasi, tetapi juga menurunkan kualitas geometri akhir, karena ada lebih banyak penjahitan yang terlibat dan akumulasi kesalahan. Tetapi pertanyaan ini bukan tentang menyebutkan berbagai cara membuka polyhedron. Mereka dapat dianggap independen. Jadi poligon adalah poligon sederhana.
Secara formal:
Memasukkan:
- : poligon sederhana (target)
- : himpunan poligon yang ingin saya tempatkan
- : grafik poligon sederhana - setiap node mewakili poligon sederhana dalam , dan ada satu tepi tepi antara setiap pasangan poligon yang memiliki tepi yang sama
- (penggunaan material dan konektivitas)
Keluaran:
- faktor skala
- , sebuah subgraf
- V ( G ) : lokasi dan sudut untuk setiap poligon dalam
- ukuran kualitas dari solusi:m = α . f + β . | E ( H ) |
Maksimalkan tunduk pada kondisi ini:
- (1)
- (2)
- untuk setiap poligon di , diskalakan oleh faktor di lokasi di dalam (3) S S i f L o c ( S i ) P
- poligon dalam jangan tumpang tindih (4)
(V (G) adalah simpul dalam grafik, dan S adalah himpunan poligon, tetapi mereka menggambarkan himpunan objek yang sama. Mungkin ada cara yang lebih kompak untuk melakukan ini.)
Penjelasan kondisi:
- (1) Saya ingin semua poligon berada di tata letak akhir
- (2) Beberapa koneksi mungkin terputus jika perlu
- (3) (4) bola terbuat dari kulit
Berikut adalah poligon target
Ini adalah kumpulan poligon yang ingin saya kemas:
Jawaban:
Ini termasuk kelas optimasi masalah yang disebut masalah Packing . Dalam kasus Anda, alih-alih poligon biasa sebagai wadah, Anda punya yang tidak teratur, tetapi idenya tetap sama.
Masalah pengoptimalan ini biasanya NP-hard, jadi saya tidak berpikir ada cara mudah untuk mendapatkan solusi yang tepat dan mencoba semua kombinasi akan terlalu mahal.
Ada beberapa orang yang tertarik dengan masalah seperti ini; Saya telah menemukan tautan ini dari beberapa masalah pengemasan khusus yang terpecahkan: http://www2.stetson.edu/~efriedma/packing.html
Cara termudah yang saya lihat, adalah untuk menentukan perkiraan pusat dari lembaran kulit, untuk memindahkan set poligon ke sana dan, dengan meningkatkan ke atas dan ke bawah dan memeriksa apakah set poligon ada di dalam atau tidak di dalam poligon target, untuk mendapatkan semakin dekat faktor skala 'f' untuk set poligon yang Anda inginkan.
Tapi, kecuali Anda akan menggunakan faktor ini untuk produksi bola juggling skala besar, mungkin melakukannya dengan tangan akan cukup.
sumber