Abstract
This paper deals with one particular type of solid model representation. Constructive solid geometry (CSG) describes solids in terms of primitive shapes combined by Boolean operators. The goal of this paper is to present an algorithm suitable for the visualization of a given CSG-object for verification purposes. To accomplish this, the CSG representation is to be converted into a polygonal boundary representation (B-Rep), which allows the easy display of the solid's visible edges and surfaces. An algorithm performing this conversion is called a “boundary evaluator.” This paper describes the fundamental concepts leading to this new algorithm and presents some examples.
The boundary evaluator described here follows the following steps: (1) A polygonal mesh is created that covers the primitive shapes. (2) Interfering polygons are repertedly subdivided until the resulting mesh contains the intersection curves between the primitives. (3) The location and validity of all polygons must be determined since only valid polygons reflect the solid's final shape. (4) Adjoining coplanar polygons are collected and merged by deleting their common edges. The final result of this procedure is a consistent, nonredundant polygon mesh describing the given solid model. Now the object may be displayed by simple perspective plots, by isometric projections, by hidden line drawings, or through the use of hidden surface removal techniques as color-shaded pictures. The algorithm presented here has been successfully used to create a variety of renderings of various CSG-models. The interpretation, display, and validation of computer-generated CSG models is essential for the successful use of such models in the engineering design process.
Similar content being viewed by others
References
Requicha, A.A.G. (1977) Mathematical Models of Rigid Solid Objects. Technical Memorandum 28, Production Automation Project, University of Rochester, NY
Requicha, A.A.G.; Voelcker, H.B. (1977) Constructive Solid Geometry. Technical Memorandum 25, Production Automation Project, University of Rochester, NY
Boyse, F.W.; Gilchrist, F.E. (1982) GMSolid: Interactive modeling for design and analysis of solids.” IEEE Comput. Graph. Appl. 2(2), 27–40
Samet, H.; Tamminen, M. (1983) Bintrees, CSG-trees, and time. ACM Siggraph 19(3), 121–130
Yamaguchi, F.; Tokieda, T. (1985) Bridge edge and triangulation approach in solid modeling. In: Frontiers in Computer Graphics (Ed. T.L. Kunii). Proceedings of Computer Graphics Tokyo 1984. New York: Springer-Verlag, pp. 44ff
Chiyokura, H.; Kimura, F. (1985) A representation of solid design process using basic operations. In: Frontiers in Computer Graphics. (T.L. Kunii). Proceedings of Computer Graphics Tokyo 1984. New York: Springer-Verlag, pp. 26–43.
Mortenson, M.E. (1985) Geometric Modeling. New York: John Wiley & Sons
Casale, M.S. (1987) Free form solid modeling with trimmed surface patches. IEEE Comput. Graph. Appl. 7(1), 33–43
Requicha, A.A.G.; Voelcker, H.B. (1980) Mathematical Foundations of Constructive Solid Geometry: General Topology of Closed Regular Sets. Production Automation Project, Technical Memorandum TM-27a, University of Rochester, NY
Requicha, A.A.G.; Voelcker, H.B. (1977) Geometric modeling of mechanical parts and processes. Computer 10(2), 48–57.
Requicha, A.A.G., Voelcker, H.B. (1985) Boolean operations in solid modeling: Boundary evaluation and merging algorithms. Proceedings of the IEEE 73(1), 30–43
Requicha, A.A.G. (1980) Representations of rigid solids: Theory, methods, and systems. Comput. Surv. 12(4), 437–464
Tilove, R.B. (1980) Set membership classification: A unified approach to geometric intersection problems. IEEE Trans. Comput. C-29(10), 874–883
Messues, A.M.; Taylor, G.Q.; Price, C.F. (1974) Interdisciplinary computer analyses of three dimensional solids defined by polyhedral surfaces. J. Spacecraft Rockets 11(1), 52–54
Requicha, A.A.G.; Voelcker, H.B. (1982) Solid modeling: A historical summary and contemporary assessment. IEEE Comput. Graph. Appl. 2(2), 9–24
Lee, Y.T.; Requicha, A.A.G. (1982) Algorithms for computing the volume and other integral properties of solids. II. A family of algorithms based on representation conversion and cellular approximation. Commun. ACM 25(9), 642–650
Sarraga, R.F. (1982) Computation of surface areas in GMSolid. IEEE Comput. Graph. Appl. 2(7), 65–70
Armstrong, G.T.; Carey, G.C.; de Pennington, A. (1984) Numerical code generation from a geometric modeling system. In: Solid Modeling by Computers: From Theory to Application (Eds. M.S. Picket; F.W. Boyse). New York: Plenum Press
Lee, Y.C., Fu, K.S. (1987) Machine understanding of CSG: Extraction and unification of manufacturing features. IEEE Comput. Graph. Appl. 7(1), 20–32
Roth, S.D. (1980) Ray-casting as a Method for Solid Modelling. Research Publication GMR-3466, Computer Science Dept. General Motors Research Laboratories, Warren, MI
Roth, S. (1982) Ray-casting for modeling Solids. Comput. Graph. Image Process. 18(2), 109–144
Vince, F. (1985) Computer Graphics for Graphic Design. London: Frances Pinter
Gervautz, M. (1986) Three improvements of the ray tracing algorithm for CSG trees. Comput. Graph. 10(4), 333–339
Maruyama, K. (1972) A procedure to determine intersections between polyhedral objects. Int. J. Comput. Inform. Sci. 1(3), 255–266
Braid, IC (1975) The synthesis of solids bounded by many faces. Commun. ACM 18(4), 209–216
Laidlaw, D.H., Trumbone, W.B., Hughes, J.F.: (1986) Constructive solid geometry for polyhedral objects. ACM Siggraph 20(4), 161–170
Ponce, J., Faugeras, O. (1987) An object centered hierarchical representation for 3D-objects: The prism tree. Comput. Vision Graph. Jurage Process, 38(1), 1–28
Foley, J.D.; Van Dam A. (1982) Fundamentals of Interactive Computer Graphics, Menlo Park, CA: Addison-Wesley Publishing, pp. 505–511
Pilz, M. (1986) Graphical Representation of Complex Solids by Using a Polygon Mesh Method in a Solid Modeling System Based on Constructive Solid Geometry. Thesis, University of Arizona, Tucson, University of Stuttgart, West Germany
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Pilz, M., Kamel, H.A. Creation and boundary evaluation of CSG-models. Engineering with Computers 5, 105–118 (1989). https://doi.org/10.1007/BF01199073
Issue Date:
DOI: https://doi.org/10.1007/BF01199073