The representation of free-form surfaces by sufficiently refined polygonal meshes has become common in many geometric modeling applications where complicated objects have to be handled. While working with triangle meshes is flexible and efficient, there are difficulties arising prominently from the lack of infinitesimal smoothness and the prohibitive complexity of highly detailed 3D-models. In this paper we discuss the generation of fair triangle meshes which are optimal with respect to some discretized curvature energy functional. The key issues are the proper definition of discrete curvature, the smoothing of high resolution meshes by solving a sparse linear system that characterizes the global minimum of an energy functional. Results and techniques from differential geometry, variational surface design (fairing), and numerical analysis are combined to find efficient and robust algorithms that generate smooth meshes of arbitrary topology which interpolate or approximate a given set of data points.