A distributed algorithm for Ad-hoc network partitioning based on Voronoi Tessellation