我创建了一个球体,球体内部(细胞)是位于球体一端的另一个较小的球体(核),另一端是球体的微管结构。
微管具有中心点,然后有从细胞核的边缘延伸到细胞边缘的细线。
我有点(病毒)在整个细胞中移动。一旦病毒进入微管结构(假设它从细胞边缘附着到结构),它必须朝着微管的中心移动,并最终沿着细胞管向细胞核移动。
我已经弄清楚如何确定病毒是否在微管结构上,但是我无法弄清楚如何将它移到线上。我使用象限系统在二维空间中找到了它,但我无法在3D空间中做到这一点。
我的问题是:一旦病毒进入微管,我如何更新坐标以将其移向中心然后朝向细胞核?
谢谢
答案 0 :(得分:0)
所以你的问题归结为“如何在3D中将对象从一个点移动到另一个点(多帧)?”
答案完全取决于你如何实现对象移动。但基本概念是:
答案 1 :(得分:0)
您的问题是在两点A和B之间平滑插值对象O.您可以使用线性插值,三次样条插值等。
线性插值 让我们说:
然后对于Fa和Fb之间的Fc,您可以将C计算为:
C = A +(B-A)(Fc-Fa)/(Fb-Fa)
基本上,您考虑从A点开始添加到目前为止执行的翻译。直到现在执行的翻译是执行的总翻译(B-A)由标准化的帧数(因此在0和1之间)加权,因为插值开始如此(Fc-Fa)/(Fb-Fa)
如果Fc = Fa(所以我们还没有开始插值),那么C = A; 如果Fc = Fb(所以我们应该到达最终位置),那么C = B;
这种插值将产生线性轨迹。但是,速度是恒定的。这意味着O将以完全相同的速度开始,行进和结束。在动画中,这很少给出好的结果。其他技术使用三次插值,Kochanek-Bartels样条等。这些插值技术实现起来要复杂得多,但可以更好地控制点的行进速度。