首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >方法在java中以给定的速度将对象从点(x1,y1)移动到点(x2,y2)。

方法在java中以给定的速度将对象从点(x1,y1)移动到点(x2,y2)。
EN

Stack Overflow用户
提问于 2011-02-10 20:58:31
回答 1查看 952关注 0票数 3

我必须编写一种方法,以给定的速度将一个物体(例如圆圈)直线从一个坐标移动到另一个坐标。对象必须到达目标点并停止。速度与物体到达点的时间相关(例如,速度= 15等于时间= 15 ms )。如果有人能在这里帮我学数学,我会是个可怜虫。

EN

回答 1

Stack Overflow用户

发布于 2011-02-10 21:15:20

以恒定速度从点p0移动到点p1的插值公式是:

代码语言:javascript
复制
p(t) = p0*(1-t) + p1*t

其中,t是缩放的时间,从开头的0到结尾的1不等,而pp0p1是(x,y)坐标对。因为Java没有内置的方法来编写插值公式,所以您只需将它并行地应用于x和y组件。结果是:

代码语言:javascript
复制
t = (time_now - start_time) / total_time;
x = x0*(1-t) + x1*t;
y = y0*(1-t) * y1*t;

这是核心计算。要让对象移动,请执行以下步骤:

给出了

  1. :start_time,total_time,x0,y0,x1,y1
  2. ,把圆圈设为(x0,y0),并设置time_now =x0 time_now == start_time + total_time,用上面的方法计算(x,y),将圆圈移动到(x,y),并增加(x,y)。

时间增量可以是由System.getTimeMillis()确定的规则的挂钟时间.

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4962608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档