235 research outputs found

    ESOLID—a system for exact boundary evaluation

    Get PDF
    We present a system, ESOLID, that performs exact boundary evaluation of low-degree curved solids in reasonable amounts of time. ESOLID performs accurate Boolean operations using exact representations and exact computations throughout. The demands of exact computation require a different set of algorithms and efficiency improvements than those found in a traditional inexact floating point based modeler. We describe the system architecture, representations, and issues in implementing the algorithms. We also describe a number of techniques that increase the efficiency of the system based on lazy evaluation, use of floating point filters, arbitrary floating point arithmetic with error bounds, and lower dimensional formulation of subproblems. ESOLID has been used for boundary evaluation of many complex solids. These include both synthetic datasets and parts of a Bradley Fighting Vehicle designed using the BRL-CAD solid modeling system. It is shown that ESOLID can correctly evaluate the boundary of solids that are very hard to compute using a fixed-precision floating point modeler. In terms of performance, it is about an order of magnitude slower as compared to a floating point boundary evaluation system on most cases

    A Method of Rendering CSG-Type Solids Using a Hybrid of Conventional Rendering Methods and Ray Tracing Techniques

    Get PDF
    This thesis describes a fast, efficient and innovative algorithm for producing shaded, still images of complex objects, built using constructive solid geometry ( CSG ) techniques. The algorithm uses a hybrid of conventional rendering methods and ray tracing techniques. A description of existing modelling and rendering methods is given in chapters 1, 2 and 3, with emphasis on the data structures and rendering techniques selected for incorporation in the hybrid method. Chapter 4 gives a general description of the hybrid method. This method processes data in the screen coordinate system and generates images in scan-line order. Scan lines are divided into spans (or segments) using the bounding rectangles of primitives calculated in screen coordinates. Conventional rendering methods and ray tracing techniques are used interchangeably along each scan-line. The method used is detennined by the number of primitives associated with a particular span. Conventional rendering methods are used when only one primitive is associated with a span, ray tracing techniques are used for hidden surface removal when two or more primitives are involved. In the latter case each pixel in the span is evaluated by accessing the polygon that is visible within each primitive associated with the span. The depth values (i. e. z-coordinates derived from the 3-dimensional definition) of the polygons involved are deduced for the pixel's position using linear interpolation. These values are used to determine the visible polygon. The CSG tree is accessed from the bottom upwards via an ordered index that enables the 'visible' primitives on any particular scan-line to be efficiently located. Within each primitive an ordered path through the data structure provides the polygons potentially visible on a particular scan-line. Lists of the active primitives and paths to potentially visible polygons are maintained throughout the rendering step and enable span coherence and scan-line coherence to be fully utilised. The results of tests with a range of typical objects and scenes are provided in chapter 5. These results show that the hybrid algorithm is significantly faster than full ray tracing algorithms

    BSP-fields: An Exact Representation of Polygonal Objects by Differentiable Scalar Fields Based on Binary Space Partitioning

    Get PDF
    The problem considered in this work is to find a dimension independent algorithm for the generation of signed scalar fields exactly representing polygonal objects and satisfying the following requirements: the defining real function takes zero value exactly at the polygonal object boundary; no extra zero-value isosurfaces should be generated; C1 continuity of the function in the entire domain. The proposed algorithms are based on the binary space partitioning (BSP) of the object by the planes passing through the polygonal faces and are independent of the object genus, the number of disjoint components, and holes in the initial polygonal mesh. Several extensions to the basic algorithm are proposed to satisfy the selected optimization criteria. The generated BSP-fields allow for applying techniques of the function-based modeling to already existing legacy objects from CAD and computer animation areas, which is illustrated by several examples

    Interactive ray shading of FRep objects

    Get PDF
    In this paper we present a method for interactive rendering general procedurally defined functionally represented (FRep) objects using the acceleration with graphics hardware, namely Graphics Processing Units (GPU). We obtain interactive rates by using GPU acceleration for all computations in rendering algorithm, such as ray-surface intersection, function evaluation and normal computations. We compute primary rays as well as secondary rays for shadows, reflection and refraction for obtaining high quality of the output visualization and further extension to ray-tracing of FRep objects. The algorithm is well-suited for modern GPUs and provides acceptable interactive rates with good quality of the results. A wide range of objects can be rendered including traditional skeletal implicit surfaces, constructive solids, and purely procedural objects such as 3D fractals

    Free-form deformation of solid models in CSR.

    Get PDF
    Lai Chi-fai.Thesis (M.Phil.)--Chinese University of Hong Kong, 2000.Includes bibliographical references (leaves 98-99).Abstracts in English and Chinese.Chapter 1. --- INTRODUCTION --- p.7Chapter 1.1 --- Motivations and objectives --- p.7Chapter 1.2 --- Thesis Organization --- p.10Chapter 2. --- related works --- p.11Chapter 2.1 --- Deformation Techniques --- p.11Chapter 2.1.1 --- Deformation techniques requiring a deformation tool --- p.11Chapter 2.1.2 --- Directly specified deformation techniques --- p.14Chapter 2.1.3 --- Comparison on Different Deformation Technique --- p.15Chapter 2.2 --- Application of Deformation --- p.16Chapter 2.2.1 --- Deforming superquadrics --- p.16Chapter 2.2.2 --- Volume wraping --- p.16Chapter 2.2.3 --- Deforming linear object --- p.17Chapter 2.2.4 --- FFD for animation synthesis --- p.17Chapter 2.2.5 --- Using FFD on feature-based Surface --- p.18Chapter 2.2.6 --- NURBS-BASED Free-Form Deformation (NFFD) --- p.18Chapter 2.3 --- Algebraic Patch Techniques --- p.20Chapter 2.3.1 --- Dahmen's scheme --- p.20Chapter 2.3.2 --- Lodha and Warren's technique --- p.20Chapter 2.3.3 --- Guo's method --- p.21Chapter 3. --- BACKGROUND THEORIES --- p.22Chapter 3.1 --- Algebraic Patches --- p.22Chapter 3.1.1 --- Bernstein-Bezier representation of a single patch --- p.22Chapter 3.1.2 --- Constructing free-form objects --- p.29Chapter 3.1.2.1 --- Bounding volumes for quadric patches --- p.29Chapter 3.1.2.2 --- Filling two-sided gaps --- p.31Chapter 3.2 --- Constructive Shell Representation --- p.35Chapter 3.2.1 --- Properties of quadric patches and its construction tetrahedron and trunctets --- p.38Chapter 3.3 --- Free-Form Deformation --- p.40Chapter 3.3.1 --- Formulating free-form deformation --- p.40Chapter 4. --- FREE-FORM DEFORMATION OF CSR SOLID MODELS --- p.43Chapter 4.1 --- Determination of Lattice Structure --- p.43Chapter 4.2 --- "Relation between weights, normals and shape of a trunctet" --- p.46Chapter 4.3 --- Applying FFD on CSR solid models --- p.49Chapter 4.3.1 --- Deforming normal at vertices --- p.52Chapter 4.3.2 --- Using vertices' neighborhoods --- p.54Chapter 4.4 --- Free-Form Deformation of CSR objects by Surface Fitting --- p.57Chapter 4.4.1 --- Deforming a single surface patch --- p.57Chapter 4.4.1.1 --- Locating surface points --- p.59Chapter 4.4.1.2 --- Conversion between barycentric and Cartesian coordinates --- p.61Chapter 4.4.1.3 --- Evaluating the deformed surface patch --- p.62Chapter 4.4.1.4 --- Saddle shape trunctet --- p.64Chapter 4.4.1.5 --- Using double tetrahedrons --- p.66Chapter 4.4.1.6 --- Surface subdivision --- p.69Chapter 4.4.2 --- Deforming Entire Solid Model --- p.72Chapter 4.4.3 --- Comparison on different approaches --- p.75Chapter 4.5 --- Conversion of CSG solid Models into CSR --- p.76Chapter 4.5.1 --- Converting halfspaces into CSR objects --- p.77Chapter 5. --- IMPLEMENTATION AND RESULTS --- p.82Chapter 5.1 --- Implementation --- p.82Chapter 5.2 --- Experimental Results --- p.84Chapter 6. --- CONCLUSION AND SUGGESTIONS FOR FURTHER WORK --- p.93Chapter 6.1 --- Conclusion --- p.93Chapter 6.2 --- Suggestions for further work --- p.9

    Ray tracing for constructive solid modeling

    Get PDF
    This thesis describes a system for the creation and realistic depiction of non-geometric, complex, three dimensional solid models by utilizing a ray tracing algorithm and a graphics relational database. Geometric primitives such as a sphere, cylinder, block, and cone are combined together by using the Boolean set operations of union (+), intersection (&), and difference (-). The three dimensional solid models are built based on the concept of constructive solid geometric modeling. The database provides functions for the creation, transformation, and deletion of the primitives and models. A model may be displayed as a wireframe for a fast display or as a shaded solid for a realistic display

    QuickCSG: Arbitrary and Faster Boolean Combinations of N Solids

    Get PDF
    While studied over several decades, the computation of boolean operations on polyhedra is almost always addressed by focusing on the case of two polyhedra. For multiple input polyhedra and an arbitrary boolean operation to be applied, the operation is decomposed over a binary CSG tree, each node being processed separately in quasilinear time. For large trees, this is both error prone due to intermediate geometry and error accumulation, and inefficient because each node yields a specific overhead. We introduce a fundamentally new approach to polyhedral CSG evaluation, addressing the general N-polyhedron case. We propose a new vertex-centric view of the problem, which both simplifies the algorithm computing resulting geometric contributions, and vastly facilitates its spatial decomposition. We then embed the entire problem in a single KD-tree, specifically geared toward the final result by early pruning of any region of space not contributing to the final surface. This not only improves the robustness of the approach, it also gives it a fundamental speed advantage, with an output complexity depending on the output mesh size instead of the input size as with usual approaches. Complemented with a task-stealing parallelization, the algorithm achieves breakthrough performance, one to two orders of magnitude speedups with respect to state-of-the-art CPU algorithms, on boolean operations over two to several dozen polyhedra. The algorithm is also shown to outperform recent GPU implementations and approximate discretizations, while producing an exact output without redundant facets.Quoique étudié depuis des décennies, le calcul d'opérations booléennes sur des polyèdres est quasiment toujours fait sur deux opérandes. Pour un plus grand nombre de polyèdres et une opération booléenne arbitraire à effectuer, l'opération est décomposée sur un arbre binaire CSG (géométrie constructive), dans lequel chaque nœud est traité séparément en temps quasi-linéaire. Pour de grands arbres, ceci est à la fois source d'erreurs, à cause des calculs géométriques intermédiaires, et inefficace à cause des traitements superflus au niveau des nœuds. Nous introduisons une approche fondamentalement nouvelle qui traite le cas général de N polyèdres. Nous proposons une vue du problème centrée sur les sommets, ce qui simplifie l'algorithme et facilite sa décomposition spatiale. Nous traitons le problème dans un seul KD-tree, qui est dirigé vers le résultat final, en élaguant les régions de l'espace qui ne contribuent pas à la surface finale. Non seulement ceci améliore la robustesse de l'approche mais ça lui donne un avantage en vitesse, car la complexité dépend plus de la taille de la sortie que celle d'entrée. En la combinant avec une parallélisation basée sur du vol de tâche, l'algorithme a des performances inouïes, d'un ou deux ordres de grandeur plus rapide que les algorithmes de l'état de l'art sur CPU et GPU. De plus il produit un résultat exact, sans aucune primitive géométrique superflue

    QuickCSG: Arbitrary and Faster Boolean Combinations of N Solids

    No full text
    While studied over several decades, the computation of boolean operations on polyhedra is almost always addressed by focusing on the case of two polyhedra. For multiple input polyhedra and an arbitrary boolean operation to be applied, the operation is decomposed over a binary CSG tree, each node being processed separately in quasilinear time. For large trees, this is both error prone due to intermediate geometry and error accumulation, and inefficient because each node yields a specific overhead. We introduce a fundamentally new approach to polyhedral CSG evaluation, addressing the general N-polyhedron case. We propose a new vertex-centric view of the problem, which both simplifies the algorithm computing resulting geometric contributions, and vastly facilitates its spatial decomposition. We then embed the entire problem in a single KD-tree, specifically geared toward the final result by early pruning of any region of space not contributing to the final surface. This not only improves the robustness of the approach, it also gives it a fundamental speed advantage, with an output complexity depending on the output mesh size instead of the input size as with usual approaches. Complemented with a task-stealing parallelization, the algorithm achieves breakthrough performance, one to two orders of magnitude speedups with respect to state-of-the-art CPU algorithms, on boolean operations over two to several dozen polyhedra. The algorithm is also shown to outperform recent GPU implementations and approximate discretizations, while producing an exact output without redundant facets.Quoique étudié depuis des décennies, le calcul d'opérations booléennes sur des polyèdres est quasiment toujours fait sur deux opérandes. Pour un plus grand nombre de polyèdres et une opération booléenne arbitraire à effectuer, l'opération est décomposée sur un arbre binaire CSG (géométrie constructive), dans lequel chaque nœud est traité séparément en temps quasi-linéaire. Pour de grands arbres, ceci est à la fois source d'erreurs, à cause des calculs géométriques intermédiaires, et inefficace à cause des traitements superflus au niveau des nœuds. Nous introduisons une approche fondamentalement nouvelle qui traite le cas général de N polyèdres. Nous proposons une vue du problème centrée sur les sommets, ce qui simplifie l'algorithme et facilite sa décomposition spatiale. Nous traitons le problème dans un seul KD-tree, qui est dirigé vers le résultat final, en élaguant les régions de l'espace qui ne contribuent pas à la surface finale. Non seulement ceci améliore la robustesse de l'approche mais ça lui donne un avantage en vitesse, car la complexité dépend plus de la taille de la sortie que celle d'entrée. En la combinant avec une parallélisation basée sur du vol de tâche, l'algorithme a des performances inouïes, d'un ou deux ordres de grandeur plus rapide que les algorithmes de l'état de l'art sur CPU et GPU. De plus il produit un résultat exact, sans aucune primitive géométrique superflue

    Algebraic level sets for CAD/CAE integration and moving boundary problems

    Get PDF
    Boundary representation (B-rep) of CAD models obtained from solid modeling kernels are commonly used in design, and analysis applications outside the CAD systems. Boolean operations between interacting B-rep CAD models as well as analysis of such multi-body systems are fundamental operations on B-rep geometries in CAD/CAE applications. However, the boundary representation of B-rep solids is, in general, not a suitable representation for analysis operations which lead to CAD/CAE integration challenges due to the need for conversion from B-rep to volumetric approximations. The major challenges include intermediate mesh generation step, capturing CAD features and associated behavior exactly and recurring point containment queries for point classification as inside/outside the solid. Thus, an ideal analysis technique for CAD/CAE integration that can enable direct analysis operations on B-rep CAD models while overcoming the associated challenges is desirable. ^ Further, numerical surface intersection operations are typically necessary for boolean operations on B-rep geometries during the CAD and CAE phases. However, for non-linear geometries, surface intersection operations are non-trivial and face the challenge of simultaneously satisfying the three goals of accuracy, efficiency and robustness. In the class of problems involving multi-body interactions, often an implicit knowledge of the boolean operation is sufficient and explicit intersection computation may not be needed. Such implicit boolean operations can be performed by point containment queries on B-rep CAD models. However, for complex non-linear B-rep geometries, the point containment queries may involve numerical iterative point projection operations which are expensive. Thus, there is a need for inexpensive, non-iterative techniques to enable such implicit boolean operations on B-rep geometries. ^ Moreover, in analysis problems with evolving boundaries (ormoving boundary problems), interfaces or cracks, blending functions are used to enrich the underlying domain with the known behavior on the enriching entity. The blending functions are typically dependent on the distance from the evolving boundaries. For boundaries defined by free form curves or surfaces, the distance fields have to be constructed numerically. This may require either a polytope approximation to the boundary and/or an iterative solution to determine the exact distance to the boundary. ^ In this work a purely algebraic, and computationally efficient technique is described for constructing signed distance measures from Non-Uniform Rational B-Splines (NURBS) boundaries that retain the geometric exactness of the boundaries while eliminating the need for iterative and non-robust distance calculation. The proposed technique exploits the NURBS geometry and algebraic tools of implicitization. Such a signed distance measure, also referred to as the Algebraic Level Sets, gives a volumetric representation of the B-rep geometry constructed by purely non-iterative algebraic operations on the geometry. This in turn enables both the implicit boolean operations and analysis operations on B-rep geometries in CAD/CAE applications. Algebraic level sets ensure exactness of geometry while eliminating iterative numerical computations. Further, a geometry-based analysis technique that relies on hierarchical partition of unity field compositions (HPFC) theory and its extension to enriched field modeling is presented. The proposed technique enables direct analysis of complex physical problems without meshing, thus, integrating CAD and CAE. The developed techniques are demonstrated by constructing algebraic level sets for complex geometries, geometry-based analysis of B-rep CAD models and a variety of fracture examples culminating in the analysis of steady state heat conduction in a solid with arbitrary shaped three-dimensional cracks. ^ The proposed techniques are lastly applied to investigate the risk of fracture in the ultra low-k (ULK) dies due to copper (Cu) wirebonding process. Maximum damage induced in the interlayer dielectric (ILD) stack during the process steps is proposed as an indicator of the reliability risk. Numerical techniques based on enriched isogeometric approximations are adopted to model damage in the ULK stacks using a cohesive damage description. A damage analysis procedure is proposed to conduct damage accumulation studies during Cu wirebonding process. Analysis is carried out to identify weak interfaces and potential sites for crack nucleation as well as damage nucleation patterns. Further, the critical process condition is identified by analyzing the damage induced during the impact and ultrasonic excitation stages. Also, representative ILD stack designs with varying Cu percentage are compared for risk of fracture

    Rapid Prototyping Using Three-Dimensional Computer Vision

    Get PDF
    A method for building model data for CAD and CAM purposes from physical instances using three-dimensional sensor data is presented. These techniques are suitable for Reverse Engineering of industrial parts, and can be used as a design aid as well. The nature of the reverse engineering task is quantitative, and the emphasis is on accurate recovery of the geometry of the part, whereas the object recognition task is qualitative, and aims to recognize similar shapes. The proposed method employs multiple representation to build a CAD model for the part, and to produce useful information for part analysis and process planning. The model building strategy is selected based on the obtained surface and volumetric data descriptions and their quality. A novel, robust non-linear filtering method is presented to attenuate noise from sensor data. Volumetric description is obtained by recovering a superquadric model for the whole data set. A surface characterization process is used to determine the complexity of the underlying surface. A substantial data compression can be obtained by approximating huge amount sensor data by B-spline surfaces. As a result a Boundary Representation model for Alpha-1 solid modeling system is constructed. The model data is represented both in Alpha-1 modeling language and IGES product data exchange format. Experimental results for standard geometric shapes and for sculptured free-form surfaces are presented using both real and synthetic range data
    corecore