A method of determining fibers paths for a composite ply includes generating a triangulated surface of the composite ply, and defining a first unit vector field establishing a 0-degree direction for the triangulated surface. A second unit vector field is defined by rotating, through specified fiber angles measured relative to the 0-degree direction, the first unit vector field about surface normals of the triangulated surface. A third unit vector field representing a gradient direction of a potential function is defined by rotating the second unit vector field over 90° about the respective surface normals. The third unit vector field is scaled to create a non-unit vector field, and a first potential function is determined by performing a least-squares fit such that the direction and magnitude of the gradient best approximate the direction and the magnitude of the non-unit vector field. A normalization of the potential function uniformly distributes contour lines of the potential function across the triangula