Saya menggunakan Box2D. Seperti yang Anda lihat, ada tiga benda dinamis yang terhubung satu sama lain (anggap sebagai tabel dari tampilan depan). LEG1 dan LEG2 terhubung ke badan statis (ini adalah badan dasar). Tubuh dinamis lain jatuh ke atas meja.
Saya perlu mendapatkan kompresi di LEG1 dan LEG2 secara terpisah.
Sendi memiliki GetReactionForce()
fungsi yang mengembalikan a b2Vec
, yang pada gilirannya memiliki Length()
dan LengthSqd()
berfungsi. Ini akan memberikan jumlah total pasukan dalam sambungan yang diambil. Tapi yang saya butuhkan adalah kekuatan dalam tubuh individu yang terhubung dengan sendi. Setelah Anda menghubungkan beberapa benda dengan satu sambungan lagi itu akan menunjukkan jumlah kekuatan yang tidak berguna. Inilah kasus yang saya bicarakan:
sumber
Jawaban:
Sambungan jarak dan sambungan las memiliki jangkar lokal di dalamnya. Setiap jangkar relatif terhadap salah satu benda yang dihubungkan oleh sambungan. Anda dapat menemukan kompresi sendi individu dengan menemukan jarak antara dua titik jangkar di ruang dunia.
Anda dapat menggunakan fungsi-fungsi ini untuk mengambilnya:
Untuk mengubah titik-titik ini ke ruang dunia Anda dapat menggunakan fungsi pada setiap tubuh yang disebut:
Sambungan las (atau sambungan jarak jauh) harus menggunakan batasan lunak, jika tidak kesalahan akan diabaikan.
sumber