Abstract
A novel approach is presented to deal with geometric computations while joining the efficiency of floating point representations with the robustness of exact arithmetic. Our approach is based on a hybrid geometric kernel where a floating point number is made fully interoperable with an exact rational number, so that the latter can be used only within critical parts of the program or within restricted portions of the input. The whole program can dynamically change the level of precision used to produce new values and to evaluate expressions. Around such a kernel, a mesh processing library has been implemented whose API functions can be classified depending on their precision as always exact, always approximated, or exact if the current level of precision is sufficient. Such a classification allows implementing algorithms with a full control of the robustness at an unprecedented level of granularity. Experiments show that this interoperability comes at a nearly negligible cost: on average, a test algorithm implemented on our hybrid kernel is just 8% slower than the same algorithm implemented on a standard floating point version of the same kernel while providing the possibility to be fully robust if necessary.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Shewchuk, J.R.: Lecture notes on geometric robustness. University of California at Berkeley (2013)
Shewchuk, J.R.: Adaptive precision floating-point arithmetic and fast robust geometric predicates. Discr. Comput. Geometry 18, 305–363 (1997)
Visual Computing Lab: Vcglib: visualization and computer graphics library. http://vcg.sourceforge.net
RWTH: Openmesh: visualization and computer graphics library. http://www.openmesh.org/
Granlund, T.: The GNU multiple precision arithmetic library. TMG Datakonsult, Boston, MA, USA (1996)
Karamcheti, V., Li, C., Pechtchanski, I., Yap, C.: A core library for robust numeric and geometric computation. In: Proceedings of the Fifteenth Annual Symposium on Computational Geometry, pp. 351–359. ACM (1999)
Mehlhorn, K., Naher, S.: Leda: a platform for combinatorial and geometric computing. Commun. ACM 38, 96–103 (1995)
Attene, M.: Direct repair of self-intersecting meshes. Graph. Models 76, 658–668 (2014)
Pion, S., Fabri, A.: A generic lazy evaluation scheme for exact geometric computations. Sci. Comput. Program. 76, 307–323 (2011)
Yap, C.: Robust geometric computation. In: Goodman, J.E., O’Rourke, J. (eds.) Handbook of Discrete and Computational Geometry, 2nd edn. CRC Press, LLC, Boca Raton (2004)
Goldberg, D.: What every computer scientist should know about floating-point arithmetic. ACM Comput. Surv. 23, 5–48 (1991)
Loop, C.: Smooth subdivision surfaces based on triangles. Department of Mathematics, The University of Utah, Master Thesis (1987)
Campen, M., Attene, M., Kobbelt, L.: A practical guide to polygon mesh repairing. In: EUROGRAPHICS Tutorials, Eurographics, May 2012
Acknowledgements
This work has been partly supported by the international joint project on Mesh Repairing for 3D Printing Applications funded by Software Architects Inc (WA, USA). Thanks are due to the SMG members at IMATI for helpful discussions.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer-Verlag GmbH Germany
About this chapter
Cite this chapter
Attene, M. (2017). ImatiSTL - Fast and Reliable Mesh Processing with a Hybrid Kernel. In: Gavrilova, M., Tan, C. (eds) Transactions on Computational Science XXIX. Lecture Notes in Computer Science(), vol 10220. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-54563-8_5
Download citation
DOI: https://doi.org/10.1007/978-3-662-54563-8_5
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-54562-1
Online ISBN: 978-3-662-54563-8
eBook Packages: Computer ScienceComputer Science (R0)