3

unity3D で地対空ミサイル システムを作成し、時間 't' の後に着信ミサイルの位置を予測し、迎撃ミサイルの角度と位置を 3D 座標で設定して、着信ミサイルを攻撃できるようにしたいと考えています。次の関数を使用して、入ってくるミサイルの予測を取得しています。

    void UpdateTrajectory(Vector3 initialPosition, Vector3 initialVelocity, Vector3 gravity)
{
    int numSteps = 500; 
    float timeDelta = 1.0f / initialVelocity.magnitude; 

    LineRenderer lineRenderer = GetComponent<LineRenderer>();
    lineRenderer.SetVertexCount(numSteps);

    Vector3 position = initialPosition;
    Vector3 velocity = initialVelocity;
    for (int i = 0; i < numSteps; ++i)
    {
        lineRenderer.SetPosition(i, position);


        position += velocity * timeDelta + 0.5f * gravity * timeDelta * timeDelta;
        velocity += gravity * timeDelta;
    }
}

視覚的な軌跡表示を取得するためにライン レンダラーを使用しています。今、私はいくつかの位置でしかミサイルを打つことができないので、手動で調整する必要があります. 私の SAM ミサイル システムは角度を適切に設定しましたが、正確な時間と速度を設定できないため、ミサイルに命中する可能性があります。

4

1 に答える 1

2

専門的なものが必要です: 指数曲線フィッティングです。

http://mathworld.wolfram.com/LeastSquaresFittingExponential.html http://mste.illinois.edu/malcz/ExpFit/FIRST.html

http://www.ni.com/cms/images/devzone/tut/image7_20080714213910.JPG

すべての点を曲線として取得し、曲線の係数を見つけてから、次の点を推定します。あなたのアルゴリズムは、曲線全体に対して少し線形に見えますが、最新のポイントに対してのみ当てはまり、これでは十分ではありません。

非線形回帰とも呼ばれます。

ここで、別のスタックエクスチェンジの回答: https://stats.stackexchange.com/questions/20271/exponential-curve-fitting-with-a-constant

于 2013-05-19T12:31:26.323 に答える