Bagaimana saya bisa menghitung jalur terpendek di lingkungan Euclidean dengan poligon non-cembung?


10

Dapatkah seseorang menyarankan makalah atau algoritma tentang menghitung jalur terpendek di ruang Euclidean dengan poligon non-cembung sebagai hambatan?


Perhatikan bahwa kecuali titik awal, titik akhir atau poligon lain terletak di ruang antara poligon non-cembung dan lambung cembungnya, Anda dapat mengganti poligon non-cembung dengan lambung kompleksnya. Mudah dilihat dengan hanya menggambar poligon non-cembung dan cembung cembungnya, lalu mempertimbangkan jalur terpendek mana yang melewati perbedaan.
MSalters

Jawaban:


3

Pendekatan yang paling sederhana adalah mengubah poligon non-cembung menjadi banyak yang cembung, kemudian melakukan tabrakan cembung normal dan pencarian pathfinding (melalui A * atau D * atau apa pun). Proses pertama sering disebut triangulasi dalam geometri komputasi, dan ada beberapa cara umum untuk melakukannya.


3

Ini mungkin bukan jawaban yang tepat untuk pertanyaan Anda, tetapi saya mungkin menyarankan Anda pendekatan pada masalah ini.

Sebenarnya masalah Anda adalah dua masalah yang digabungkan.

  1. Menemukan jalur terpendek
  2. Menemukan tabrakan

Dan masalah kedua tertanam menjadi yang pertama. Saya dapat merekomendasikan untuk memahami pencarian buta terlebih dahulu. Berikut ini adalah presentasi yang sangat sederhana: Pencarian Buta

Jika Anda membaca dokumen untuk membangun ruang negara, Anda harus membuat titik negara dan itu harus berarti hukum negara ini bisa berada di jalur terpendek Anda sehingga mereka tidak boleh bertabrakan dengan benda apa pun di ruang Anda. Mulai sekarang Anda dapat melanjutkan dengan algoritma tabrakan Euclidian. Setelah membangun ruang negara Anda dan pohon pencarian dibatasi dengan tabrakan Anda dapat memilih salah satu algoritma jalur terpendek atau salah satu dari Anda sendiri atau yang dimodifikasi hybrid.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.