A Voronoi region can be interpreted as the shape achieved by a crystal that grows from a seed and stops growing when it reaches either the domain boundary or another crystal. This analogy is exploited here to devise a method for the generation of anisotropic boundary-conforming Voronoi regions for a set of points. This is achieved by simulating the propagation of crystals as evolving fronts modeled by a level set method. The techniques to detect the collision of fronts (crystals), formation of interfaces between seeds, and treatment of boundaries as additional (inner or outer) restricting seeds are described in detail. The generation of anisotropic Voronoi regions consistent with a user-prescribed Riemannian metric is achieved by re-interpreting the metric tensor in terms of the speed of propagation normal to the boundary of the crystal. This re-interpretation offers a better means of restricting metric fields for mesh generation.