用python写一个输入4个坐标,依次连线,将连线加宽2个单位后,形成闭合图形,输出图形坐标的程序
时间: 2024-05-11 21:14:35 浏览: 81
这是一个简单的Python程序,可以实现输入4个坐标,连线,加宽后形成闭合图形,输出图形坐标。
```
import numpy as np
# 输入4个坐标
x1, y1 = map(int, input("请输入第1个点的坐标(x,y):").split(','))
x2, y2 = map(int, input("请输入第2个点的坐标(x,y):").split(','))
x3, y3 = map(int, input("请输入第3个点的坐标(x,y):").split(','))
x4, y4 = map(int, input("请输入第4个点的坐标(x,y):").split(','))
# 连线
points = np.array([[x1,y1], [x2,y2], [x3,y3], [x4,y4], [x1,y1]])
# 加宽2个单位
width = 2
n = len(points)
for i in range(n-1):
p1 = points[i]
p2 = points[i+1]
dx = p2[0] - p1[0]
dy = p2[1] - p1[1]
norm = np.sqrt(dx**2 + dy**2)
if norm > 0:
dx *= width/norm
dy *= width/norm
points[i] = [p1[0] + dy, p1[1] - dx]
# 输出图形坐标
print(points)
```
运行程序后,依次输入4个坐标,程序会自动计算出连线后的坐标,并加宽2个单位,最后输出闭合图形的坐标。
阅读全文