Circle Packing study

Here is a short study on how to pack a circles from a random distribution of points (flat)

I will not describe the details because not so confident on the stability of the algorithm

the logic is

  • create a random distribution of points on a circle (1000 points)
  • generate the Voronoi diagram
  • create the maximum inscribed circle in each cell
    • create the straight skeleton of the cell
    • get the skeleton vertex which is the farthest to the cell boundary -> the inscribed circle is on one of the vertex
    • create a circle centered on it with radius, distance to the boundary
  • option: relaxing
    • loop above using the circle centers as new input for voronoi

reference

https://irc.cs.sdu.edu.cn/~shiqing/Pdfs/2018CirclePacking.pdf

my struggle: 

  • I got error with draft surface. draft surface of 45deg coud get the straight skeleton of the polygon very easily! but it is not done for that
  • then I chose a way with parallele curve, but again some issues and error handling was not easy

next step, on a surface! but I may wait for Christmas...not sure

With relax 5 times
wihout relax

applied to the Monkey