Surfaces of many engineering structures, especially those of ships and airplanes, are commonly fabricated as either single- or double-curved surfaces to meet functional requirements. The first step in the fabrication process of a three-dimensional design surface is unfolding or flattening the surface, otherwise known as planar development, so that manufacturers can determine the initial shape of the flat plate. Also a good planar development enables the manufacturer to estimate the strain distribution required to form the design shape. In this paper, an algorithm for optimal approximated development of a general curved surface, including both single- and double-curved surfaces, is established by minimizing the strain energy of deformation from its planar development to the design surface. The unfolding process is formulated into a constrained nonlinear programming problem, based on the deformation theory and finite element. Constraints are subjected to the characteristics of the fabrication method. Some typical surfaces, such as convex-, saddle-, and cylinder-type ones, as well as the surfaces of practical ships are unfolded using the proposed algorithm and the results show the effectiveness of this algorithm.