1,511 research outputs found
BSP-fields: An Exact Representation of Polygonal Objects by Differentiable Scalar Fields Based on Binary Space Partitioning
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
MeshPipe: a Python-based tool for easy automation and demonstration of geometry processing pipelines
The popularization of inexpensive 3D scanning, 3D printing, 3D publishing and AR/VR display technologies have renewed the interest in open-source tools providing the geometry processing algorithms required to clean, repair, enrich, optimize and modify point-based and polygonal-based models. Nowadays, there is a large variety of such open-source tools whose user community includes 3D experts but also 3D enthusiasts and professionals from other disciplines. In this paper we present a Python-based tool that addresses two major caveats of current solutions: the lack of easy-to-use methods for the creation of custom geometry processing pipelines (automation), and the lack of a suitable visual interface for quickly testing, comparing and sharing different pipelines, supporting rapid iterations and providing dynamic feedback to the user (demonstration). From the user's point of view, the tool is a 3D viewer with an integrated Python console from which internal or external Python code can be executed. We provide an easy-to-use but powerful API for element selection and geometry processing. Key algorithms are provided by a high-level C library exposed to the viewer via Python-C bindings. Unlike competing open-source alternatives, our tool has a minimal learning curve and typical pipelines can be written in a few lines of Python code.Peer ReviewedPostprint (published version
Polylidar3D -- Fast Polygon Extraction from 3D Data
Flat surfaces captured by 3D point clouds are often used for localization,
mapping, and modeling. Dense point cloud processing has high computation and
memory costs making low-dimensional representations of flat surfaces such as
polygons desirable. We present Polylidar3D, a non-convex polygon extraction
algorithm which takes as input unorganized 3D point clouds (e.g., LiDAR data),
organized point clouds (e.g., range images), or user-provided meshes.
Non-convex polygons represent flat surfaces in an environment with interior
cutouts representing obstacles or holes. The Polylidar3D front-end transforms
input data into a half-edge triangular mesh. This representation provides a
common level of input data abstraction for subsequent back-end processing. The
Polylidar3D back-end is composed of four core algorithms: mesh smoothing,
dominant plane normal estimation, planar segment extraction, and finally
polygon extraction. Polylidar3D is shown to be quite fast, making use of CPU
multi-threading and GPU acceleration when available. We demonstrate
Polylidar3D's versatility and speed with real-world datasets including aerial
LiDAR point clouds for rooftop mapping, autonomous driving LiDAR point clouds
for road surface detection, and RGBD cameras for indoor floor/wall detection.
We also evaluate Polylidar3D on a challenging planar segmentation benchmark
dataset. Results consistently show excellent speed and accuracy.Comment: 40 page
Lagrangian ADER-WENO Finite Volume Schemes on Unstructured Triangular Meshes Based On Genuinely Multidimensional HLL Riemann Solvers
In this paper we use the genuinely multidimensional HLL Riemann solvers
recently developed by Balsara et al. to construct a new class of
computationally efficient high order Lagrangian ADER-WENO one-step ALE finite
volume schemes on unstructured triangular meshes. A nonlinear WENO
reconstruction operator allows the algorithm to achieve high order of accuracy
in space, while high order of accuracy in time is obtained by the use of an
ADER time-stepping technique based on a local space-time Galerkin predictor.
The multidimensional HLL and HLLC Riemann solvers operate at each vertex of the
grid, considering the entire Voronoi neighborhood of each node and allows for
larger time steps than conventional one-dimensional Riemann solvers. The
results produced by the multidimensional Riemann solver are then used twice in
our one-step ALE algorithm: first, as a node solver that assigns a unique
velocity vector to each vertex, in order to preserve the continuity of the
computational mesh; second, as a building block for genuinely multidimensional
numerical flux evaluation that allows the scheme to run with larger time steps
compared to conventional finite volume schemes that use classical
one-dimensional Riemann solvers in normal direction. A rezoning step may be
necessary in order to overcome element overlapping or crossing-over. We apply
the method presented in this article to two systems of hyperbolic conservation
laws, namely the Euler equations of compressible gas dynamics and the equations
of ideal classical magneto-hydrodynamics (MHD). Convergence studies up to
fourth order of accuracy in space and time have been carried out. Several
numerical test problems have been solved to validate the new approach
Fast extraction of adaptive multiresolution meshes with guaranteed properties from volumetric data
We present a new algorithm for extracting adaptive multiresolution triangle meshes from volume datasets. The algorithm guarantees that the topological genus of the generated mesh is the same as the genus of the surface embedded in the volume dataset at all levels of detail. In addition to this "hard constraint" on the genus of the mesh, the user can choose to specify some number of soft geometric constraints, such as triangle aspect ratio, minimum or maximum total number of vertices, minimum and/or maximum triangle edge lengths, maximum magnitude of various error metrics per triangle or vertex, including maximum curvature (area) error, maximum distance to the surface, and others. The mesh extraction process is fully automatic and does not require manual adjusting of parameters to produce the desired results as long as the user does not specify incompatible constraints. The algorithm robustly handles special topological cases, such as trimmed surfaces (intersections of the surface with the volume boundary), and manifolds with multiple disconnected components (several closed surfaces embedded in the same volume dataset). The meshes may self-intersect at coarse resolutions. However, the self-intersections are corrected automatically as the resolution of the meshes increase. We show several examples of meshes extracted from complex volume datasets
Learning topological operations on meshes with application to block decomposition of polygons
We present a learning based framework for mesh quality improvement on
unstructured triangular and quadrilateral meshes. Our model learns to improve
mesh quality according to a prescribed objective function purely via self-play
reinforcement learning with no prior heuristics. The actions performed on the
mesh are standard local and global element operations. The goal is to minimize
the deviation of the node degrees from their ideal values, which in the case of
interior vertices leads to a minimization of irregular nodes.Comment: Submitted to Computer-Aided Design Journal. Presented at 17th US
National Conference on Computational Mechanics, Albuquerque, N
- …