私は最高速度で移動し、毎秒度maxSpeed
を変えることができる船を持っていrotationSpeed
ます。船は常に向いている方向に移動します。つまり、船が速く移動するほど、旋回半径が大きくなります。
私は自分の位置、回転、ターゲットの位置を知っています。
私が理解したいのは、ターゲットがこの速度で私の回転半径内にあるかどうか、またはより良い、私が移動できる最大速度は、ターゲットを回り続けることなくターゲットに方向転換するためです。
これを行うための効率的な方法がありますか?
これが私がこれまでに考えていることです。1ステップあたりの移動距離と1ステップあたりの回転量がわかっているので、次の2つのフレームのどこにいるのかがわかります。私の現在の位置はp1で、次の位置はp2、次にp3です。(p1、p2)と(p2、p3)の垂直二等分線をとることができます。彼らの交点は私に円の中心を与えます。次に、ターゲットがその円の中にあるかどうかをテストできます。
これが3Dで機能するかどうかは不明です(入力で球を計算する方法がわかりません)。この解決策は、旅行に適した速度を見つけるのにもあまり役立ちません。妥当な速度を見つけるには、さまざまな速度で数回試す必要があります。
誰もがより良い解決策にいくつかの光を当てることができますか?