使用 python 实现 Voronoi 图

来源:互联网 发布:网络层的服务访问点叫 编辑:程序博客网 时间:2024/05/07 08:35
以下程序 使用python实现 Voronoi图
from PIL import Imageimport randomimport math def generate_voronoi_diagram(width, height, num_cells):image = Image.new("RGB", (width, height))putpixel = image.putpixelimgx, imgy = image.sizenx = []ny = []nr = []ng = []nb = []for i in range(num_cells):nx.append(random.randrange(imgx))ny.append(random.randrange(imgy))nr.append(random.randrange(256))ng.append(random.randrange(256))nb.append(random.randrange(256))for y in range(imgy):for x in range(imgx):dmin = math.hypot(imgx-1, imgy-1)j = -1for i in range(num_cells):d = math.hypot(nx[i]-x, ny[i]-y)if d < dmin:dmin = dj = iputpixel((x, y), (nr[j], ng[j], nb[j]))image.save("VoronoiDiagram.png", "PNG")        image.show() generate_voronoi_diagram(500, 500, 25)




2 0