いつ外挿し、いつ補間する必要がありますか?


16

いつ外挿するか、いつ内挿するかを理解するのに苦労しています。彼はゲームのガファーで、補間するように言ったが、別の記事ではプレーヤーを推定することを推奨した。だから私の質問は、いつ外挿する方が良いのか、いつ補間する方が良いのかということです。


22
二種類の人がいます。不完全なデータから外挿できる人
アルモ

2
@Almoと他の種類は何ですか?教えてください、私は知っている必要があります!
DJMcMayhem

4
@DJMcMayhem ...そして魚の指を食べるのが好きな人。
user253751

4
質問がわかりません。点{(1、a)、(2、b)}を「補間」して、(3、c)のcを予測する1つの方法を説明できますか?そして、どのように外挿しますか?
user541686

回答:


29

「前」と「後」の値がわかっているときに補間します。

たとえば、ポイントアンドクリックゲームでは、プレーヤーは現在位置Xにあり、インターフェイスからスポットYをクリックします。2つの値がわかっているため、XとYの間の変位を補間する必要があります。

既に知っていることに基づいて、将来の価値がどうなるかを推測するときに外挿します。

例えば:一人称シューティングゲームで、プレイヤーは位置Xにあり、彼は最後の秒のための彼のキーボードのUP矢印を押すとされています、あなたは可能としているが、基本的なので、彼は次の秒のために再びこれをやっているだろうとゲームで最も頻繁に発生する動作。彼が次のフレームになる位置を推定します。サーバーはそれを他のゲームクライアントに送信します。これは、サーバーからプレーヤーへの送信の遅延を考慮します。

外挿は、主に動きの予測に使用されます。これはゲームサーバーには必要ありませんが、ゲームクライアントは、プレイヤーにスムーズな視覚体験を提供するために、ゲームの状態のやや現実的で現在のビジョンを表示する必要があります。


私はその部分を理解していますが、私が理解していないのは、それぞれをいつ使うべきかです。たとえば、プレイヤーを補間すると、実際に動きを見るのに遅れが生じますが、外挿するとより瞬時になりますが、正確ではない可能性があり、修正する必要があります。通常、外挿による瞬間的な動きや、内挿によるより安定した動きが望ましいでしょうか?
Jレオン

@Jleongゲームをできるだけスムーズにユーザーに表示したいと考えています。ゲームの現在の状態を補間し、数フレームでどのようになるかを推定します。ネットワーク伝送の遅延を考慮して、推定値を他のプレーヤーに送信します。補間された値を送信する場合、ゲームは遅れているように見え、面白くありません。(回答を編集しました。もう少しクリアされることを願っています。)
ベイランクール

ああ、クライアントが何が起こるかを予測したいときに外挿が使用されますか?もしそうなら、ゲームをリアルタイムに近づけるために常に外挿できる場合、補間のポイントは何ですか?FPSのように、プレーヤーは外挿され、他のプレーヤーは補間されますか?
Jレオン

一般に、サーバーはすべてを実行します。サーバーは、認識した内容に基づいて内挿し、それに基づいて値を外挿してクライアントに送信します。FPSでは、補間は発射体、AIなどの表示に使用されます。フレームB(フレームAから来る)を実行するとき、フレームBの状態の値を補間します。また、既知の値の補間によってフレームCの予測を開始することもできますが、知らない値を推定する必要があります(プレーヤー入力)。次に、「未来」の状態をクライアントに送信します。
ベイランクール

@Jleongクライアントとサーバーの違いを考えずに、補間を使用して、2つの既知のポイント(フレーム間で発生した可能性のある衝突のチェックなど)間の位置を導出するか、さらにそのデータセットを取得して速度/軌跡と加速度、ポイントのセット、および最後の既知の速度/加速度/軌跡が与えられると、将来、一貫した時間枠を想定して、それらのオブジェクトがどこにあるかを推定できます。サーバーとクライアントの通信では、「楽観的な」外挿位置が使用されます。
ノーガード

14

開始値と終了値の両方があり、この開始値と終了値の間で何が起こるかを推定したいときに、補間が行われます。例は、プレイヤーをポジションAからポジションBに流動的な動きで移動させることです。

