可以使用以下方法计算直线上间隔特定距离的点的坐标:

  1. 确定直线的两个点坐标,假设为'(x1, y1)'和'(x2, y2)'。
  2. 计算直线的斜率k = (y2 - y1) / (x2 - x1)。
  3. 计算直线的截距b = y1 - k * x1。
  4. 确定间隔距离d。
  5. 从起始点'(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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录