1 / 18

Curvature Dependent Polygonization of Implicit Surfaces

This paper discusses the development of an adaptive meshing algorithm for real-time visualization of implicit surfaces using curvature-dependent techniques.

Download Presentation

Curvature Dependent Polygonization of Implicit Surfaces

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Curvature Dependent Polygonization of Implicit Surfaces Bruno Rodrigues de Araújo and Joaquim Armando Pires Jorge brar@immi.inesc-id.pt jorgej@acm.org

  2. Introduction • Implicit Surface (IS) Representations are very popular to represent: • Imaging medical information • Points sets arising from digitizing complex models • Smooth objects for Animation and Computer Aided Design • However fast and precise visualization using ray-tracing are not suitable for real-time • Polygonal meshes presents good trade-offs between fidelity of representation and interactive performance and are adapted for real-time visualization using hardware commodity.

  3. Marching Tetrahedra: the traditional approach • The most popular methods for rendering IS are based on cell partitioning such as Marching Cube and Marching Tetrahedra (MT) • Problems of cell partitioning approaches: • Resolution of the approximation depends from value of the space subdivision • Resulting polygonal meshes presents non-homogeneous triangles, non usable for deformation or subdivision algorithms • Adaptive meshes require pos-steps to simplify the mesh • Goals of our approach • An adaptive mesh with good trade-offs between the number of triangles and the approximation • A regular polygonal meshes with the maximum of equilateral triangles • Minimize computational resources to obtain similar timing results as Marching Cube • Algorithm on-the-fly without requiring a post-step • Strategy: • Usage of the curvature extracted from the IS to control triangle’s size • Following a surface-tracking approach more adapted to both compute more homogenous meshes and control the polygonization in function of the local information of the surface

  4. Problems of the Marching Tetrahedra Approach Subdivision pattern are visible using MT (on the left) , our approach (on the right) Topological inconsistence may exist with MT (on the right) , our approach (on the left) Mesh from MT (on the left) are non-adaptive to local features of the shape, our approach (on the right)

  5. Related work • Ray-Tracing with speedup for intersection calculations [Kalra89] • Cell partitioning approaches • ShinkWrap [Wyvill93] • Marching Cubes [Lorensen87] • Marching Tetrahedra [Bloomenthal94] • Surface tracking approaches • Marching Triangles [Hilton96] • [Hartman98] • Adaptive meshing algorithms • Based on Marching Cube with post-step for simplification [Treece99] • Based on Marching Triangle using Delaunay to compute edge lengths [Akkouche01] • Polygonal meshes plus adaptive subdivision using quadratic implicit surfaces [Igarashi03] • Usage of geodesics to approximate the curvature [Karkanis01]

  6. Computing Implicit Surfaces Curvature • Curvature widely used to encode shape characteristics • Implicit surfaces are defined by mathematical models • Using differential geometry as discussed by [Hugues03,Gray97], it is possible to extract curvature information

  7. Implicit Surfaces Curvature Results • The curvature measure is computed from the both non-zero eigenvalues (k1 and k2) of the matrix C • Curvature measures: Curvature measures (shape index on the left and absolute maximum on the right) for the Stanford Bunny data set using the MPU implicit model. Rendering of the Horse’s head showing Principal Direction of Curvature, kmax (left), kmin (right)

  8. Polygonization: Principles of the new algorithm Surface-tracking based on the concept of fronts such as [Hartman] • Our Approach • Starting from an initial point near the surface • Creates an initial triangulation (hexagonal form) from the seed point and project it over the surface (Newton Step) • Expand the triangulation along the surface • The algorithm is finished when all the surface is covered by the triangulation • A Front is a closed polygon form by the unexpanded points of the triangulation and can be divided or unified during the polygonization process • The heuristic based on the curvature defines the length of the edges of the triangles during the expansion • The curvature used is the absolute maximum of curvature and the heuristic is based on the radius of curvature: a) Initial triangulation starting from a seed point, b) first iteration, c) second and third iteration

  9. How is the expansion made? • At each step we select the point of the front with the minimal front angle • Definition of edge length at the candidate point location using the heuristic based on the curvature • Test if the expansion will collide with existing points of the current front • If it fails the front needs to be divided • Test if the expansion will collide with other existing fronts • If it fails fronts need to be unified • Definition of the number of new points to be created • Expansion of the mesh with triangles form by the new points • Update of the front, substituting the candidate point by the new ones Examples of expansion, the red point is the candidate, the blue edges are on the front. New triangles shown in pink Igea head polygonized using MPU and maximum absolute curvature: resulting model (left) and MAC curvature measure (right)

  10. Checking collision between fronts • Goal of the test: Avoid overlap during the meshing process • Two scenarios possible: • In both scenarios • Searching the visible points from the candidate point • Check the distance between the points and the heuristic value given as edge length for triangle expansion Splitting a single front (left) after collision (right) Merging different fronts (left) after collision (right) Intra-collision test and front division a) search of collision point in the visible area of the candidate (red point) b) division of the front creates a new edge where collision occur c) resulting fronts after division and expansion to avoid duplicates

  11. Results (1/4) • Several Implicit Models were tested since they only need to implement the following functions: • Get_Value(X) • Get_Gradient_Vector(X) • Get_Normal_Vector(X) • Get_Hessian_Matrix(X) • Get_Value_and_Gradient(X) • Get_Gradient_and_Hessian(X) • The following representations were tested: • Variational Implicit Surfaces (VIS) [Turk99] • Analytical Surfaces such as sphere, Torus,Genus etc.. • Multi Partition Unity [Ohtake03] • Well-known Dataset were converted into VIS using [Yngve02]’s work. Stanford Bunny VIS reconstruction: left (13422 tri. and 800 VIS constraints), right (34440 tri. and 2000 constraints) Analytical Implicit Surfaces : torus on the left (5380 tri.), sphere on the right (872 tri.)

  12. Results (2/4) All timing results were measured on a P4 processor at 1800 Mhz with 512Mb of RAM Genus example from Hartman article Results for Implicit Surfaces using analytical and VIS models Simple dolphin modeled using VIS

  13. Results (3/4) • Controlling the heuristic value over the curvature allows several resolutions: Different triangulations of Igea Head from a variational implicit surface defined by a 2002 point dataset (4004 constraints on the VIS) : (from left to right): 4492 triangles, 17806 triangles, 33924 triangles, and 47992 triangles

  14. Results (4/4) • Using MPU instead of VIS: • IGEA head dataset (134345 points) • Time: 100,694 s • 67332 Triangles • 668,6 Tri/s • Stanford Bunny dataset (35947 points) • Time: 77,581 s • 43494 Triangles • 560,6 Tri/s

  15. Distribution of ratios of larger to smaller edges - our approach (blue) and Marching Tetrahedra (cyan) Comparison of Average Edge Lengths: Our approach (blue) and Marching Tetrahedra (cyan) Comparison with Marching Tetrahedra (1/2)

  16. Comparison with Marching Tetrahedra (2/2) • We also compared both algorithm with the ray-tracing using two measures: • Average depth error between the ray-casting of the mesh and the ray-tracing of the implicit surface • Average “Phong error” which represents the angular deviation of both normals Stanford Bunny Ray-tracing comparison using Phong shading, a) mesh from Marching Tetrahedral (22204 triangles), b) from implicit function, c) our meshing (13442 triangles)

  17. Conclusions • Our algorithm supports several implicit model representations • The resulting mesh is of better quality than previous approaches and adaptive • The curvature measure used to achieve the adaptive mesh is more precise than traditional approaches and with less costs than geodesics approximation • Results shows the usage of the curvature without a performance penalty or the need of post re-meshing step • However such as other algorithm, disjoint topological features are not supported: Morse Theory [Stander97] might solve this problem

  18. Curvature Dependent Polygonization of Implicit Surfaces Questions ? Bruno Rodrigues de Araújo brar@immi.inesc-id.pt Joaquim Armando Pires Jorge jorgej@acm.org

More Related