Saya memiliki sistem di mana Anda dapat mengklik sekali untuk menempatkan sebuah simpul dalam sebuah adegan. Ketika Anda menempatkan 3 node, itu membentuk segitiga. Ketika Anda menempatkan node masa depan, itu menciptakan segitiga baru dengan menggabungkan node itu ke 2 node terdekat yang ada.
Ini berfungsi dengan baik sebagian besar waktu tetapi cacat ketika digunakan di dekat segitiga dengan sudut yang sangat akut, karena salah satu dari 2 node terdekat sering bukan salah satu yang harus digunakan.
Sebagai contoh, lihat gambar di bawah ini. Segitiga magenta adalah yang pertama ditempatkan. Jika saya klik pada posisi bertanda X, yang saya dapatkan adalah segitiga baru di mana overlay biru berada. Yang saya inginkan adalah segitiga baru di mana overlay hijau berada. (mis. simetris dengan magenta, dalam contoh ini. Klarifikasi: Segitiga hijau dan magenta tidak tumpang tindih - yang hijau memanjang di bawah yang biru ke simpul paling kiri)
Bagaimana saya bisa menentukan 2 simpul yang ada untuk digunakan saat membuat segitiga baru sehingga segitiga tidak ditumpangkan seperti ini?
EDIT : Mencari tepi terdekat memberikan hasil yang lebih baik , tetapi tidak sempurna. Pertimbangkan situasi ini:
Tes 'tepi terdekat' adalah ambigu, dan dapat mengembalikan AB atau AC (sebagai titik terdekat ke X untuk keduanya adalah pada A). Hasil yang diinginkan adalah AC, untuk membentuk segitiga ACX tanpa ujung yang tumpang tindih. Bagaimana saya bisa memastikan hasil ini? (Saya lebih suka tidak harus melakukan tes tumpang tindih masing-masing tepi sebagai tie-breaker jika memungkinkan karena saya khawatir bahwa tes tepi terdekat tidak harus melihat 2 persis sama, mengingat masalah presisi titik mengambang.)