python求两点直线坐标

2025-03-23 12:06:54
推荐回答(1个)
回答1:

#判断斜率是否相等.
#即点(cx,cy)是不是在点(ax,ay)和点(bx,by)确定的直线上.
def issame(ax,ay,bx,by,cx,cy):
  kac=(ax-cx)*(cy-by)
  kbc=(cx-bx)*(ay-cy)   
  return kac==kbc

#获取点(ax,ay)和点(bx,by)确定的直线上所有的点的坐标
def getall(ax,ay,bx,by):
  res=[]
  for cx in range(500):
    for cy in range(500):
      if issame(ax,ay,bx,by,cx,cy):
        res.append((cx,cy))
  return res

#斜率为100的直线
print(getall(0,0,1,100))

结果:

>>> 
[(0, 0), (1, 100), (2, 200), (3, 300), (4, 400)]