Apa itu poligon yang mengalami degenerasi? Bagaimana seseorang memeriksa apakah sepasang poligon yang diberikan mengalami degenerasi atau tidak?
9
Apa itu poligon yang mengalami degenerasi? Bagaimana seseorang memeriksa apakah sepasang poligon yang diberikan mengalami degenerasi atau tidak?
Jawaban:
Sebuah poligon mengalami degenerasi jika beberapa simpulnya terletak pada satu sama lain. misalnya segitiga (0,0), (0,1), (0,0) berdegenerasi. Ini memiliki 3 sisi, dan 3 simpul, tetapi dua simpul diulang. Dimungkinkan untuk mengulangi verteks beberapa kali (misalnya (0,0), (0,0), (0,0) adalah segitiga degenerasi lain). Menurut definisi, memeriksa apakah poligon berdegenerasi atau tidak mudah.
Tetapi apa kegunaan dari poligon yang merosot? Salah satu aplikasi dari percepatan grafis (gambar 3D) adalah sebagai berikut:
Dalam menggambar 3D, GPU biasanya menggunakan triangulasi untuk membuat gambar. Alasan (sederhana) untuk menggunakan segitiga adalah karena mereka adalah objek 2D yang paling sederhana sehingga tidak memerlukan banyak perangkat keras.
Jika kita ingin menggambar gambar 3D yang kompleks, dengan batasan GPU ini, kita harus menguraikannya menjadi beberapa segitiga. Tetapi jika kita memanggil GPU untuk membuat setiap segitiga secara terpisah, itu akan sangat lambat (karena jumlah panggilan). Jadi strip segitiga digunakan untuk mengurangi jumlah panggilan ke GPU. Penjelasan yang baik tentang strip segitiga dapat ditemukan di Microsoft Documentation: Triangle Strips , Anda juga dapat melihat wiki untuk: Triangle Strip .
Tetapi masalah muncul ketika kita ingin menggambar dua objek terpisah dalam satu strip. Dalam hal ini, segitiga yang merosot membantu. GPU dapat mendeteksi segitiga yang merosot dan melewatkan gambar mereka. Jadi kita dapat menghubungkan dua strip terpisah dengan satu segitiga degenerasi.
sumber
Poligon yang merosot adalah poligon yang tidak memiliki luas nol.
sumber
Seperti yang telah dicatat orang lain, itu tergantung. Secara umum, poligon adalah non-merosot jika tidak memiliki poin anomali, tetapi ini hanya mendorong masalah mundur satu langkah; apa itu "anomali"?
Jawaban sebenarnya adalah bahwa sebuah poligon mengalami degenerasi jika melanggar spesifikasi. Jawaban yang sedikit kasar adalah bahwa poligon mengalami degenerasi jika merupakan kasus tepi yang tidak dapat ditangani oleh algoritma Anda.
Berikut ini contoh dari dunia SIG. The OGC Simple Fitur Spesifikasi memiliki definisi yang sangat berhati-hati tentang apa yang membuat poligon "valid". Mengutip dari Bagian 6.1.11.1:
sumber