Ana içeriğe geç
Programlama

Box3D iç teğet kürelerle ayrık eksen testini hızlandırdı

Öne çıkanlar

  • İç teğet küre sınırı, karmaşık gövde testlerinde kenar çiftlerinin yüzde 98'ini eliyor.
  • Convex Pile başarım ölçümünde dar faz çarpışma süresi yüzde 62 kısaldı.
  • Karmaşık gövdelerin testinde SAT algoritması GJK yöntemine göre 6,4 kata kadar hız artışı sağladı.

Fizik motoru Box3D, çokyüzlü çarpışma tespitinde kullanılan Ayrık Eksen Testi (SAT) için iç teğet küre tabanlı yeni bir budama yöntemi geliştirdi. Bu teknik, şekillerin içine yerleştirilen küreler sayesinde yüzey ve kenar çiftlerinin oluşturabileceği en yüksek ayrılma mesafesine dair ucuz bir üst sınır hesaplıyor. Geliştirilen yaklaşım, Gauss haritası üzerindeki yay geometrisini kullanarak kenarları çift testine girmeden önce elemeyi başarıyor.

Yöntem, özellikle kenar sayısı yüksek karmaşık gövdelerin test maliyetini önemli ölçüde aşağıya çekti. 32 köşeli ve 89 kenarlı iki karmaşık gövdenin çarpışma testinde yüzey kontrollerinin yüzde 86'sı, kenar çifti kontrollerinin ise yüzde 98'i elendi. Bu optimizasyon sayesinde Convex Pile adlı karmaşık gövde testinde çarpışma aşaması çalışma süresi 2 bin 567 milisaniyeden 976 milisaniyeye gerileyerek yüzde 62 oranında hızlandı.

İç teğet küre yöntemi yerel bir arama olmadığı için global maksimum ayrılma değerini koruyor ve yaklaşımsal bir hata üretmiyor. Küre merkezleri ve yarıçapları gövde inşası sırasında O(N) karmaşıklığında bir taramayla elde ediliyor. Yapılan kıyaslamalar, SIMD optimizasyonlarıyla desteklenen SAT yönteminin artık Gilbert-Johnson-Keerthi (GJK) algoritmasıyla rekabet edebilir seviyeye ulaştığını gösterdi.

Kaynak

Bu özet yapay zekâ ile hazırlanmıştır; ayrıntılar ve doğrulama için orijinal kaynağa başvurun.