Bunu yapmanın tek yolu sahte bir fizik modeli kullanmaktır. Bağlandıkları eğer nesneler bir itici kuvvet ve bir çekme kuvveti vardır.
Onlara uygulanan kuvvetlerin toplamı göre nesneleri taşımak: her aşamada bir nesneye uygulanan kuvvetlerin toplamı hesaplamak ve gücün yönünde hareket ettirin.
Sahte kod, bir yineleme olacaktır:
for each object o1
force[o1] = 0
for each object o2
if o1 and o2 are linked
force[o1] += attraction_force(o1, o2)
else
force[o1] += repulsion_force(o1, o2)
for each object o1
move(o1, force[o1])
Nesneleri istikrarlı devlet eriştiyseniz ve tekrarlamalar durdurun.
Muhtemelen farklı kuvvet yasalarına deneme gerekir. Özellikle, hızlı bir dengeye ulaşmak için bitişik nesnelerin istiyorum. Ben bir kuvvet yoğunluğu (yay gibi) mesafeye doğrusal veya kuadratik (gravition / elektrik cazibe) ile deneme olur
Ayrıca muhtemelen kalan gelen grafiğin kısımlarını engellemek için rastgele nesneleri taşımak gerekir stucked. Rasgele hareket miktarı ilk tekrarlamalar için büyük olabilir ve zaman içinde azalma gerekir.