0

私は球体を作成しました。球体 (細胞) の内側にはもう 1 つの小さな球体 (核) があり、球体のもう一方の端には微小管と呼ばれる構造があります。

微小管には中心点があり、そこから核の端、さらには細胞の端まで伸びる線があります。

細胞内を移動するポイント (ウイルス) があります。ウイルスが微小管構造上にあると (細胞の端から構造に付着すると仮定すると)、ウイルスは微小管の中心に向かって移動し、最終的には核に向かって線を下って移動する必要があります。

ウイルスが微小管構造上にあるかどうかを判断する方法はすでにわかっていますが、それを下に移動する方法がわかりません. 象限システムを使用して2D空間でそれを理解しましたが、3D空間で頭を包むことはできません。

私の質問は次のとおりです。ウイルスが微小管上にある場合、座標を更新して中心に向かって移動し、次に核に向かって移動するにはどうすればよいですか?

ありがとうございました

4

2 に答える 2

0

問題は、2つの点AとBの間でオブジェクトOをスムーズに補間することです。線形補間、3次スプライン補間などを使用できます。

線形補間 それを言いましょう:

  • OはフレームFaの位置Aにあります。
  • OはフレームFbの位置Bにあります。

次に、FaとFbの間のFcについて、Cを次のように計算できます。

C = A +(BA)(Fc-Fa)/(Fb-Fa)

基本的には、これまでに実行した翻訳を追加する開始点Aを検討します。これまでに実行された変換は、補間が開始されてからの正規化されたフレーム数(0から1の間)で重み付けされた(B-A)実行する変換の合計です(Fc-Fa)/(Fb-Fa)

Fc = Faの場合(つまり、まだ補間を開始していません)、C = A; Fc = Fbの場合(最終位置に到達する必要があります)、C = B;

この補間により、直線的な軌道が得られます。ただし、O速度は一定です。つまり、Oはまったく同じ速度で開始、移動、終了します。アニメーションでは、これで良い結果が得られることはめったにありません。他の手法では、3次補間、Kochanek–Bartelsスプラインなどを使用します。これらの補間手法は、実装がはるかに複雑ですが、ポイントが線に沿って移動する速度をより細かく制御できます。

于 2013-01-22T19:17:55.897 に答える
0

つまり、あなたの質問は「3D で (複数のフレームにわたって) オブジェクトをあるポイントから別のポイントに移動するにはどうすればよいですか?」 に要約されます。

答えは、オブジェクトの移動をどのように実装したかによって完全に異なります。しかし、基本的なコンセプトは次のとおりです。

  1. 「to」ポイントの位置から「from」ポイントの位置を引きます。結果は、オブジェクトを動かしたい方向を指すベクトルです。
  2. このベクトルがオブジェクトの速度ベクトルになるように、このベクトルの大きさを (方向を変えずに) 変更します。
  3. オブジェクトの開始位置と速度がわかったので、目的のポイントに到達するまで時間の経過とともに移動するようにアニメートします。
于 2013-01-22T18:10:23.873 に答える