【问题标题】:Moving a rectangle around a "track" with curved edges围绕具有弯曲边缘的“轨道”移动矩形
【发布时间】:2013-05-23 19:25:56
【问题描述】:

我很好奇是否有人可以向我指出一个关于如何在赛道周围制作“汽车”动画的好教程(假设俯视图)。具体来说,我有一条路径是轨道(它基本上是一个带有弯角的矩形)。我具体的困惑是如何计算汽车在通过曲线移动时的旋转,如果我将它推进 N 距离,以及如何获得路径上任何给定点的精确 X,Y。

所以...假设整个路径是 J 起点 S 和终点 E,我需要能够放置在路径上的任何中间点并且能够计算它的旋转应该是什么,给定它在路径上的位置,以及该特定路径点的 X、Y 屏幕坐标。

我想抢先提出明显的“您尝试过什么”的问题,因为我完全不清楚解决这个问题的正确方法是什么,所以除了阐明这个问题,希望我能找到关于该解决方案应该是什么的良好信息来源。

我在 Android 中执行此操作,但我不需要特定于 Android(甚至 Java)的解决方案,只需要主体即可。

TIA

【问题讨论】:

    标签: java android animation path


    【解决方案1】:

    曲线中任意点的旋转角度只是 sin(x) 或 cos(x)(取决于您的起始方向)。基本上,忽略你有矩形边的事实,把四个角想象成一个圆。计算你在那个圆圈上的位置,然后旋转。如果你在一边而不是在一个圈子里,那真的就像你在一个轴上很长时间一样,但你可以根据需要解决这个问题。这实际上只是弄清楚一个圆(基于 x 或 y)有多远,包括另一个值(x 或 y)指定象限并使用 trig。

    【讨论】:

    • 谢谢...我明白你在说什么(实际上在我发布之前就已经知道了),我的问题是,因为它*不是一个圆圈,而且拐角处的曲线也不是圆圈基于(我不知道它的几何词,但它们更像是椭圆的部分,它们并不相同)并且由于整个形状是一条长路径,我假设因为路径是向量有一种直截了当的说法,如果我的车距离起点为 N,它必须(基于该特定点所代表的内容)以特定方式旋转并占据屏幕上的特定 X、Y。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-28
    相关资源
    最近更新 更多