如何计算处理中两个给定点之间的点?

时间:2016-10-16 16:09:07

标签: java math coordinates line processing

我有两个给定的坐标,例如(20,30)和(90,40)。我怎样才能找到这两点之间的界限呢?

我需要在处理过程中这样做,但一般的数学解决方案对我有帮助。

3 个答案:

答案 0 :(得分:4)

要找到中点,只需使用中点公式:

float midX = (pOne.x + pTwo.x)/2;
float midY = (pOne.y + pTwo.y)/2;

要在该行上找到另一个点,您可以使用Processing的内置lerp()函数。

float midX = lerp(pOne.x, pTwo.x, .5);
float midY = lerp(pOne.y, pTwo.y, .5);

可以在the reference找到更多信息。

答案 1 :(得分:2)

您可以使用

进行插值
x = (0, 1); // anything between 0 and 1
c = x * a + (1 - x) * b;

其中abc是积分。

答案 2 :(得分:0)

Java没有lerp所以这里它是如何工作的

float lerp(float point1, float point2, float dist) {
    return point1 + dist * (point2 - point1);
}