Free Form Surface Deformation based on Minimization of different Energy Functionals Erhan Batuhan Arisoy Abstract: In product design, designers usually create a rich set of concept sketches as a part of the idea creation and exploration process. Transforming these sketches into 3D digital models using existing Computer Aided Design (CAD) tools requires both special expertise and time. Although recent advances in sketch based user interfaces and virtual environments have brought novel curve creation tools at idea creation and exploration steps, creation of surfaces and required post processing operations for such data remains still an open challenge. To this end, in this project we will study optimization based post processing operation with different cost functions for free form surfaces. Our method takes as input a vector of 3D positions of vertices forming a free form surface and calculates a new 3D position for each of them while minimizing a specific objective function such as curvature or variation of curvature information. According to different objective functions, the resulting surfaces will have different shapes and properties. In this project we hope that studying the effects of different objective functions will be useful for inexperienced users in order to reach their intended design. 1. Introduction: Recent advances in 3D product form design have resulted in a large number of computer softwares suitable for a wide variety of modeling operations. However, many of these tools require high experience and a good understanding of underlying mathematics for various geometric operations. Due to these challenges, many designers still prefer to utilize conventional methods like thumbnail sketches for idea generation and exploration instead of existing CAD tools. As a consequence, only a small set of ideas and design candidates are explored. Figure 1 represents current design cycle where the idea creation and detailed modeling phases are considered in 2 different steps. To alleviate these difficulties, recent studies focused on direct 3D modeling techniques. A body of work targeted 3D geometry creation methods using sketch-based interfaces. However, although these studies improved current design experience, they still require careful control for detail creation and post processing operations such as smoothing. In this project, we will focus on optimization based free form surface deformation operations with different cost functions. The key point in this project is analyzing deformation behaviors with different energy functionals. In other words, it is important for the users to know which cost function will create similar deformations that they have in their minds. The energy functionals we are interested in are derived from first and second order surface information and following contributions are expected. 1- Studying effects of different energy functional for surface deformation 2- Comparing these different effects and combining different cost functions in order to reach desired surface properties and shapes In order to achieve these contributions, we need knowledge of surface energy types, different optimization techniques, implicit and parametric forms for surface representation and curvature information. 2. Related Work: Using optimization based post processing operations for surface deformation has been an active area of research for product form design. Recent works have explored the effect of minimization of variation of curvatures which is derived from second order surface information. Carlos presented such a study where different cost functions are analysed for surface deformation [1, 2]. Figure 2 illustrates the results obtained using bending energy, variation of curvature and variation of curvature with cross terms as objective function for the optimization problem. Figure 1 Optimization based deformation examples According to figure 2, each cost function results in different surface properties. For example, minimization of bending energy fills out the previously existing holes, whereas variation of curvature minimization preserves existing holes. 3. Technical Details: 3.1 Overview: In this project, the input to our algorithm would be a list of vertex positions of a free form surface and the output would be the updated vertex positions after the optimization process based on a certain energy functional. Figure 3 illustrates different steps of our algorithm. Figure 2 Overview of our method First of all, our algorithm will fit a quadratic or cubic implicit surface to the neighborhood of each vertex. Then, for each vertex using the fitted surface information principle curvatures are calculated and using this curvature information the value of cost function will be determined. We can also embed user provided constraints into our optimization problem. In other words, we can fix the positions of some vertices which we do not want to move anywhere. Afterwards, MATLAB fmincon function is employed for the optimization task and using updated vertex positions new surface will be visualized. 3.2 Surface fitting: In order to fit an implicit surface, we are using one ring neighborhood of each vertex, since we have 76 unknowns in our surface representation, to solve this problem we are using 6 neighbors of each vertex. Following figure illustrates the calculation of coefficients for local implicit surface representations. Z c(1) X 2 c(2) XY c(3) X c(4)Y 2 c(5)Y c(6) . . xi2 . . . . . . . . . 2 i xi yi xi y yi . . . . A X b QR X b X=R\(Q' b) c(1) . c(2) . c(3) 1 Z c(4) . c(5) c(6) Q is unitary matrix R is upper triangular matrix Figure 3 Surface fitting formulas According to our observations, quadratic surface fitting is more suitable for vertices close to object boundaries, since a cubic polynomial fit will create unstable surface results. Figure 5 illustrates the surface fitting results for a vertex close to surface boundaries on the second row and the similarity between the quadratic and cubic fit for a vertex far away from the surface boundaries on the first row. So, we decided to use a quadratic surface fitting algorithm in order to represent local neighborhood of each vertex. However, a quadratic fit prevented us from calculation of higher order surface properties. Hence, in this study we will only consider cost functions with second order surface information. Figure 4 Surface fittting examples 3.3 Calculation of Principle Curvatures: Before studying different cost functions, we have to calculate curvature values for each vertex on the input surface. Curvature is defined as the reciprocal of the osculating circle at a point and principle curvatures are the maximum and minimum values of these values in any direction. Figure 5 Principle, gaussian and mean curvatures In order to calculate these values, we fit an implicit quadratic surface to the neighborhood of each vertex. The challenge due to an implicit surface representation is that the calculation of curvature values requires a lot of computational effort. Goldman studied necessary formulas for principle curvature calculations using implicit surfaces. The calculation of curvatures consists of 3 main steps. First of all, the gradient at the vertex position on the surface f should be calculated in each direction and then the hessian matrix H ( f ) has to be computed using these gradient values. In the last step, the adjoint of the hessian matrix H *( f ) should be calculated. Following formulas are used to calculate Gaussian, Mean and principle curvatures [3]. Figure 6 Curvature calculation formulas 3.4 Optimization: The optimization task is performed by MATLAB’s fmincon built-in function, which uses a gradient based method for finding local minimum. The number of design variables are three times the number of the vertices on the free form surface and we can also provide upper and lower boundaries for design parameters. Moreover, we are also able to fix positions of some vertices whose positions we don’t want to update. The time required to reach an optimum depends heavily on the number of vertices as expected. For 50 vertices, in other words 150 design variables, it takes around 1 hour to reach a local optimum point. The surface fitting part to the local neighborhood of each vertex is the most time consuming step in the optimization process. For 1500 vertices (4500 variables), it took around 1 day and no feasible solution was obtained. 3.5 Cost functions: There might be different candidates for cost functions. The most common objective function to be minimized are the bending energy which is the area integral of the sum of the square of the principle curvatures, mean curvature, Gaussian curvature and variation of curvatures. Figure 7 Bending energy Actually Gaussian curvature could be considered as constant, if the underlying topology of the input surface kept constant during the optimization procedure. Hence, minimization of bending energy turns out to be similar to the minimization of mean curvature values. Figure 8 Variation of curvature energy functionals For minimization of bending energy, we expect that every surface point is as umbilic as possible; final shapes can be bulgy with spherical regions. For minimization of variation of curvature without cross terms we expect that inline normal curvature variation is minimized along lines of curvature at every surface point; final shapes have cyclide-like properties. If we also add cross terms to the objective function, total normal curvature variation is minimized along lines of curvature at every surface point; final shapes are as spherical or cylindrical as possible. Following figure illustrates effects of different objective function for the same input surface. [1] Figure 9 Example deformations based on different cost functions 4. Results and Discussions: First of all, we applied our algorithm using mean curvatures as our cost function. We expected a selected region on a sphere would be flat. The results are consistent with our expectations. Following figure illustrates the deformation using mean curvature minimization. Figure 10 Mean curvature minimization Secondly, we applied our algorithm using Gaussian curvature as our objective function on a surface region close to the object boundaries. We expected to have a slight chance in the position list of selected vertices, since according to the gaussian curvature formula flat regions should stay flat in order to minimize the objective function. Following figure represents the result for mean curvature minimization. Figure 11 Gaussian curvature minimization Finally, we also tried to deform the input sphere using minimization of bending energy which is nothing more than minimization of curvature. The resulting deformation was really very similar to our previous results as follows. Figure 12 Bending energy minimization In order to decrease computation time we have applied this minimization problem only on a selected region on a sphere. However, we obtained some weird triangles at the transition between the selected region and the rest of the surface. Moreover, second order implicit surface fitting is not enough to calculate curvature accurately. Instead of implicit surfaces, parametric surfaces such as Bsplines should be employed which will also significantly reduce the number of design variables. In that case, we would be able to study the effects of minimization of higher order surface properties such as variation of curvatures and optimization time will be significantly lower than its current state due to the decrease in the number of design variables. In case of a parametric surface fitting, the only design parameters would be control points of the underlying surfaces. 5. Conclusion and Future Work: In this project, we studied deformation of free form surfaces using optimization based on different cost functions. The results we obtained were consistent with our expectations, however due to the implicit surface fitting step it was not possible to study cost functions related to 3rd order surface information such as variation of curvatures. Moreover, the curvatures calculated using fitted surfaces to local neighborhood of each vertex might not be correct under all circumstances, since the position of the vertex on the surface is also an important factor for curvature calculation such as being close to object boundaries. In the future, a parametric surface fitting step could be implemented and higher order surface information could be employed to study optimization based free form deformation. References [1] Joshi, P., and Séquin, C., 2007. “C.: Energy minimizers for curvature-based surface functionals”. [2] Moreton, H. P., 1992. “Minimum curvature variation curves, networks, and surfaces for fair free-form shape design”. PhD thesis, Berkeley, CA, USA. UMI Order No. GAX93-30652. [3] Ron Goldman, Computer Aided Geometric Design .,2005, ”Curvature formulas for implicit curves and surfaces”.