ve üçgenlerden oluşan bir 2B ve . Her bir noktanın hangi üçgenin içinde olduğunu belirlemenin en iyi yolu nedir?
Örneğin, aşağıdaki görüntüde Elimizdeki , , bir işlevi gibi bu yüzden, listesi bu getiriler .
Matlab, Delaunay kafesleri için istediğimi yapan fonksiyon noktalarına sahiptir, ancak genel kafesler için başarısız olur.
İlk (aptal) düşüncem, tüm düğümleri için , hangi üçgen p i'nin içinde olduğunu bulmak için tüm üçgenler arasında . Ancak, bu son derece verimsizdir - her nokta için her üçgeni döngüye gerekebilir, bu yüzden sürebilir O ( N ⋅ M ) çalışması.
Tüm noktalar için Benim sonraki düşünce vardır , o en yakın düğüme bağlı üçgenler bakmak, en yakın örgü düğümü aracılığıyla en yakın komşu arama bulabilirsiniz. Bu durumda, iş O ( a ⋅ M ⋅ l o g ( N ) ) olacaktır ; burada a , ağdaki herhangi bir düğüme bağlı maksimum üçgen sayısıdır. Bu yaklaşımla ilgili birkaç çözülebilir ancak can sıkıcı sorun var,
- Bu, önemsiz olmayan bir görev olabilecek en yakın komşu etkili bir aramanın (veya buna sahip bir kütüphanenin bulunmasının) yapılmasını gerektirir.
- Her düğüme hangi üçgenlerin bağlı olduğunu, kodumun şu anda ayarlanmadığı bir listenin saklanmasını gerektirir - şu anda sadece düğüm koordinatlarının bir listesi ve bir öğe listesi var.
Tamamen yetersiz görünüyor ve bence daha iyi bir yol olmalı. Bu çok ortaya çıkan bir sorun olmalı, bu yüzden teorik olarak veya mevcut kütüphaneler açısından düğümlerin hangi üçgenlerde bulunduğunu bulmanın en iyi yolunu önerebileceğini merak ediyordum.
Teşekkürler!