[英]Given two points A(x1,y1) & B(x2,y2), I want to find the distance between the third point C(x3,y3) and line AB and length of AD on spherical surface
[英]Method to move an object from point(x1,y1) to point(x2,y2) at a given speed in a straight line in java
我必须编写一种方法,以给定的速度沿直线将对象(例如圆)从一个坐标移动到另一个坐标。 对象必须到达目标点并停止。 速度与物体到达该点所需的时间相关(例如,速度 = 15 相当于时间 = 15 毫秒)。 如果有人可以在这里帮助我计算数学,我会很高兴,拜托。
从 p0 点匀速移动到 p1 点的插值公式为:
p(t) = p0*(1-t) + p1*t
其中t
是已缩放为从开始时的 0 到结束时的 1 的时间,并且p
、 p0
和p1
是 (x,y) 坐标对。 由于 Java 没有编写插值公式的内置方法,因此您只需将其并行应用于 x 和 y 分量。 结果是:
t = (time_now - start_time) / total_time;
x = x0*(1-t) + x1*t;
y = y0*(1-t) * y1*t;
这是核心计算。 要使对象移动,请执行以下步骤:
时间增量可以是由System.getTimeMillis()
确定的常规挂钟时间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.