I'm working on a 3d space sim with AI agents flying ships through space. I am trying to get them to follow a waypoint path nicely, which involves figuring out how fast they can be travelling and still manage to pass through the waypoint.
Given a point in 3d space and an an agent that only travels forwards and has a given turning rate in radians / second and an acceleration rate, how can I find the maximum speed the ai can travel and still manage to face the point before overshooting it?
Can any math wizards lend a hand?
public class AIPilot { //relevant fields from my class
float turnRate_radians;
float acceleration;
Transform transform;
public float FindMaxSpeedToFace(Vector3 goal) {
//trying to fill the body of this method
}
}