Saya memiliki beberapa file peta yang terdiri dari 'polylines' (setiap baris hanyalah daftar simpul) yang mewakili terowongan, dan saya ingin mencoba dan menemukan terowongan 'garis tengah' (ditampilkan, kira-kira, merah di bawah).
Saya sudah pernah sukses di masa lalu menggunakan triangulasi Delaunay tapi saya ingin menghindari metode itu karena tidak (secara umum) memungkinkan modifikasi data peta saya yang mudah / sering.
Ada ide tentang bagaimana saya bisa melakukan ini?
Saya bekerja di C ++ yang cukup mentah.
Jawaban:
Anda telah membuat pendekatan yang bagus ke Transformasi Sumbu Medial. Triangulasi Delaunay memang menawarkan pendekatan yang baik untuk itu. (Tantangan utama adalah bahwa bagian-bagian dari TIK adalah potongan parabola, bukan hanya segmen garis.)
Saya telah menemukan referensi kode kerja (biasanya dalam C / C ++ saya ingat) dalam literatur akademik. Lakukan pencarian di Google Cendekia dan cari makalah yang lebih lama (yang lebih baru tampaknya berfokus pada perhitungan 3D).
sumber
Mungkin layak untuk melihat ke "kerangka poligon".
Ada beberapa sampel sumber C ++ di http://www.cgal.org/Manual/3.2/doc_html/cgal_manual/Straight_skeleton_2/Chapter_main.html
sumber