Saya mencari algoritma, solusi tingkat tinggi, atau bahkan perpustakaan yang dapat membantu saya menentukan apakah dua poligon berpotongan, dengan Python.
Saya memiliki simpul dari dua poligon (Ini adalah poligon bagian tunggal tanpa lubang) dalam dua array yang berbeda. Poligon adalah 2D (yaitu hanya koordinat X dan Y)
Saya ingin membuat fungsi yang akan mengembalikan boolean yang menunjukkan apakah kedua poligon bersilangan.
Harap dicatat bahwa saya tidak dapat menggunakan arcpy
, atau arcgis
komponen apa pun dalam hal ini.
Bisakah Anda menyarankan algoritma atau pustaka untuk melakukan ini?
sumber
Jika Anda tahu atau tertarik mempelajari R, ia memiliki beberapa paket spasial yang berguna. http://cran.r-project.org/web/views/Spatial.html Ada modul Python untuk berinteraksi dengan R (RPy *)
sumber
Saya tahu ini adalah pertanyaan lama, tetapi saya telah menulis perpustakaan python untuk menangani tabrakan antara polong cekung dan cembung, serta lingkaran.
Cukup mudah digunakan, ini dia!
Contoh:
Anda juga dapat membuatnya menghasilkan respons, yang meliputi:
https://github.com/QwekoDev/collision
sumber
jika Anda ingin mengetahui levelnya, Anda bisa menggunakan ini. Sebagai argumen, Anda dapat memberikan daftar poligon. Dan sebagai nilai balik Anda mendapatkan daftar level. Dalam daftar level ada poligon.
sumber