Oyun / grafik geliştirmede yeniyim ve parçacıklarla oynuyorum (2D olarak). Parçacık olarak birbirine sıvı / su gibi parçacıklar çizmek istiyorum. Kabarcık pürüzsüz (ve çok büyük) olmayacağından üst üste binen büyük daireler çizmek istemiyorum. Fiziği gerçekten bilmiyorum ama istediğim şeyin yüzey gerilimine benzeyen bir şey olduğunu varsayıyorum.
Stackexchange veya Google'da hiçbir şey bulamadım (belki doğru anahtar kelimeleri bilmiyorum?). Şimdiye kadar iki olası çözüm buldum, ancak algoritmalar hakkında somut bir bilgi bulamıyorum.
Bunlardan biri, bir damla olduğunu düşündüğüm parçacıkların içbükey gövdesini hesaplamaktır. Bir eşdeğerlik sınıfı ("birbirine yakın" ilişkisinde) oluşturarak blob'u hesaplayabilirim. Garip bir şekilde içbükey gövdenin nasıl hesaplanacağını açıklayan herhangi bir algoritma bulamadım . Birçok yazı (ve stackexchange arasında) bunu yapan kütüphanelere veya ticari ürünlere bağlantılar (C # 'da çalışmak için kütüphanelere ihtiyacım var), ama asla herhangi bir algoritma. Ayrıca bu çözüm, ortadaki boş alanı algılamayacak bir parçacık çemberi ile ilgili bir sorun yaşayabilir.
İçbükey gövdeyi araştırırken alfa şekilleri adı verilen bir şeye rastladım. Tam olarak yapmak istediğim gibi görünüyor, ancak içbükey gövdede olduğu gibi, aslında nasıl çalıştıklarını açıklayan herhangi bir kaynak bulamadım. Bazı sunum materyalleri buldum ama devam etmek için yeterli değil. Benim dışımda herkesin bildiği büyük bir sır gibi: - /
İçbükey gövde veya alfa şeklini hesapladıktan sonra, pürüzsüz ve güzel hale getirmek için bir Bézier eğrisi yapmak istiyorum.
Yaklaşımımı biraz fazla karmaşık bulmama rağmen, belki de bunu yanlış şekilde çözmeye çalışıyorum? Ya sorunuma başka bir çözüm önerebilir ya da eksik olduğum parçaları açıklayabilirseniz çok mutlu ve minnettar olurum :-)
Teşekkürler.