1. Reverse engineering of CAD models via clustering and approximate implicitization
- Author
-
Georg Muntingh, Oliver J. D. Barrowclough, and Andrea Raffo
- Subjects
FOS: Computer and information sciences ,Reverse engineering ,Computer Science - Machine Learning ,Aerospace Engineering ,Machine Learning (stat.ML) ,CAD ,02 engineering and technology ,Isogeometric analysis ,computer.software_genre ,01 natural sciences ,Machine Learning (cs.LG) ,Computer Science - Graphics ,Statistics - Machine Learning ,FOS: Mathematics ,0202 electrical engineering, electronic engineering, information engineering ,Computer Aided Design ,Mathematics - Numerical Analysis ,Algebraic number ,Cluster analysis ,Mathematics ,computer.programming_language ,020207 software engineering ,Numerical Analysis (math.NA) ,Python (programming language) ,Computer Graphics and Computer-Aided Design ,Graphics (cs.GR) ,0104 chemical sciences ,010404 medicinal & biomolecular chemistry ,Exact results ,Modeling and Simulation ,Automotive Engineering ,65D17, 68U07, 62H30 ,computer ,Algorithm - Abstract
In applications like computer aided design, geometric models are often represented numerically as polynomial splines or NURBS, even when they originate from primitive geometry. For purposes such as redesign and isogeometric analysis, it is of interest to extract information about the underlying geometry through reverse engineering. In this work we develop a novel method to determine these primitive shapes by combining clustering analysis with approximate implicitization. The proposed method is automatic and can recover algebraic hypersurfaces of any degree in any dimension. In exact arithmetic, the algorithm returns exact results. All the required parameters, such as the implicit degree of the patches and the number of clusters of the model, are inferred using numerical approaches in order to obtain an algorithm that requires as little manual input as possible. The effectiveness, efficiency and robustness of the method are shown both in a theoretical analysis and in numerical examples implemented in Python.
- Published
- 2020
- Full Text
- View/download PDF