首页 > 解决方案 > 给定2个坐标,在它们之间画一条线

问题描述

我已经给出了两个坐标 (x1,y1) 和 (x2,y2),并且想在给定函数 drawdot(x,y) 的情况下在它们之间画一条线。所以为了让它看起来像我画一条线,我只想在两点之间画 100 个点。我该怎么做,我猜它只是 ay = ax + b 问题,但我无法让它工作。

谢谢

标签: pythoncoordinateslinear-algebra

解决方案


您需要从点到点获取酉向量AB然后对其进行缩放n

我将创建一个函数来返回需要绘制的点(坐标对)。

def drawLine(x1, y1, x2, y2, n):
    v = (x2 - x1, y2 - y1)
    length = math.sqrt(v[0]**2, v[1]**2)
    unitary = (v[0]/length, v[1]/length)
    return [(x1 + unitary[0]*i, y1 + unitary[1]*i) for i in range(n)]

推荐阅读