给定具有半径r1 ... rn的n个圆,以这样的方式定位它们,使得没有圆重叠并且边界圆具有"小"半径.
程序将列表[r1,r2,... rn]作为输入并输出圆的中心.
目的是提出给定圆圈的视觉上令人愉悦的布置,其可以适合更大的圆圈并且不留下太多的空白空间.(如色盲测试图中的圆圈).

你可以使用下面的Python代码作为起点(这个代码需要numpy和matplotlib - linux上的"sudo apt-get install numpy matplotlib")...
import pylab
from matplotlib.patches import Circle
from random import gauss, randint
from colorsys import hsv_to_rgb
def plotCircles(circles):
# input is list of circles
# each circle is a tuple of the form (x, y, r)
ax = pylab.figure()
bx = pylab.gca()
rs = [x[2] for x in circles]
maxr = max(rs)
minr = min(rs)
hue = …Run Code Online (Sandbox Code Playgroud)