知道平面范围为500x500
假设a点坐标为ax=10 ay=12 b点坐标为bx=110 by=130
求b点到a点直线的所有坐标值
(要求算法简单明了)
python求两点直线坐标
答案:2 悬赏:50 手机版
解决时间 2021-03-10 22:37
- 提问者网友:两耳就是菩提
- 2021-03-10 10:04
最佳答案
- 五星知识达人网友:撞了怀
- 2021-03-10 11:27
#判断斜率是否相等.
#即点(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)]
#即点(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)]
全部回答
- 1楼网友:我住北渡口
- 2021-03-10 12:38
#判断斜率是否相等.
#即点(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)]我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