蟒蛇。如何在拉伸(线段)2D中找到一个点?

时间:2015-01-06 16:56:52

标签: python math

2D中有两点

point1 = (x1, y1)
point2 = (x2, y2)

这两点之间存在拉伸:

stretch = math.hypot(x2 - x1, y2 - y1)

如何在该strech中的任何位置找到点(x3,y3)?

2 个答案:

答案 0 :(得分:3)

你所谓的“拉伸”是line segment,你用math.hypot

计算它的标准(或长度,如果你愿意)

对于介于0和1之间的任何t,点(x1 + t*(x2-x1), y1 + t*(y2-y1))是线段的一部分。特别是,对于t = 0,您的观点将是(x1,y1),而t = 1,您的观点将是(x2,y2)

如果您使用区间t之外的[0,1]值,那么您将在同一行上有一个点但在该段之外。

答案 1 :(得分:2)

如果你想在P1P2段上找到一些点,你可以使用线性插值方程:

x3 = x1 + t * (x2 - x1)
y3 = y1 + t * (y2 - y1)

其中t的范围为0..1