外挿は、開始値はあるが終了データがまだないときに行われます。次に、持っているデータに基づいて外挿できます。たとえば、プレーヤーの以前の動きに基づいて、次のフレームでおそらくプレーヤーがどこにいるのかを判断できます。


2

可能な場合は常に補間します。

内挿するのに十分な情報がない場合、外挿する必要があります。

これは本当に簡単なことです。考えすぎないでください:)

もう少し説明するには:

一般に、補間は常に正しいため、補間の方が優れています。外挿するには、推測する必要があります。次に、間違って推測したときに何が起こるかを処理する必要があります。これにより、ラバーバンディングまたはポップが発生し、あらゆる種類のシステムがそのすべてを処理して偽装します。

バットの位置を推定し、それを正しい場所に移動してボールをバウンドさせ、その後、自分が間違っていてボールをバウンスしなかったことに気付くとどうなりますか?そのシナリオを処理する良い方法はありません。


ああ、ピンポンでは、ユーザーのパドルが予測され、ボールと他のパドルが補間されますか?
Jレオン

それは完全に実装方法に依存します。詳細については、私の編集を参照してください。
ティムB

2

既知の値の間の状態を見つけるために補間し、将来の状態を見つけるために外挿します。

位置や速度などの状態変数の観点から問題を考えてください。すべての最良のシナリオでは、状態を操作する必要があるすべてのコンピューターは、作業する時間の状態データにアクセスできます。たとえば、レーザーライフルショットXがプレイヤーAの頭を挟むかどうかを確認するための衝突アルゴリズムは、すべての場合において、レーザーが発射されたときのすべてのオブジェクトの正確な位置をアルゴリズムが知っている場合です。

現実の世界では、私たちはいつもそれほど幸運ではありません。時々、私たちが受け取る真実の情報はもっとまばらです。たとえば、プレーヤーAが別のコンピューターのリモートプレーヤーである場合、レーザーを発射してショットを計算する必要があるときに、彼らがどこに向かっているのかを正確に知ることはできません。この場合、通常は内挿または外挿を使用して、Aの位置の推定器を作成する必要があります。

2つの違いは、データが両側に限定されているか、片側のみに限定されているかです。プレーヤーAが、t = 0およびt = 1の真実の位置をすでに発表しているとします。プレイヤーBはt = 0.5でレーザーを発射します。多くの場合、プレーヤーBがトリガーを引く前に、プレーヤーAのt = 1での位置のアナウンスが発生する可能性があります。どうして?多くのゲームでは、コントロールの応答性は完全に瞬時ではありません。レースシミュレーションでは、プレイヤーの位置の大部分は、移動中の乗り物の物理によって制限されます。短期間ではそれほど多くのことを操縦できないので、「将来のポジション」を発表することもできます。将来情報がある場合は、2つの値の間を補間できます。

at = 1の値を持つほど幸運でない場合はどうなりますか?プレーヤーAが将来の位置をアナウンスする立場になく、t = 0の情報のみでヒットまたはミスしたかどうかを判断できない場合はどうなりますか?この場合、外挿する必要があります。外挿では、モーションについて知っていることを使用して、持っているデータを超えて拡張します。プレイヤーAには一定の速度があることをご存知かもしれません。そのため、時間にそれを掛けると、毎回位置を取得できると仮定します。

違いは動作にあります。内挿では、上限と下限が必要ですが、常に上限があるわけではありません。ただし、ほぼすべての状況で、外挿よりもはるかに優れた結果が得られます。外挿は、非現実的な動きを簡単に引き起こす可能性があります。進行中に射撃されるのを避けるために、左右に脇道を歩いているプレーヤーの場合を考えてください。任意の時点で、速度は対角線に沿っているため、外挿すると、実際には決して横にならないのに、プレーヤーが横に逃げるように見える場合があります。補間のみを行う場合、値は現実的な値の外側に迷うことはありません。

補間と外挿は、フィルタリングの世界における2つの極端です。このようなデータを処理するために、補間と外挿の間でプロパティを混合および一致させる多くの多くの多くの多くのフィルターがあります。したがって、明らかに補間または明らかに外挿されていないアルゴリズムを目にしても驚かないでください。これら2つは氷山の一角にすぎません。


1

