python已知直线上两个端点坐标,求任意等分点坐标 3C

已知直线上两个端点坐标,求任意等分点坐标,用什么方法或模块能实现?

4个回答

按比例算就可以了,有什么问题吗》?

大概写了下三等分的,没写过python
等分计算方式本身是很简单的,你看下就应该能明白

     ax = 5
    ay = 10
    bx = 50
    by = 20
    print ("第一个等分点:"),ax+(bx-ax)/3, ay+(by-ay)/3
    print ("第二个等分点:"),ax+(bx-ax)*2/3, ay+(by-ay)*2/3

用列表推导式,等下给你代码

'''
已知直线上两个端点坐标,求任意等分点坐标
'''
X1 = float(input('请输入第一个点坐标 x1:'))
Y1 = float(input('请输入第一个点坐标 y1:'))

X2 = float(input('请输入第二个点坐标 x2:'))
Y2 = float(input('请输入第二个点坐标 y2:'))

N = int(input('请输入等分份数 n:'))
'''
根据两点公式:
(x-x1)/(x2-x1)=(y-y1)/(y2-y1)
'''

def f(x):
y = (Y1*(X2-X1)+(x-X1)*(Y2-Y1))/(X2 - X1)
return y

AX = X2 - X1
AX = AX/N
for i in range(1,N):
print('x%d = %5.3f'%(i,(X1+i*AX)),'y%d = %5.3f'%(i,f((X1+(i*AX)))))

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