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
值,那么您将在同一条线上但在线段之外有一个点。
二维有两个点
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
值,那么您将在同一条线上但在线段之外有一个点。