44,648 research outputs found

    Fast evaluation of union-intersection expressions

    Full text link
    We show how to represent sets in a linear space data structure such that expressions involving unions and intersections of sets can be computed in a worst-case efficient way. This problem has applications in e.g. information retrieval and database systems. We mainly consider the RAM model of computation, and sets of machine words, but also state our results in the I/O model. On a RAM with word size ww, a special case of our result is that the intersection of mm (preprocessed) sets, containing nn elements in total, can be computed in expected time O(n(logw)2/w+km)O(n (\log w)^2 / w + km), where kk is the number of elements in the intersection. If the first of the two terms dominates, this is a factor w1o(1)w^{1-o(1)} faster than the standard solution of merging sorted lists. We show a cell probe lower bound of time Ω(n/(wmlogm)+(1logkw)k)\Omega(n/(w m \log m)+ (1-\tfrac{\log k}{w}) k), meaning that our upper bound is nearly optimal for small mm. Our algorithm uses a novel combination of approximate set representations and word-level parallelism

    QuickCSG: Fast Arbitrary Boolean Combinations of N Solids

    Get PDF
    QuickCSG computes the result for general N-polyhedron boolean expressions without an intermediate tree of solids. We propose a vertex-centric view of the problem, which simplifies the identification of final geometric contributions, and facilitates its spatial decomposition. The problem is then cast in a single KD-tree exploration, geared toward the result by early pruning of any region of space not contributing to the final surface. We assume strong regularity properties on the input meshes and that they are in general position. This simplifying assumption, in combination with our vertex-centric approach, improves the speed of the approach. 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 dozens of polyhedra. The algorithm also outperforms GPU implementations with approximate discretizations, while producing an output without redundant facets. Despite the restrictive assumptions on the input, we show the usefulness of QuickCSG for applications with large CSG problems and strong temporal constraints, e.g. modeling for 3D printers, reconstruction from visual hulls and collision detection

    QuickCSG: Fast Arbitrary Boolean Combinations of N Solids

    Full text link
    QuickCSG computes the result for general N-polyhedron boolean expressions without an intermediate tree of solids. We propose a vertex-centric view of the problem, which simplifies the identification of final geometric contributions, and facilitates its spatial decomposition. The problem is then cast in a single KD-tree exploration, geared toward the result by early pruning of any region of space not contributing to the final surface. We assume strong regularity properties on the input meshes and that they are in general position. This simplifying assumption, in combination with our vertex-centric approach, improves the speed of the approach. 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 dozens of polyhedra. The algorithm also outperforms GPU implementations with approximate discretizations, while producing an output without redundant facets. Despite the restrictive assumptions on the input, we show the usefulness of QuickCSG for applications with large CSG problems and strong temporal constraints, e.g. modeling for 3D printers, reconstruction from visual hulls and collision detection

    Fast reliable interrogation of procedurally defined implicit surfaces using extended revised affine arithmetic.

    Get PDF
    Techniques based on interval and previous termaffine arithmetic next term and their modifications are shown to provide previous term reliable next term function range evaluation for the purposes of previous termsurface interrogation.next term In this paper we present a technique for the previous termreliable interrogation of implicit surfacesnext term using a modification of previous termaffine arithmeticnext term called previous term revised affine arithmetic.next term We extend the range of functions presented in previous termrevised affine arithmeticnext term by introducing previous termaffinenext term operations for arbitrary functions such as set-theoretic operations with R-functions, blending and conditional operators. The obtained previous termaffinenext term forms of arbitrary functions provide previous termfasternext term and tighter function range evaluation. Several case studies for operations using previous termaffinenext term forms are presented. The proposed techniques for previous termsurface interrogationnext term are tested using ray-previous termsurfacenext term intersection for ray-tracing and spatial cell enumeration for polygonisation. These applications with our extensions provide previous termfast and reliablenext term rendering of a wide range of arbitrary previous termprocedurally defined implicit surfacesnext term (including polynomial previous termsurfaces,next term constructive solids, pseudo-random objects, previous termprocedurally definednext term microstructures, and others). We compare the function range evaluation technique based on previous termextended revised affine arithmeticnext term with other previous termreliablenext term techniques based on interval and previous termaffine arithmeticnext term to show that our technique provides the previous termfastestnext term and tightest function range evaluation for previous termfast and reliable interrogation of procedurally defined implicit surfaces.next term Research Highlights The main contributions of this paper are as follows. ► The widening of the scope of previous termreliablenext term ray-tracing and spatial enumeration algorithms for previous termsurfacesnext term ranging from algebraic previous termsurfaces (definednext term by polynomials) to general previous termimplicit surfaces (definednext term by function evaluation procedures involving both previous termaffinenext term and non-previous termaffinenext term operations based on previous termrevised affine arithmetic)next term. ► The introduction of a technique for representing procedural models using special previous termaffinenext term forms (illustrated by case studies of previous termaffinenext term forms for set-theoretic operations in the form of R-functions, blending operations and conditional operations). ► The detailed derivation of special previous termaffinenext term forms for arbitrary operators

    Accurate and Efficient Expression Evaluation and Linear Algebra

    Full text link
    We survey and unify recent results on the existence of accurate algorithms for evaluating multivariate polynomials, and more generally for accurate numerical linear algebra with structured matrices. By "accurate" we mean that the computed answer has relative error less than 1, i.e., has some correct leading digits. We also address efficiency, by which we mean algorithms that run in polynomial time in the size of the input. Our results will depend strongly on the model of arithmetic: Most of our results will use the so-called Traditional Model (TM). We give a set of necessary and sufficient conditions to decide whether a high accuracy algorithm exists in the TM, and describe progress toward a decision procedure that will take any problem and provide either a high accuracy algorithm or a proof that none exists. When no accurate algorithm exists in the TM, it is natural to extend the set of available accurate operations by a library of additional operations, such as x+y+zx+y+z, dot products, or indeed any enumerable set which could then be used to build further accurate algorithms. We show how our accurate algorithms and decision procedure for finding them extend to this case. Finally, we address other models of arithmetic, and the relationship between (im)possibility in the TM and (in)efficient algorithms operating on numbers represented as bit strings.Comment: 49 pages, 6 figures, 1 tabl
    corecore