Explore chapters and articles related to this topic
Machine Vision
Published in Jerry C. Whitaker, Microelectronics, 2018
David A. Kosiba, Rangachar Kasturi
The constructive solid-geometry (CSG) representations of an object is specified in terms of a set of three-dimensional volumetric primitives (blocks, cylinders, cones, spheres, etc.) and a set of boolean operators: union, intersection, and difference. Figure 19.13(b) shows the CSG representation for a simple geometric object. The storage data structure is a binary tree, where the terminal nodes are instances of the geometric primitives and the branching nodes represent the Boolean set operations and positioning information. CSG trees define object surface area unambiguously and can, with very little data, represent complex objects. However, the boundary evaluation algorithms required to obtain usable surface information are very computationally expensive. Also, general sculptured surfaces are not easily represented using CSG models.
Computer-Aided Design of Additive Manufacturing Components
Published in Linkan Bian, Nima Shamsaei, John M. Usher, Laser-Based Additive Manufacturing of Metal Parts, 2017
Constructive Solid Geometry: A solid object is molded using volume combination occupied by overlapping 3D primitives using set Boolean operations. Primitives are solid objects defined by a very accurate mathematical definition. Primitives are generic in the sense that their shape and size are instantiated by the user-defined parameters or dimensions (Hoffmann 1992). Typical standard primitives are block, sphere, cone, cylinder, torus, wedge, etc. All these primitives are algebraic half-space, i.e., a finite closed volume in an infinite space. Half-space primitives have finite domain and are constructed by taking a sense (positive or negative) of the parameters in the defined function (Davis et al. 2007). Parts are built by combining primitives’ volume in an overlapping manner and performing CSG operations, i.e., union, intersection, and difference, as shown in Figure 2.3. Objects designed with this method are represented with a binary tree, as demonstrated in Figure 2.4. Both the surface and the interior of an object are defined implicitly.
Volumetric T-Spline Modeling
Published in Yongjie Jessica Zhang, Geometric Modeling and Mesh Generation from Scanned Images, 2018
In computer aided design and geometric modeling, we need to define primitives for Boolean operations. Cuboids, cylinders, prisms, pyramids, spheres and cones are commonly used primitives in CSG. In our polycube construction, here we only use two primitives: the cube and the torus. Unlike conventional CSG, we use our primitives in a topological sense. Figure 7.20 shows these two primitives mapping from the physical space to the parametric space. A torus primitive is represented by four consecutive unit cubes, with the first face and the last face (the two yellow faces) merged to form a loop.
Assessing Students’ Object-Oriented Programming Skills with Java: The “Department-Employee” Project
Published in Journal of Computer Information Systems, 2020
Xihui Zhang, John D. Crabtree, Mark G. Terwilliger, Tyler T. Redman
However, not all variables in a Java program are objects. Performance concerns led the creator of Java to provide “primitive” data types that were not classes. These eight primitives are: boolean, char, byte, short, int, long, float, and double. Apart from these eight data types, all other variables in a Java program must hold objects—or, more precisely, object references.