Estoy usando Box2D. Como puede ver, hay tres cuerpos dinámicos conectados entre sí (considérelo como una tabla desde la vista frontal). LEG1 y LEG2 están conectados al cuerpo estático (es el cuerpo de tierra). Otro cuerpo dinámico está cayendo sobre la mesa.
Necesito obtener la compresión en LEG1 y LEG2 por separado.
Las articulaciones tienen una GetReactionForce()
función que devuelve a b2Vec
, que a su vez tiene Length()
y LengthSqd()
funciones. Esto dará la suma total de las fuerzas en cualquier articulación tomada. Pero lo que necesito son fuerzas en los cuerpos individuales que están conectados con las articulaciones. Una vez que conecta varios cuerpos con una sola articulación, nuevamente mostrará la suma de fuerzas que no es útil. Este es el caso del que estoy hablando:
fuente
Respuestas:
Tanto la junta de distancia como las juntas de soldadura tienen anclajes locales dentro de ellas. Cada ancla es relativa a uno de los cuerpos conectados por la articulación. Puede encontrar su compresión de una articulación individual al encontrar la distancia entre los dos puntos de anclaje en el espacio mundial.
Puede usar estas funciones para recuperarlas:
Para transformar estos puntos en el espacio mundial, puede usar la función en cada cuerpo llamada:
Las juntas de soldadura (o juntas de distancia) deben usar restricciones suaves, de lo contrario el error será en su mayor parte insignificante de todos modos.
fuente