2B nesneleri saran gergin bir tel tarafından uygulanan kuvvetleri nasıl hesaplayabilirim?


10

Bir fizik ilkelim olduğunu varsayalım (2B ortamın etrafına sarılmış "tel" diyeceğim ( bu soruda açıklandığı gibi ).

İşte neye benzeyebileceğinin bir örneği:

statik ve dinamik oyun nesneleri etrafına sarılmış tel

Örnek çizimde: Kutu tel tarafından yukarı doğru (yukarı kaldırılır) çekilir ve kutu teli aşağı doğru çeker. Yay üzerindeki nesne tel tarafından aşağı doğru itilir, ancak teli yukarı doğru da iter.

Henüz nasıl uygulanacağını bilmesem de, telin etrafına sarıldığı noktalarda serbestçe kayacağını varsayın.

2B fizik simülasyonunda (yani: kare tabanlı) böyle bir tel ile bağlanmış veya ona sarılmış nesnelere uygulanacak kuvvetleri (veya darbeleri) nasıl hesaplarsınız?


Ben de ima edildiği gibi ilk sorum tel sonunda kitle idi "açık" sadece statik olmayan nesne, daha sonra kuvvet kütle ve noktasından önce arasında sabit bir uzunlukta eklem aynı olurdu, ben hayal tel üzerinde.

Yanıtlar:


9

Teli çeken kutu, teli gerdirir. Gerilim Newton cinsinden ölçülen bir kuvvettir. Bazı basitleştirici varsayımlar yaparsak (tel ve çevre arasında sürtünme olmaz), tel boyunca tüm noktalarda gerilim aynıdır.

Örneğinizin statik olduğunu düşünürsek, teldeki gerilim sadece kutunun ağırlığıdır:

T = m * g

burada m kutunun kütlesi ve g yerçekimi nedeniyle ivmedir (yani 9.8 m / s ^ 2). Bunun yalnızca statik durumda geçerli olduğunu, dinamik durumda nasıl hesaplanacağının açıklaması için aşağıya bakın.

Teldeki her virajdaki kuvvet, daha sonra sadece gerginliğin ilgili yöne izdüşümüdür. Örneğin, yay nesnesinin ucundaki kuvvet, normal temas büyüklüğü boyunca bir kuvvettir:

F = T * cos(angle between wire and contact normal)

Bu durumda normal temas yönü, tel segmentleri arasındaki açının ikiye bölünmesi olacaktır. Gerilim veya başka bir şey üzerinde hiçbir etkisi olmadığı için, çevre üzerindeki ikinci işaret noktanızdaki kuvvet önemsizdir.

Şimdi, dinamik durumda gerginlik, kutuya teli bağlı tutmak için uyguladığınız kısıtlama kuvvetidir. Fizik motoru dürtü temelli ise, gerilim sadece:

T = impulse / timestep

Bu, telin çevre etrafına sarılması için genel algoritmaya yol açar. Önemli özellik telin toplam uzunluğudur. Yalnızca son segmentin simüle edilmesi gerekir, önceki tüm segmentlerin sabit olduğu düşünülebilir. Bu nedenle, son segmentin uzunluğu bilinir, sadece önceki segmentlerin uzunluklarını toplam uzunluktan çıkarın. O zaman son segment basit bir yay kısıtlaması olabilir. Daha sonra, bir segmenti ortamla kesiştiği her seferinde bölün ve viraj düzeldiğinde bölünmeyi kaldırın.


Yani - sadece açıklığa kavuşturmak için: Teldeki bir sonraki “virajda” dünyaya bağlanan sabit uzunluklu bir eklemde serbest kütle olurdu. Her bir mafsalın kutuya hangi dürtünün uygulandığını öğrendim ve oradan teldeki gerilimi alabilir miyim?
Andrew Russell

Ayrıca - endişeliyim F = T * cos(angle between wire and spring axis). Tam olarak hangi açı? Ayrıca: (simülasyonda) telin o nesneye bağlı bir yay olduğunu “bilmesi” için mantıklı bir yol olduğunu düşünmüyorum.
Andrew Russell

@Andrew - İlk noktanız için, evet, eklem tarafından kutuya uygulanan kuvvet tanım gereği teldeki gerilime eşittir. İkinci noktanız için haklısınız, bu çok net değildi, aslında tel ile normal temas noktası arasındaki açı. Bunu daha net hale getirmek için cevabı düzenledim.
Niall

4

Bu tel bazlı ipliklerdeki hayal kırıklığınızı kesinlikle takdir ediyorum, çözmek zor bir problem. Çarpışmanın hiçbir zaman mükemmel bir şekilde çalışmamasını sağladık, ancak kısıtlama simülasyonu kesinlikle yapılabilir ve basittir.

Bir tel kısıtlaması aslında normal bir mesafe kısıtlamasıyla neredeyse aynıdır. İki segmentli tel yerine n segmentli bir tel için n + 1'e sahipsiniz, her köşe için bir tane - uç noktalarda Jacobian bir mesafe kısıtlaması ile aynıdır (yani d / | d | iç düğümler için Jacobian, (a / | a | - b / | b |) gibi bir şeydir; burada a ve b, düğümden bitişik düğümlere vektörlerdir. (Üzgünüm, buna dokunduğumdan beri birkaç yıl geçti ...)

A-la'yı "sadece son segment dinamik" olarak taklit edemezsiniz, çünkü örneğin örnekte olduğu gibi nesneler diğer segmentlerle etkileşime girebilir, ancak yalnızca ipin uçlarındaki kütleleri simüle etmeniz gerekir - dahili olarak ip kütlesiz ol. Her bir düğümde hesaplanan kısıtlama uyarılarının, o düğümde çarpışan nesneye uygulanması gerekir.

İlgili birkaç makale:

İlk üçü nispeten yenidir ve çok yardımcı olmalıdır. Alt makalenin 75. sayfasında, esasen bir tel olan bir "multibar" kısıtlaması açıklanmaktadır.

İyi şanslar :)

raigan


0

Temel fikir, ipin uzunluğunun aynı kalmasıdır. Yukarı itiliyorsa, orada bir "bölme noktası" oluşturmanız gerekir. Sonra ip hangi tarafa takıldığını belirler, çünkü o yönde "büyüyemez". Sağdaki bir şeye bağlandığından, soldaki halat parçası kısalır ve ayrılma noktası ile tutturulmuş nokta arasındaki parça biraz daha uzun olur. Sonra, Niall'ın dediği gibi, telin gerginliğini hesaplayın. Bunu nasıl yapacağım, ipin her "parçasının" gerginliğini hesaplamaktır. Daha sonra bunu, ilgili kuvvetleri belirlemek için kullanabilirsiniz.

Bu yardımcı olur umarım.


Gerçekten değil, üzgünüm.
Andrew Russell
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.