我有一个简单的LIMIT
,我将其绘制为
Path
现在我想扩展这条路径,让我们说出最后一个坐标的5个单位(因为我只想让它的长度增加5个单位而且我没有进一步的x和y坐标)。有没有Android API或简单的方法呢?我觉得必须有像animPath.moveTo(360, 360);
animPath.lineTo(500, 200);
这样的方法,它应该根据最后的坐标在同一方向上将这个路径扩展5个单位。但无法找到任何。
答案 0 :(得分:0)
不幸的是,没有API方法。您可以通过保存两个最新点来实现它,并且(在一些数学计算之后)通过再添加一个animPath.lineTo(x, y)
调用来绘制此偏移量。
答案 1 :(得分:0)
在给定距离找到一条线上的第三个点(中心和另一个点已知)的一种简单方法是here,它对我有效。
Len = Sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1))
Normalized (unit-length) direction vector is
dx = (x2-x1) / Len
dy = (y2-y1) / Len
P3 coordinates for case when P1P3 and P1P2 vectors have the same direction:
x3 = x1 + Distance * dx
y3 = y1 + Distance * dy
for opposite direction:
x3 = x1 - Distance * dx
y3 = y1 - Distance * dy