繁体   English   中英

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

[英]How can I calculate a point between two given points in processing?

我有两个给定的坐标,例如(20,30)和(90,40)。 如何在这两点之间的线上找到一个点?

我需要在处理过程中执行此操作,但是一般的数学解决方案也会对我有所帮助。

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

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);

参考资料中可以找到更多信息。

您可以插值

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

其中abc是点。

Java没有lerp,所以这里是它的一般工作方式

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM