1 / 34

FiberMesh: Designing Freeform Surfaces with 3D Curves

FiberMesh: Designing Freeform Surfaces with 3D Curves. Andrew Nealen Takeo Igarashi Olga Sorkine Marc Alexa. TU Berlin The University of Tokyo TU Berlin TU Berlin. Problem Statement. 3D modeling from scratch is difficult. Sketching Produces simple, rough models. Parametric patches

Download Presentation

FiberMesh: Designing Freeform Surfaces with 3D Curves

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. FiberMesh: Designing Freeform Surfaces with 3D Curves Andrew Nealen Takeo Igarashi Olga Sorkine Marc Alexa TU Berlin The University of Tokyo TU Berlin TU Berlin

  2. Problem Statement • 3D modeling from scratch is difficult • SketchingProduces simple, rough models • Parametric patches • Subdivision surfacesInitial patch layout can be tedious

  3. We Try to Fill the Gap • 3D modeling from scratch is difficult • SketchingProduces simple, rough models • Parametric patches • Subdivision surfacesInitial patch layout can be tedious

  4. InspirationsSketch-Based Modeling • 3D Paint [Williams 90] • SKETCH[Zeleznik et al. 96] • Teddy[Igarashi et al. 99 and 03] • Variational implicits[Karpenko et al. 02] • ShapeShop [Schmidt et al. 05] • SmoothSketch [Karpenko and Hughes 06]

  5. FiberMeshOverview and Contributions • Curves as the user interface • The user‘s sketches are persistent, and used as a modeling handles • Topologically flexible = add / remove anywhere • Fast surface construction by (nonlinear) functional optimization • Incorporates curve constraints • Runs at interactive rates

  6. FiberMesh Demo

  7. Algorithm Overview Please see paper for details... • 3D curve deformation • Surface optimization Handle position Curve geometry Curve geometry Surface geometry

  8. Surface Optimization ?

  9. InspirationsCurve and Surface Optimization • Minimal energy networks [Moreton and Sequin1991] • Functional optimization [Moreton and Sequin 1992] • Variational surface modeling [Welch and Witkin 1992] • Shape design with triangulated surfaces [Welch and Witkin 1994] • What defines „smooth“ ?

  10. InspirationsCurve and Surface Optimization • Minimal energy networks [Moreton and Sequin1991] • Functional optimization [Moreton and Sequin 1992] • Variational surface modeling [Welch and Witkin 1992] • Shape design with triangulated surfaces [Welch and Witkin 1994] • What defines „smooth“ ?

  11. Surface OptimizationDiscrete Differential Geometry vi b a vj See work from Polthier, Desbrun, Meyer, Alliez, Grinspun, Schröder, etc.

  12. Laplacian operators Uniform Laplacian Lu(vi) Cotangent Laplacian Lc(vi) Mean curvature normal Surface OptimizationDiscrete Differential Geometry vi b a vj Ai

  13. Laplacian operators Uniform Laplacian Lu(vi) Cotangent Laplacian Lc(vi) Mean curvature normal Cotangent Laplacian = mean curvature normal xvertex area (Ai) For nearly equal edge lengthsUniform≈ Cotangent Surface OptimizationTwo Important Observations ! vi b a vj Ai

  14. Laplacian operators Uniform Laplacian Lu(vi) Cotangent Laplacian Lc(vi) Mean curvature normal Cotangent Laplacian = mean curvature normal xvertex area (Ai) For nearly equal edge lengthsUniform≈ Cotangent Surface OptimizationTwo Important Observations ! vi b a vj Ai

  15. Surface OptimizationLinear- or Nonlinear Optimization ? • Linear variational methods[Botsch and Sorkine 2007] • Instead: nonlinear optimization • Inspired by a discrete fairing algorithm • Geometric fairing of irregular meshes for free-form surface design [Schneider and Kobbelt 2002] result

  16. Current curvatures (scalar) =c ∙ n Positional constraints Scale unit normal vectors Iterate vertex positions Diffusion (smoothing) Target curvatures (scalar) Current geometry Resulting geometry c 0 = Lc Surface OptimizationOverview of a Single Step Unit normals Target mean curvature normals • Linear system • But: matrix recomputation • Iterative procedure not designed for interactive response

  17. Current curvatures (scalar) =c ∙ n Positional constraints Scale unit normal vectors Diffusion (smoothing) Target curvatures (scalar) Current geometry Resulting geometry c 0 Surface OptimizationOur Optimizations and Approximations Iterate vertex positions Target mean curvature normals Lu • Linear system • Reuse matrix factorization =

  18. Current curvatures (scalar) =c ∙ n Positional constraints Scale unit normal vectors Diffusion (smoothing) Target curvatures (scalar) Current geometry Resulting geometry x c 0 ? Surface OptimizationOur Optimizations and Approximations Solve least squares Target mean curvature normals Lu • Linear system • Reuse matrix factorization = Lu =

  19. Current curvatures (scalar) =c ∙ n Positional constraints Scale unit normal vectors Diffusion (smoothing) Target curvatures (scalar) Current geometry Resulting geometry x c 0 dc Surface OptimizationOur Optimizations and Approximations Solve least squares Target mean curvature normals Lu • Linear system • Reuse matrix factorization = Lu =

  20. Current curvatures (scalar) Positional constraints Scale unit normal vectors Diffusion (smoothing) Target curvatures (scalar) Current geometry Resulting geometry x c 0 dc Surface OptimizationOur Optimizations and Approximations =c ∙ n ∙ A Solve least squares Target cotan Laplacians = dc Lu • Linear system • Reuse matrix factorization = Lu =

  21. vi b a vj Surface OptimizationRequirements for our Approximations • We replace Lc with Lu in both steps • This a viable approximation for:

  22. vi b a vj Surface OptimizationRequirements for our Approximations • We replace Lc with Lu in both steps • This a viable approximation for: • (A) nearly equal edge lengths (smooth metric) • (B) nearly equal vertex areas

  23. x dc Surface OptimizationHow to Enforce (A) and (B) • Setting Lu(x) equal to dc improves inner fairness • Smooth the edge lengths • Constrain edge vectors Lu = [Nealen et al. 2006]

  24. Current curvatures Current edge lengths (scalar) (scalar) Positional constraints Target edge lengths (scalar) Diffusion (smoothing) Target curvatures (scalar) Current geometry Resulting geometry Surface OptimizationAdding Edge Vector Constraints to LS =c ∙ n ∙ A Solve least squares Scale vectors Target dc Unit edge vectors Target edge vectors

  25. Current curvatures Current edge lengths (scalar) (scalar) Positional constraints Target edge lengths (scalar) Diffusion (smoothing) Target curvatures (scalar) Current geometry Resulting geometry Surface OptimizationA Single Step of our Optimization =c ∙ n ∙ A Solve least squares Scale vectors Target dc Target edge vectors

  26. Results

  27. ResultsNovice User 15 min intructions + 20 minutes tryout

  28. Results2D Artist 15 min intructions + 10 minutes tryout

  29. Results2D Artist ... + 20 minutes tryout

  30. ResultsBase Model Creation

  31. DiscussionTo be Improved... • Takes a bit to learn the interface operations and their combinations • Larger meshes would be nice • Perhaps „freeze“ part of the meshIn general: entire mesh is optimized • Multigrid / Multiresolution acceleration techniques • Add more intuitive modeling operations:symmetry, vertex snapping, merging, etc.

  32. DiscussionSummary • We fill the gap between sketch and detailed modeling • Contributions: • Curves as handles: add/remove anytime, anywhere • Surface via nonlinear optimization • Approximate nonlinear problem by series of linear problems • diffuse cuvature and edge lengths to get target laplacians • move vertices to satisfy them • Supports skill transfer from 2D drawing to 3D modeling

  33. Thank You ! Download our demo!  http://www.cg.tu-berlin.de/fibermesh.html Andrew Nealen Takeo Igarashi Olga Sorkine Marc Alexa TU Berlin The University of Tokyo TU Berlin TU Berlin

  34. IdeasSummary • Use uniform edge lengths • Use “alpha” edge adding • Sketch onto occluded shapes • Allow “intrusions” and not only “extrusions

More Related