2,791 research outputs found

    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

    Counting Figures in Planar Random Configurations

    Get PDF
    Random configurations are considered that are generated by a Poisson process of figures in the plane, and a recent result is used to derive formulae for the estimation of the number of figures, and their mean area and perimeter. The formulae require merely the determination of the area, the perimeter, and the Euler-Poincaré characteristic of the random configurations in a fixed field of view. There are no similar formulae for the standard deviations of the estimates; their magnitudes in typical cases are therefore assessed by Monte Carlo simulations

    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

    The State-of-the-Art of Set Visualization

    Get PDF
    Sets comprise a generic data model that has been used in a variety of data analysis problems. Such problems involve analysing and visualizing set relations between multiple sets defined over the same collection of elements. However, visualizing sets is a non-trivial problem due to the large number of possible relations between them. We provide a systematic overview of state-of-the-art techniques for visualizing different kinds of set relations. We classify these techniques into six main categories according to the visual representations they use and the tasks they support. We compare the categories to provide guidance for choosing an appropriate technique for a given problem. Finally, we identify challenges in this area that need further research and propose possible directions to address these challenges. Further resources on set visualization are available at http://www.setviz.net
    • 

    corecore