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

Python. How to find a point in the stretch(line segment) 2D?

二维有两个点

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

这两点之间有拉伸:

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

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

如果想得到位于P1P2段上的点,可以使用线性插值方程:

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

其中 t 在范围 0..1

你所说的"stretch"是一个line segment, and you compute its norm (or length, if you will) with math.hypot

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

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