簡體   English   中英

蟒蛇。 如何在拉伸(線段)2D中找到點?

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

2D有兩點

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

這兩點之間有牽扯:

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

如何在該拉伸中的任意位置找到點(x3,y3)?

所謂的“拉伸”是線段 ,然后使用math.hypot計算其范數(或長度,如果可以)。

對於介於0和1之間的任何t ,點(x1 + t*(x2-x1), y1 + t*(y2-y1))是線段的一部分。 特別是,當t = 0您的點將是(x1,y1)而當t = 1您的點將是(x2,y2)

如果您在間隔[0,1]之外使用t值,那么您將在同一條線上但在線段之外有一個點。

如果要在P1P2線段上得到一些點,可以使用線性插值方程:

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

其中t在0..1范圍內

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM