project report

advertisement
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
QR 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”.
Download