Saya ingin menggambar peta poligon 2d berdasarkan data yang disediakan oleh sumber lain untuk memudahkan menganalisis tindakan pada peta. Data memiliki format berikut:
1 ['2', '4', '5', '7', '17', '10']
2 ['1', '3', '4']
3 ['2', '11', '4']
4 ['1', '2', '3', '11', '13', '18', '5']
5 ['1', '4', '18', '17']
6 ['7', '8']
...
Nomor pertama adalah ID dari sebuah node, daftar berikut berisi ID dari tetangganya. Karena jumlah node tetangga berbeda, saya perlu menggambar peta poligon.
Jadi saya mencoba menggunakan poligon Voronoi untuk representasi peta. Masalahnya adalah: Bagaimana saya bisa menentukan poin untuk memuaskan semua hubungan lingkungan? Saya kira percobaan pertama saya kurang lebih merupakan kesalahan dalam siklus coba-coba saya. Saya menggunakan alat sfdp dari graphviz untuk mendapatkan posisi titik dari grafik:
Menggunakan posisi titik menghasilkan representasi peta berikut:
Masalah dari pendekatan ini adalah bahwa misalnya node 4 dan 1 adalah tetangga tetapi dalam diagram Voronoi mereka bukan karena posisi node. Jadi bagi saya pendekatan ini gagal.
Googling, saya menemukan banyak tutorial membuat peta dengan poligon atau ubin, tetapi saya belum tahu bagaimana saya bisa membuat peta untuk data yang diberikan. Saya kira ada pendekatan menggunakan (beberapa) segi enam / segitiga / kotak atau campuran untuk mencapai apa yang saya butuhkan tetapi saya tidak tahu apa yang akan saya cari.
Apakah ada kata kunci atau algoritma yang dapat membantu saya di sini?
Pembaruan / Hasil : Untuk kelengkapan: Ini adalah hasil saya setelah menggunakan saran dari jawaban yang diterima: