[英]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;
其中a
, b
和c
是点。
Java没有lerp,所以这里是它的一般工作方式
float lerp(float point1, float point2, float dist) {
return point1 + dist * (point2 - point1);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.