Skip to main content
Log in

The PSurface library

  • Published:
Computing and Visualization in Science

Abstract

We describe PSurface, a C\(++\) library that allows to store and access piecewise linear maps between simplicial surfaces in \(\mathbb{R }^2\) and \(\mathbb{R }^3\). Piecewise linear maps can be used, e.g., to construct boundary approximations for finite element grids, and grid intersections for domain decomposition methods. In computer graphics the maps allow to build level-of-detail representations as well as texture- and bump maps. The PSurface library can be used as the basis for the implementation of a wide range of algorithms that use piecewise linear maps between triangulated surfaces. A few simple examples are given in this work. We document the data structures and algorithms and show how PSurface is used in the numerical analysis framework Dune and the visualization software Amira.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15

Similar content being viewed by others

Notes

  1. Here and in the following, the types array, size_t, and vector refer to the types std::array, std::size_t, and std::vector from the C++ standard library.

  2. The PSurface library itself provides reading and writing facilities for PSurface objects in the AmiraMesh format [30]. The precise format is described in a text file distributed with the source code.

  3. www.dune-project.org.

  4. At the time of writing, the actual handling of parametrized boundaries in dune–grid has not been standardized yet. Therefore the details are still subject to change. Please consult the dune–grid documentation at www.dune-project.org for up-to-date information.

  5. www.amira.com.

  6. www.tcl.tk.

  7. www.paraview.org/.

References

  1. Alexa, M.: Merging polyhedral shapes with scattered features. Vis. Comput. 16(1), 26–37 (2000)

    Article  MATH  Google Scholar 

  2. Bastian, P., Birken, K., Johannsen, K., Lang, S., Neuß, N., Rentz-Reichert, H., Wieners, C.: UG—a flexible software toolbox for solving partial differential equations. Comput. Vis. Sci 1, 27–40 (1997)

    Article  MATH  Google Scholar 

  3. Bastian, P., Blatt, M., Dedner, A., Engwer, C., Klöfkorn, R., Kornhuber, R., Ohlberger, M., Sander, O.: A generic interface for parallel and adaptive scientific computing. Part II: Implementation and tests in DUNE. Computing 82(2–3), 121–138 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  4. Bastian, P., Buse, G., Sander, O.: Infrastructure for the coupling of Dune grids. In: Proceedings of the Enumath ’09, pp. 107–114 (2010)

  5. Brown, P.J., Faigle, C.T.: A robust efficient algorithm for point location in triangulations. Technical report, Cambridge University (1997)

  6. Cohen, J. Olano, M., Manocha, D.: Appearance-preserving simplification. SIGGRAPH, pp. 115–122 (1998)

  7. Diestel, R.: Graphentheorie, 3rd edn. Springer, Berlin (2006)

    MATH  Google Scholar 

  8. Duchamp, T., Certain, A., DeRose, A., Stuetzle, W.: Hierarchical computation of PL harmonic embeddings. Technical report, University of Washington (1997)

  9. Floater, M.S.: Parametrization and smooth approximations of surface triangulations. Comput. Aided Geom. Des. 14, 231–250 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  10. Floater, M.S.: Mean value coordinates. Comp. Aided Geom. Design 20, 19–27 (2003)

    Article  MathSciNet  MATH  Google Scholar 

  11. Floater, M.S., Hormann, K.: Surface parameterization: a tutorial and survey. In: Dodgson, N.A., Floater, M.S., Sabin, M.A. (eds.) Advances in Multiresolution for Geometric Modelling, pp. 157–186. Springer, Berlin (2005)

    Chapter  Google Scholar 

  12. Guskov, I., Khodakovsky, A., Schröder, P., Sweldens, W.: Hybrid meshes: multiresolution using regular and irregular refinement. In: SCG ’02: Proceedings of the eighteenth annual symposium on, Computational geometry, pp. 264–272 (2002)

  13. Guskov, I., Vidimče, K., Sweldens, W., Schröder, P.: Normal meshes. In: SIGGRAPH (2000)

  14. Hormann, K., Greiner, G.: MIPS: an efficient global parametrization method. In Curve and Surface Design: Saint-Malo 1999 (Innovations in, Applied Mathematics, pp. 153–162) (2000)

  15. Kikuchi, N., Oden J.: Contact problems in elasticity. SIAM (1988)

  16. Kobbelt, L., Campagna S., Seidel, H.-P.: A general framework for mesh decimation. In: Graphics Interface Proceedings, pp. 43–50 (1998)

  17. Kraevoy, V., Sheffer, A.: Cross-parameterization and compatible remeshing of 3D models. ACM Trans. Graph. 23(3), 861–869 (2004)

    Article  Google Scholar 

  18. Krause, R., Sander, O.: Fast solving of contact problems on complicated geometries. In: K, R. et al. (ed.) Domain Decomposition Methods in Science and Engineering, pp. 495–502. Springer, Berlin (2005)

  19. Krause, R., Sander, O.: Automatic construction of boundary parametrizations for geometric multigrid solvers. Comp. Vis. Sci 9, 11–22 (2006)

    Article  MathSciNet  Google Scholar 

  20. Lamecker, H.: Variational and Statistical Shape Modeling for 3D Geometry Reconstruction. PhD thesis, Freie Universität Berlin, (2008)

  21. Lee, A.W.F., Sweldens, W., Schröder, P., Cowsar, L., Dobkin D.: MAPS: Multiresolution adaptive parametrization of surfaces. In SIGGRAPH, pp. 95–104 (1998)

  22. Liu, L., Zhang, L., Xu, Y., Gotsman, C., Gortler, S.J.: A local/global approach to mesh parameterization. Comput. Graph. Forum 27(5), 1495–1504 (2008)

    Article  Google Scholar 

  23. Maruya, M.: Generating a texture map from object-surface texture data. Comput. Graph. Forum 14(3), 397–406 (1995)

    Article  Google Scholar 

  24. Sander, O.: Constructing boundary and interface parametrizations for finite element solvers. Diplomarbeit, Freie Universität Berlin (2001)

  25. Sander, O.: Multidimensional coupling in a human knee model. PhD thesis, Freie Universität Berlin (2008)

  26. Schreiner, J., Asirvatham, A., Praun, E., Hoppe, H.: Inter-surface mapping. ACM Trans. Graph. 23(3), 870–877 (2004)

    Article  Google Scholar 

  27. Sheffer, A., Praun, E., Rose, K.: Mesh parameterization methods and their applications. Found. Trends Comput. Graph. Vis. 2(2), 105–171 (2006)

    Article  Google Scholar 

  28. Stalling, D., Westerhoff, M., Hege, H.-C.: Amira: a highly interactive system for visual data analysis. In: Hansen, C., Johnson, C. (eds.) The Visualization Handbook, Chapter 38, pp. 749–767. Elsevier, Amsterdam (2005)

    Chapter  Google Scholar 

  29. The Visible Human Project. http://www.nlm.nih.gov/research/visible/visible_human.html

  30. Visage Imaging. Amira 5 Developer’s Guide. http://www.vsg3d.com/amira/overview

  31. Wohlmuth, B.I.: Discretization Methods and Iterative Solvers Based on Domain Decomposition, Volume 17 of LNCSE. Springer, Berlin (2001)

    Book  Google Scholar 

Download references

Acknowledgments

This work was supported by the DFG research center Matheon.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Oliver Sander.

Additional information

Communicated by Gabriel Wittum.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Sander, O. The PSurface library. Comput. Visual Sci. 14, 353–370 (2011). https://doi.org/10.1007/s00791-013-0193-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00791-013-0193-4

Keywords

Navigation