如果你只是需要用它来做可视化,你可以直接使用 PyGame。这里我只是创建了一种在点之间画线的方法,这应该足以让你更好地理解。
创建窗口
import pygame
size = 500
pygame.init()
window = pygame.display.set_mode((size, size))
创建网格
n = 3
grid = []
for i in range(n):
for j in range(n):
grid.append((i*size//n + size//n//2, j*size//n+size//n//2))
创建并绘制线条
start_point = None
end_point = None
line_points = []
running = True
while running:
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
elif event.type == pygame.MOUSEBUTTONDOWN:
mouse_pos = pygame.mouse.get_pos()
closest_point = min(grid, key=lambda x: ((x[0]-mouse_pos[0])**2 + (x[1]-mouse_pos[1])**2)**0.5)
start_point = closest_point
elif event.type == pygame.MOUSEBUTTONUP:
mouse_pos = pygame.mouse.get_pos()
closest_point = min(grid, key=lambda x: ((x[0]-mouse_pos[0])**2 + (x[1]-mouse_pos[1])**2)**0.5)
end_point = closest_point
line_points.append((start_point, end_point))
start_point = None
end_point = None
for point in grid:
pygame.draw.circle(window, (0, 0, 255), point, 10)
for start, end in line_points:
pygame.draw.line(window, (255, 0, 0), start, end, 5)
pygame.display.update()
pygame.quit()
祝你的项目好运!