補間は、既知のデータを使用して、データセットの境界内のデータを計算します(「内部」プレフィックスである)。補外法は、既存のデータの境界外のデータムを計算します(「外」接頭辞です)。どちらも追加データを合成するために使用され、生成されるデータの予想される信頼性を定義する正確な計算方法を使用します。

または、非常に単純な図に入れるには:

A - - - - - B - - - - - C - - - - - D

データポイントを考えるAC、あなたは補間することができますBし、外挿するD


内挿または外挿の精度は、計算のすべての変数をどの程度適切に説明できるかに完全に依存します。すべての変数を知っていて、それらすべてを説明する方程式がある場合は、簡単に補間または外挿できます。

ゲームメカニクスの場合、制限要因は、プレーヤーまたは何らかのランダム要素または擬似ランダム要素のいずれかによって、変数が予測不可能な方法で影響を受けるポイントになります。

たとえば、ブレイクアウト(最も単純な形式)でのボールの動きは、プレーヤーのパドルと相互作用する可能性がある点まで推定できます。その時点までのすべての変数を考慮することができるため、ボールの動作を正確にモデル化できます。プレイヤーとの対話が可能なポイントに達すると、多くの可能な結果があり、実際に発生するまでそれらのどれがケースになるかを正確にモデル化する方法はありません。これは、ゲーム物理モデルの予測限界です。

ゲームの補間は、既知のポイントで作業しており、条件が変わるかどうかを気にする必要がないため、より簡単です。さらに、関連する変数を完全に制御でき、定義したルールを使用してオブジェクトのパスを決定できます。ルールが複雑になるほど、補間が難しくなります。

重力のない再生スペース(ブレイクアウトやポンなど)での単純な衝突を伴うオブジェクトの動きの場合、パス上の線に沿った補間のメカニズムはポイントの単純な線形補間であり、同じ計算を使用して線を外挿することができます将来の衝突をテストします。衝突が検出されると、関連するオブジェクトに対するその衝突の影響を推定できます。


これはまさに言葉の違いです。持っているのがAとCだけであるときにBとDを推測するための異なる単語がある理由は、Bを正しく推測することはDを正しく推測するよりもはるかに簡単だからです。砲兵の専門家は、補間バケティングを呼び出します。彼らはあなたの両側に2つのマーキングラウンドを取得します。あなたが動かなければ死んでしまいます。外挿は、株価チャートを見てから株式市場をプレイするときにやろうとしていることです。外挿は困難です。
candied_orange

@CandiedOrange複雑なシステムの外挿は困難ですが、内挿も困難です。データポイントの品質とシステムの予測可能性に依存します。システムを説明する正確な方程式を導き出すことができれば、正確に内挿または外挿できます-直線は外挿が簡単で、曲線は株式市場ではありません。
コーリー

厳密に言えば、補間は計算の基本的な定理を提供するという意味です。外挿はしません。AとCは、BがAを与えられたCを可能にしたどこかにあることを伝えます。Dを求めることは、未来を予測することを求めています。あなたが知っているすべてのために、Cはプレーヤーが死んだ場所です。 補間と外挿のどちらがより信頼性が高く受け入れられますか? なぜ外挿リスクより補間より
-candied_orange

@CandiedOrange確かに、外挿は、関連するすべての変数を制御および予測できる程度に制限されます。補間も同様です。プレイヤーが過去に2つのポジションを占めていた場合、プレイヤーは直接または最適な経路から外れている可能性があるため、必ずしも正確に中間点を補間することはできません。どちらの方法にも制限があります。
コーリー

もちろん、両方とも制限されています。しかし、一方は他方よりも頻繁にキャリアを破壊します。どれだと思いますか。私の主張は、補間が完璧だということではありません。同じ予測力を持っているとみなすのは危険です。
candied_orange

0

簡単な答え:2つの既知の値の間の値を推定する必要がある場合に補間します(つまり、1時間で値は1で、3時間で3で、2で最も可能性の高い値2で値を補間します。値)。外挿は、未知のものがあなたが知っているものの外にあるときです。したがって、1と2が知られているとき、3について経験に基づいた推測を行うことができます。

内挿:間外挿:外

ここでの長い答えは、おそらくより正確で科学的に正しい方法ですが、私の簡単な説明が一部の人にとって意味があることを願っています

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.