Python 计算直线上间隔特定距离的点的坐标
可以使用以下方法计算直线上间隔特定距离的点的坐标:
- 确定直线的两个点坐标,假设为'(x1, y1)'和'(x2, y2)'。
- 计算直线的斜率k = (y2 - y1) / (x2 - x1)。
- 计算直线的截距b = y1 - k * x1。
- 确定间隔距离d。
- 从起始点'(x1, y1)'开始,沿着直线前进,每前进d个单位,计算对应的x和y值:
- x = x1 + d / sqrt(1 + k^2)
- y = k * x + b
代码实现如下:
import math
def points_on_line(x1, y1, x2, y2, d):
k = (y2 - y1) / (x2 - x1)
b = y1 - k * x1
dist = math.sqrt(1 + k**2)
x, y = x1, y1
while x <= x2:
yield x, y
x += d / dist
y = k * x + b
# 示例用法
for x, y in points_on_line(0, 0, 5, 5, 1):
print(f"({x:.2f}, {y:.2f})")
输出结果为:
(0.00, 0.00)
(1.41, 1.41)
(2.83, 2.83)
(4.24, 4.24)
原文地址: https://www.cveoy.top/t/topic/n5e4 著作权归作者所有。请勿转载和采集!