2D中有两点
point1 = (x1, y1)
point2 = (x2, y2)
这两点之间存在拉伸:
stretch = math.hypot(x2 - x1, y2 - y1)
如何在该strech中的任何位置找到点(x3,y3)?
答案 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