Calcule la implícita o la fuerza correcta para mover un cuerpo de Box2D a una posición específica - Box2D

Tengo una pregunta sobre cómo mover un cuerpo Box2D a una posición específica sin usar esto, por ejemplo.

body->SetTransform(targetVector,body->GetAngle())

Tengo un código que funciona para applyForce (aquí):

const float destinationControl = 0.3f;
b2Vec2 missilePosition = _physicalBody->GetPosition();
b2Vec2 diff = targetPosition - missilePosition;
float dist = diff.Length();

if (dist > 0)
{

// compute the aiming direction
b2Vec2 direction = b2Vec2(diff.x / dist, diff.y / dist);

// get the current missile velocity because we will apply a force to compensate this.
b2Vec2 currentVelocity = _physicalBody->GetLinearVelocity();

// the missile ideal velocity is the direction to the target multiplied by the max speed
b2Vec2 desireVelocity = b2Vec2(direction.x * maxSpeed, direction.y * maxSpeed);

// compensate the current missile velocity by the desired velocity, based on the control factor

b2Vec2 finalVelocity = control * (desireVelocity - currentVelocity);

// transform our velocity into an impulse (get rid of the time and mass factor)
float temp = (_physicalBody->GetMass() / normalDelta);

b2Vec2 finalForce = b2Vec2(finalVelocity.x * temp, finalVelocity.y * temp);

_physicalBody->ApplyForce(finalForce, _physicalBody->GetWorldCenter());

}

Pero el cuando elmaxSpeed es elevar el movimiento del cuerpo sobre el punto para ayunar.

Entonces, ¿alguien sabe cómo calcular una fuerza (ApplyForce) o una implícita (ApplyLinearImpulse) para mover el cuerpo a una posición objetivo (muy exactamente) en un tiempo específico.

O una solución con el código anterior. Me refiero a calcular elmaxSpeed mover el cuerpo en un tiempo específico a la posición de destino.

En mi búsqueda en google encontré el interesante artículo de iforce sobre la trayectoria proyectada (aquí) Tal vez esto podría ser de ayuda también?

Gracias de antemano

Respuestas a la pregunta(2)

Su respuesta a la pregunta