24 research outputs found
Degree-Driven Design of Geometric Algorithms for Point Location, Proximity, and Volume Calculation
Correct implementation of published geometric algorithms is surprisingly difficult. Geometric algorithms are often designed for Real-RAM, a computational model that provides arbitrary precision arithmetic operations at unit cost. Actual commodity hardware provides only finite precision and may result in arithmetic errors. While the errors may seem small, if ignored, they may cause incorrect branching, which may cause an implementation to reach an undefined state, produce erroneous output, or crash. In 1999 Liotta, Preparata and Tamassia proposed that in addition to considering the resources of time and space, an algorithm designer should also consider the arithmetic precision necessary to guarantee a correct implementation. They called this design technique degree-driven algorithm design. Designers who consider the time, space, and precision for a problem up-front arrive at new solutions, gain further insight, and find simpler representations. In this thesis, I show that degree-driven design supports the development of new and robust geometric algorithms. I demonstrate this claim via several new algorithms. For n point sites on a UxU grid I consider three problems. First, I show how to compute the nearest neighbor transform in O(U^2) expected time, O(U^2) space, and double precision. Second, I show how to create a data structure in O(n log Un) expected time, O(n) expected space, and triple precision that supports O(log n) time and double precision post-office queries. Third, I show how to compute the Gabriel graph in O(n^2) time, O(n^2) space and double precision. For computing volumes of CSG models, I describe a framework that uses a minimal set of predicates that use at most five-fold precision. The framework is over 500x faster and two orders of magnitude more accurate than a Monte Carlo volume calculation algorithm.Doctor of Philosoph
Recommended from our members
Parametric Representation of Part Contours in SLS Process
Current layer-based SFF technologies process faceted geometric input data to produce
polygonal contours of the part's boundary in each layer. However, for improved part quality,
other more accurate representations of part contours are desirable. Likewise, implementation of
Wu's minimum time optimal laser tracking control method for selective laser sintering (SLS)
requires contour curves that exhibit higher order continuity. In this paper, we first analyze the
requirements of optimal laser tracking to develop evaluation criteria for choosing a contour
representation. Several possible representation methods are reviewed. We show that the NonUniform
Rational B-Spline (NURBS) curve meets the criteria. A demonstration program
illustrates the advantages of NURBS curves for representing contours with uniform point
distributions. The results can be used in other control areas where uniform point distribution or
constant velocity is required.Mechanical Engineerin
Minkowski Sum Construction and other Applications of Arrangements of Geodesic Arcs on the Sphere
We present two exact implementations of efficient output-sensitive algorithms
that compute Minkowski sums of two convex polyhedra in 3D. We do not assume
general position. Namely, we handle degenerate input, and produce exact
results. We provide a tight bound on the exact maximum complexity of Minkowski
sums of polytopes in 3D in terms of the number of facets of the summand
polytopes. The algorithms employ variants of a data structure that represents
arrangements embedded on two-dimensional parametric surfaces in 3D, and they
make use of many operations applied to arrangements in these representations.
We have developed software components that support the arrangement
data-structure variants and the operations applied to them. These software
components are generic, as they can be instantiated with any number type.
However, our algorithms require only (exact) rational arithmetic. These
software components together with exact rational-arithmetic enable a robust,
efficient, and elegant implementation of the Minkowski-sum constructions and
the related applications. These software components are provided through a
package of the Computational Geometry Algorithm Library (CGAL) called
Arrangement_on_surface_2. We also present exact implementations of other
applications that exploit arrangements of arcs of great circles embedded on the
sphere. We use them as basic blocks in an exact implementation of an efficient
algorithm that partitions an assembly of polyhedra in 3D with two hands using
infinite translations. This application distinctly shows the importance of
exact computation, as imprecise computation might result with dismissal of
valid partitioning-motions.Comment: A Ph.D. thesis carried out at the Tel-Aviv university. 134 pages
long. The advisor was Prof. Dan Halperi
The investigation of a method to generate conformal lattice structures for additive manufacturing
Additive manufacturing (AM) allows a geometric complexity in products not seen in conventional manufacturing. This geometric freedom facilitates the design and fabrication of conformal hierarchical structures. Entire parts or regions of a part can be populated with lattice structure, designed to exhibit properties that differ from the solid material used in fabrication.
Current computer aided design (CAD) software used to design products is not suitable for the generation of lattice structure models. Although conceptually simple, the memory requirements to store a virtual CAD model of a lattice structure are prohibitively high. Conventional CAD software defines geometry through boundary representation (B-rep); shapes are described by the connectivity of faces, edges and vertices. While useful for representing accurate models of complex shape, the sheer quantity of individual surfaces required to represent each of the relatively simple individual struts that comprise a lattice structure ensure that memory limitations are soon reached. Additionally, the conventional data flow from CAD to manufactured part is arduous, involving several conversions between file formats. As well as a lengthy process, each conversion risks the generation of geometric errors that must be fixed before manufacture.
A method was developed to specifically generate large arrays of lattice structures, based on a general voxel modelling method identified in the literature review. The method is much less sensitive to geometric complexity than conventional methods and thus facilitates the design of considerably more complex structures. The ability to grade structure designs across regions of a part (termed functional grading ) was also investigated, as well as a method to retain connectivity between boundary struts of a conformal structure. In addition, the method streamlines the data flow from design to manufacture: earlier steps of the data conversion process are bypassed entirely.
The effect of the modelling method on surface roughness of parts produced was investigated, as voxel models define boundaries with discrete, stepped blocks. It was concluded that the effect of this stepping on surface roughness was minimal. This thesis concludes with suggestions for further work to improve the efficiency, capability and usability of the conformal structure method developed in this work
Virtual sculpting : an investigation of directly manipulated free-form deformation in a virtual environment
This thesis presents a Virtual Sculpting system, which addresses the problem of Free-Form Solid Modelling. The disparate elements of a Polygon-Mesh representation, a Directly Manipulated Free-Form Deformation sculpting tool, and a Virtual Environment are drawn into a cohesive whole under the mantle of a clay-sculpting metaphor. This enables a user to mould and manipulate a synthetic solid interactively as if it were composed of malleable clay. The focus of this study is on the interactivity, intuitivity and versatility of such a system. To this end, a range of improvements is investigated which significantly enhances the efficiency and correctness of Directly Manipulated Free-Form Deformation, both separately and as a seamless component of the Virtual Sculpting system
Generative Mesh Modeling
Generative Modeling is an alternative approach for the description of three-dimensional shape. The basic idea is to represent a model not as usual by an agglomeration of geometric primitives (triangles, point clouds, NURBS patches), but by functions. The paradigm change from objects to operations allows for a procedural representation of procedural shapes, such as most man-made objects. Instead of storing only the result of a 3D construction, the construction process itself is stored in a model file. The generative approach opens truly new perspectives in many ways, among others also for 3D knowledge management. It permits for instance to resort to a repository of already solved modeling problems, in order to re-use this knowledge also in different, slightly varied situations. The construction knowledge can be collected in digital libraries containing domain-specific parametric modeling tools. A concrete realization of this approach is a new general description language for 3D models, the "Generative Modeling Language" GML. As a Turing-complete "shape programming language" it is a basis of existing, primitv based 3D model formats. Together with its Runtime engine the GML permits - to store highly complex 3D models in a compact form, - to evaluate the description within fractions of a second, - to adaptively tesselate and to interactively display the model, - and even to change the models high-level parameters at runtime.Die generative Modellierung ist ein alternativer Ansatz zur Beschreibung von dreidimensionaler Form. Zugrunde liegt die Idee, ein Modell nicht wie üblich durch eine Ansammlung geometrischer Primitive (Dreiecke, Punkte, NURBS-Patches) zu beschreiben, sondern durch Funktionen. Der Paradigmenwechsel von Objekten zu Geometrie-erzeugenden Operationen ermöglicht es, prozedurale Modelle auch prozedural zu repräsentieren. Statt das Resultat eines 3D-Konstruktionsprozesses zu speichern, kann so der Konstruktionsprozess selber repräsentiert werden. Der generative Ansatz eröffnet unter anderem gänzlich neue Perspektiven für das Wissensmanagement im 3D-Bereich. Er ermöglicht etwa, auf einen Fundus bereits gelöster Konstruktions-Aufgaben zurückzugreifen, um sie in ähnlichen, aber leicht variierten Situationen wiederverwenden zu können. Das Konstruktions-Wissen kann dazu in Form von Bibliotheken parametrisierter, Domänen-spezifischer Modellier-Werkzeuge gesammelt werden. Konkret wird dazu eine neue allgemeine Modell-Beschreibungs-Sprache vorgeschlagen, die "Generative Modeling Language" GML. Als Turing-mächtige "Programmiersprache für Form" stellt sie eine echte Verallgemeinerung existierender Primitiv-basierter 3D-Modellformate dar. Zusammen mit ihrer Runtime-Engine erlaubt die GML, - hochkomplexe 3D-Objekte extrem kompakt zu beschreiben, - die Beschreibung innerhalb von Sekundenbruchteilen auszuwerten, - das Modell adaptiv darzustellen und interaktiv zu betrachten, - und die Modell-Parameter interaktiv zu verändern
Functional representation and manipulation of shapes with applications in surface and solid modeling
Real-valued functions have wide applications in various areas within computer graphics. In this work, we examine three representation of shapes using functions. In particular, we study the classical B-spline representation of piece-wise polynomials in the univariate domain. We provide a generalization of B-spline to the bivariate domain using intuition gained from the univariate construction. We also study the popular scheme of representing 3D density distribution using a uniform, rectilinear grid, where we provide a novel contouring scheme that culls occluded inner geometries. Lastly, we examine a ray-based representation for 3D indicator functions called ray-rep, for which we present a novel meshing scheme with multi-material extensions
Planar Nef polyhedra and generic higher-dimensional geometry
We present two generic software projects that are part of the software library CGAL. The first part described the design of a geometry kernel for higher-dimensional Euclidian geometry and the interaction with application programs. We describe software structures, interface concepts, and their models that are based on cooordinate representation, number types, and memory layout. In the higher-dimensional software kernel the interaction between linear algebra and geometric objects and primitves is one important facet. In the actual design our users can replace number types, representation types, and the traits classes that inflate kernel functionality into our current application programs: higher-dimensional convex hulls and Delaunay tedrahedralisations. In the second part we present the realization of planar Nef polyhedra. The concept of Nef polyhedra subsumes all kinds of rectilinear polyhedral subdivisions and is therefore of general applicability within a geometric software library. The software is based on the theory of extended points and segments that allows us to reuse classical algorithmic solutions like plane sweep to realize binary operations of Nef polyhedra.Wir präsentieren zwei Softwareprojekte, die Teil der Softwarebibliothek CGAL sind. Der erste Teil beschreibt den Entwurf eines Geometriekerns für höherdimensionale euklidische Geometrie und dessen Interaktion mit Anwendungsprogrammen. Wir beschreiben die Softwarestruktur, die auf der Herausarbeitung von Schnittstellenkonzepten und ihren Modellen hinsichtlich Koordinatenrepräsentation, Zahlentypen und Speicherablage beruht. Dabei spielt im Höherdimensionalen die Interaktion zwischen linearer Algebra und den entsprechenden geometrischen Objekten und primitiven Operationen eine wesentliche Rolle. Unser Entwurf erlaubt das Auswechseln von Zahlentypen,
Repräsentations- und Traitsklassen bei der Berechnung von d-dimensionalen konvexen Hüllen und Delaunay-Simplexzerlegungen. Im zweiten Teil stellen wir die Realisierung von planaren Nef-Polyedern vor. Das Konzept der Nef-Polyeder umfasst alle linear-polyedrisch begrenzten Unterteilungen. Wir beschreiben ein Softwaremodul das umfassende Funktionalität zur Verfügung stellt. Als theoretische Grundlage des Entwurfs dient die Theorie erweiterter Punkte und Segmente, die es uns erlaubt, vorhandene Algorithmen wie z.B. Plane-Sweep zur Realisierung binärer Operationen von Nef-Polyedern zu nutzen