• No se han encontrado resultados

Resumen de la Propuesta

4. DESCRIPCIÓN DEL PROGRAMA

4.4 Prioridades de la Octava Convocatoria

For polygonal meshes, many scalar field formulations have been investi- gated. We first overview the scalar field representations and assess their pros and cons, and then investigate more in depth exact distance fields.

Scalar field Methods for representing scalar fields of meshes can be distinguished as exact and approximate ones. In the exact methods, the iso-value is guaranteed with the finite machine precision to be zero only on the surface of the initial mesh, meaning that all the features of the initial models are preserved with the scalar field representation.

In the approximate methods, many techniques rely solely on the point cloud generated from the mesh to approximate the polygonal mesh. They often rely on a dense point cloud. Radial Basis Function (RBF) (Savchenko et al. 1995;Carr et al. 2001;Morse et al. 2001;Yngve and Turk 2002) use a weighted sum of basis functions. The choice of the basis function has a considerable impact on the shape and efficiency of the function evaluation. If the basis function has a compact support, then only a sparse linear system needs to be solved. Otherwise, the process will result in a non-sparse system, making it impractical for large point clouds. MostRBF-based methods produce smooth surfaces but are slow to evaluate.

In the Multi-level Partition of Unity (MPU) (Ohtake et al. 2003) or Moving Least Squares (MLS) (Turk and O’Brien 1999b), some given ap- proximation error is allowed. In Turk and O’Brien (1999b), the con- straints can be set so that it should interpolate the surface exactly, how- ever, numerical instabilities make it impractical. All those approximate methods only approximate the surface, and the field approximates the distance poorly.

An exact field to a polygonal mesh can be obtained by represent- ing the object with set-theoretic operations on the half-spaces bounded by planes passing through polygonal faces (Fryazinov et al. 2011) while keeping the distance property of the resulting function. These methods

provide continuous functions, but the distance query can be slow and numerically unstable especially for large input meshes. A smooth ap- proximation of the distance field, called signed Lp distance fields, which

can preserve the exact surface was introduced in Belyaev et al. (2012). This method is based on mean value coordinates (Ju et al. 2005). Lp dis-

tances have a linear complexity making them unsuitable for large meshes as unevaluated methods often require a large number of samples.

Minimum distance to a mesh evaluation The most naive solution of evaluating the distance to a mesh would be to iterate over every trian- gle of the mesh in order to find the shortest distance. The distance from a point to a triangle can be found through its barycentric coordinates (Ericson 2004, p. 136), vector calculus (Eberly 2008) or by simplify- ing the problem using affine transformations (Jones 1995). However, the performance can be greatly improved using various data structures such as octrees (Payne and Toga 1992) or bounding volume hierarchies (Larsen et al. 2000,1999).

A bounding volume hierarchy is a structure which bounds the surface elements in a hierarchical manner. At the highest level (root), a bound- ing volume bounds the entire object. The root stores two children, both of which also bound the elements they contain. Each node in the tree bounds only a subset of the elements of the original object. The elements can be polygons for meshes, patches for parametric surfaces, or any ele- ment which can be bounded. Typical bounding volumes are axis aligned boxes (Havran 2000), oriented boxes (Gottschalk et al. 1996), or spheres (Quinlan 1994). In Larsen et al. (2000), the bounding volume is a rect- angular swept sphere volume. This is more efficient because it provides tighter bounds for triangles than spheres or axis aligned boxes, and the distance to the rectangle remains simple to evaluate. Larsen et al.(1999) also uses rectangular swept sphere volume as bounding volumes. Such structures are efficient for minimum separation distances and collisions. In Gu´eziec (2001), the author uses progressive meshes Hoppe (1996) to get a good approximation of the closest point early on. A progressive

mesh is a hierarchical structure which provides different level of details for the original mesh. The Meshsweeper algorithm uses the distance from the coarse mesh and refines the results based on an early guess. The advantage of this method is that it can provide an early bounded estimate of the distance. However, the implementation can be quite complicated, and its efficiency for exact distances compared to other structures has not been evaluated. Progressive meshes could also lead to unexpected results depending on the topology of the object.

In Lee et al. (2013), an octree was used to store the closest element indices instead of the typical surface elements. The tree is called a prim- itive tree. A query point therefore does not prune out branches, but instead finds the smallest cell it lies in. This reduces the number of node traversals for ambiguous points which are close to the medial axis.

Point membership for meshes In the general case, the distance sign at the given point cannot be computed directly using the surface normal because the mesh surface has C1 discontinuities. The sign is also

ambiguous, if the mesh is non-manifold. The common issues with non- manifold meshes include self-intersections, degenerated faces, inverted normals, cracks and holes.

The sign can be calculated using scan conversion, as detailed inKaufman

(1988). The sign is computed on the lattice in a separate pass. The pro- cess is very similar to the scan line rasterization for 3D. The scan con- version is resilient to self-intersections and inverted normals but cannot handle cracks. Unfortunately, this technique is limited to discrete grids. The most natural extension of this techinique for continuous evalua- tion at an arbitrary point is ray casting (Requicha 1996). The number of intersections between the mesh and the ray which starts at the query point and is cast towards the outside of the initial polygonal mesh can provide a sign. If the number of intersections is odd, then the query point is inside, otherwise it has an even number of intersections, and is set to be outside the solid bounded by the mesh. Such a solution often suffers from numerical issues. In particular, when a ray lies in the plane

of a triangle it intersects, the ray could either cross to the other side, or not. Ray casting also suffers from self-intersections and holes, but tolerates inverted normals. The evaluation of the number of intersection can also be time consuming for large meshes.

The most convenient method for determining the sign for a continuous signed distance function is that of the angle-weighted pseudo normals (Baerentzen and Aanaes 2005). Edges and vertices have pseudo normals assigned, which can be used to accurately deduce the sign, provided that the closest feature on the surface to the point p is available. This method can only work with manifold meshes, otherwise sign flips will occur. It is an efficient solution but lacks robustness.

Another solution to provide a more robust sign was introduced by

Rossignac et al. (2013) for self-intersecting surfaces. The objective was to provide a real-time trimming solution for rendering. This means that it will correctly choose between union (inside) or intersection (outside) depending on the type of intersection. The normal orientation in this case is crucial.

More recently, Jacobson et al. (2013) proposed a robust method to find point membership from polygon soups. It generates the correct sign if the object is manifold and a well behaved one if the object is non-manifold. It behaves consistently regardless of the orientation of the object making this solution robust and consistent. This method relies on a generalization of the winding number. The winding number in a plane is the number of times a curve circles counter clockwise around a point. Its formulation is not limited to polygonal meshes only, but the extension to NURBS surfaces is not straightforward. The major drawback of this solution is its linear complexity. Since scalar field based applications require a large number of samples (several million samples even for low precision), linear complexity per query is not practical.