Joel Daniels II University of Utah GDC Group Converting Molecular Meshes into Smooth Interpolatory Spline Solid Models Joel Daniels II Elaine Cohen David Johnson
Joel Daniels II University of Utah GDC Group Physical Visualizations Conventional techniques unable to represent complex molecular data in physical form Immersive computer environments –Tactile feedback lost! –Haptics? Embed multiple representations within a single physical form
Joel Daniels II University of Utah GDC Group Physical Visualizations
Joel Daniels II University of Utah GDC Group Challenges Convert the triangle mesh into spline model Data segmentation Inter-surface continuity
Joel Daniels II University of Utah GDC Group Why Convert the Mesh?
Joel Daniels II University of Utah GDC Group Conversion System Data segmentation Cross boundary tangents Corner tangents and twists Complete spline interpolation
Joel Daniels II University of Utah GDC Group Data Segmentation Inherent nature of input mesh Map triangles to an icosahedron Walk vertices extracting rows and columns Fill in the complete spline interpolation matrix
Joel Daniels II University of Utah GDC Group Boundary Tangents Align rows and columns of adjacent surfaces Fit quadratic function to indicated points Evaluate tangent at the boundary point Both surfaces influence tangent direction equally Fill in the complete spline interpolation matrix
Joel Daniels II University of Utah GDC Group Stitching Corners Two corner scenarios –3-way corners around equator –5-way corners at poles Impossible to ensure parametric continuity Instead strive for geometric continuity Discussion done in terms of the 3-way corner, but it is extendable to N-way corners Extract the corner neighborhood Assign a parameterization and weights Fit a cubic surface to the neighborhood Compute tangent control points along each boundary Compute twist control points satisfying constraints Compute tangent and twist values that realize the given control points Fill in the complete spline interpolation matrix
Joel Daniels II University of Utah GDC Group Extract the corner neighborhood
Joel Daniels II University of Utah GDC Group Assign a parameterization and weights
Joel Daniels II University of Utah GDC Group Fit a cubic surface to the neighborhood
Joel Daniels II University of Utah GDC Group Compute tangent control points along each boundary
Joel Daniels II University of Utah GDC Group Compute twist control points satisfying constraints
Joel Daniels II University of Utah GDC Group Compute tangent and twist values that realize the given control points
Joel Daniels II University of Utah GDC Group Discontinuity Minimization Analysis γ´(u) = (c 1 – c 0 ) β 0 (u) + (c 2 – c 1 ) β 1 (u) + (c 3 – c 2 ) β 2 (u) γ´(u) x L(u) = γ´(u) x R(u) γ´(u) x (L(u) – R(u)) = 0 L(u) – R(u) = [(l 0 – c 0 ) – (c 0 – r 0 )] θ 0 (u) + [(l 1 – c 1 ) – (c 1 – r 1 )] θ 1 (u) + [(l 2 – c 2 ) – (c 2 – r 2 )] θ 2 (u) + [(l 3 – c 3 ) – (c 3 – r 3 )] θ 3 (u) = 2 [(l 0 + r 0 )/2 – c 0 ] θ 0 (u) = 2 (M – c 0 ) θ 0 (u) θ 0 (u) [(M – c 0 ) x (c 1 – c 0 ) β 0 (u) + (M – c 0 ) x (c 2 – c 1 ) β 1 (u) + (M – c 0 ) x (c 3 – c 2 ) β 2 (u)] = 0 When (c 2 – c 1 ) and (c 3 – c 2 ) do not align with (c 1 – c 0 ) then the neighborhood is curved and no value of ‘M’ will satisfy the equation The algorithm aligns (M – c 0 ) with (c 1 – c 0 ) eliminating the largest contributor of the error
Joel Daniels II University of Utah GDC Group Case Studies Lower Curvature Model –Worst angle = 1.74º original angle = 7.6º – 99% of the boundaries within 1º of G 1 continuity Higher Curvature Model –Worst angle = 4.48º original angle = 12.4º – 98% of boundaries within 1º of G 1 continuity
Joel Daniels II University of Utah GDC Group Conclusion Internally bi-cubic spline surfaces are C 2 continuous G 1 discontinuities confined to first and last knot intervals Algorithm guarantees G 1 continuous corner when possible, otherwise it attempts to minimize created features Successfully convert mesh into a smooth spline model
Joel Daniels II University of Utah GDC Group Questions?