Centroidal Voronoi Tessellations For Mesh Generation: From Uniform To Anisotropic Adaptive Triangulations