Joel Daniels II University of Utah GDC Group Visually Smooth Blending Surfaces for Fabrication of Physical Visualizations Joel Daniels II Master’s Thesis.

Slides:



Advertisements
Similar presentations
Steady-state heat conduction on triangulated planar domain May, 2002
Advertisements

Curves Jim Van Verth Essential Math for Games Animation Problem: want to replay stored set of transformations  Generated by.
Lecture Notes #11 Curves and Surfaces II
© University of Wisconsin, CS559 Spring 2004
COMPUTER GRAPHICS CS 482 – FALL 2014 OCTOBER 8, 2014 SPLINES CUBIC CURVES HERMITE CURVES BÉZIER CURVES B-SPLINES BICUBIC SURFACES SUBDIVISION SURFACES.
Lecture 10 Curves and Surfaces I
Morphing & Warping 2D Morphing Involves 2 steps 1.Image warping “get features to line up” 2.Cross-dissolve “mix colors” (fade-in/fadeout transition)
Geometric Modeling Notes on Curve and Surface Continuity Parts of Mortenson, Farin, Angel, Hill and others.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 7: Quadric Error Metrics Ravi Ramamoorthi
© University of Wisconsin, CS559 Spring 2004
Dr. S.M. Malaek Assistant: M. Younesi
08/30/00 Dinesh Manocha, COMP258 Hermite Curves A mathematical representation as a link between the algebraic & geometric form Defined by specifying the.
MIT EECS 6.837, Durand and Cutler Curves & Surfaces.
EARS1160 – Numerical Methods notes by G. Houseman
P. Brigger, J. Hoeg, and M. Unser Presented by Yu-Tseh Chi.
MIT EECS 6.837, Durand and Cutler Curves & Surfaces.
Inter-Surface Mapping John Schreiner, Arul Asirvatham, Emil Praun (University of Utah) Hugues Hoppe (Microsoft Research)
Image Segmentation some examples Zhiqiang wang
Instructor: Mircea Nicolescu Lecture 13 CS 485 / 685 Computer Vision.
Surfaces Chiew-Lan Tai. Surfaces 2 Reading Required Hills Section Hearn & Baker, sections 8.11, 8.13 Recommended Sections 2.1.4, , 3D Computer.
Segmentation into Planar Patches for Recovery of Unmodeled Objects Kok-Lim Low COMP Computer Vision 4/26/2000.
Shape from Contours and Multiple Stereo A Hierarchical, Mesh-Based Approach Hendrik Kück, Wolfgang Heidrich, Christian Vogelgsang.
Joel Daniels II University of Utah GDC Group Converting Molecular Meshes into Smooth Interpolatory Spline Solid Models Joel Daniels II Elaine Cohen David.
Shape Modeling International 2007 – University of Utah, School of Computing Robust Smooth Feature Extraction from Point Clouds Joel Daniels ¹ Linh Ha ¹.
1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are.
Modelling: Curves Week 11, Wed Mar 23
We build a surface between two complex closed spatial spline curves. Our algorithm allows the input curves to have differing degree, parameterization,
Research Goal  We provide physical visualizations to modern structural biologists, thus reviving tactile feedback, in addition to immersive environments.
Curves and Surfaces (cont’) Amy Zhang. Conversion between Representations  Example: Convert a curve from a cubic B-spline curve to the Bézier form:
Curve Modeling Bézier Curves
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
Introduction Tracking the corners Camera model and collision detection Keyframes Path Correction Controlling the entire path of a virtual camera In computer.
V. Space Curves Types of curves Explicit Implicit Parametric.
Part 6: Graphics Output Primitives (4) 1.  Another useful construct,besides points, straight line segments, and curves for describing components of a.
Interactive surface reconstruction on triangle meshes with subdivision surfaces Matthias Bein Fraunhofer-Institut für Graphische Datenverarbeitung IGD.
Quadratic Surfaces. SPLINE REPRESENTATIONS a spline is a flexible strip used to produce a smooth curve through a designated set of points. We.
1 Adding charts anywhere Assume a cow is a sphere Cindy Grimm and John Hughes, “Parameterizing n-holed tori”, Mathematics of Surfaces X, 2003 Cindy Grimm,
Course 13 Curves and Surfaces. Course 13 Curves and Surface Surface Representation Representation Interpolation Approximation Surface Segmentation.
Parametric Surfaces Define points on the surface in terms of two parameters Simplest case: bilinear interpolation s t s x(s,t)x(s,t) P 0,0 P 1,0 P 1,1.
Extraction and remeshing of ellipsoidal representations from mesh data Patricio Simari Karan Singh.
04/18/02(c) 2002 University of Wisconsin Last Time Hermite Curves Bezier Curves.
Rendering Curves and Surfaces Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico 1 Angel:
11/6/ :55 Graphics II Introduction to Parametric Curves and Surfaces Session 2.
CS 551/651 Advanced Graphics Technical Background.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University.
11/26/02(C) University of Wisconsin Last Time BSplines.
(c) 2002 University of Wisconsin
Application: Multiresolution Curves Jyun-Ming Chen Spring 2001.
Robust Watermarking of 3D Mesh Models. Introduction in this paper, it proposes an algorithm that extracts 2D image from the 3D model and embed watermark.
Rendering Bezier Curves (1) Evaluate the curve at a fixed set of parameter values and join the points with straight lines Advantage: Very simple Disadvantages:
Reverse Engineering of Point Clouds to Obtain Trimmed NURBS Lavanya Sita Tekumalla Advisor: Prof. Elaine Cohen School of Computing University of Utah Masters.
Curves University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013 Tamara Munzner.
Chapter 7 Advanced Part Modeling Techniques. After completing this chapter, you will be able to perform the following: –Extrude an open profile –Create.
Introduction to Parametric Curve and Surface Modeling.
COMPUTER GRAPHICS CHAPTERS CS 482 – Fall 2017 SPLINES
© University of Wisconsin, CS559 Spring 2004
Constructing Objects in Computer Graphics
Chapter 10-2: Curves.
Morphing and Shape Processing
Constructing Objects in Computer Graphics By Andries van Dam©
© University of Wisconsin, CS559 Fall 2004
Rendering Curves and Surfaces
© University of Wisconsin, CS559 Spring 2004
The Variety of Subdivision Schemes
Delaunay Triangulation & Application
Reverse Engineering to Trimmed Splines
PPT9: Global and local interpolation
Introduction to Parametric Curve and Surface Modeling
PPT10: Global and local approximation
Presentation transcript:

Joel Daniels II University of Utah GDC Group Visually Smooth Blending Surfaces for Fabrication of Physical Visualizations Joel Daniels II Master’s Thesis Defense November 2005 Elaine Cohen

Joel Daniels II University of Utah GDC Group Molecular Visualization Written methodology –Portray molecular connections Stick and ball models –Physical visualization –Visualize 3D structure –Tactile feedback –Manipulate forms

Joel Daniels II University of Utah GDC Group Virtual environments –Multiple levels of data –Interaction between molecules –Intricate molecular models –Tactile feedback? Molecular Visualization

Joel Daniels II University of Utah GDC Group Molecular Visualization Aim to re-create physical visualizations

Joel Daniels II University of Utah GDC Group Evolution of Molecular Visualization Evolved to the use of virtual computer environments.

Joel Daniels II University of Utah GDC Group Evolution of Molecular Visualization Return to the physical visualizations?

Joel Daniels II University of Utah GDC Group Evolution of Molecular Visualization Improvement of an old technique! –These are new physical visualizations –Multiple levels of data represented within a single form

Joel Daniels II University of Utah GDC Group Fabrication Pipeline

Joel Daniels II University of Utah GDC Group Research Challenges 1.Homogeneous Inputs –Mesh to spline model conversion –Visually smooth boundaries 2.Split away mold creation –Non-planar parting surface

Joel Daniels II University of Utah GDC Group Mesh Conversion

Joel Daniels II University of Utah GDC Group 1.Homogeneous Inputs –Mesh to spline model conversion –Visually smooth boundaries 2.Mold creation –Non-planar parting surface Research Challenges

Joel Daniels II University of Utah GDC Group Parting Surface Generation

Joel Daniels II University of Utah GDC Group Outline I.Mesh Conversion i.Related efforts ii.Implementation iii.Results II.Parting Surface Generation i.Related efforts ii.Implementation iii.Results III.Conclusion IV.Questions

Joel Daniels II University of Utah GDC Group I. Mesh Conversion

Joel Daniels II University of Utah GDC Group Mesh Conversion – Related Work Smoothing surfaces: –Subdivision surfaces: Catmull-Clark, Doo-Sabin, Loop –Fit a manifold surface model to noisy CT data scans [Grimm et al. 2002] –User segmentation and approximated spline surfaces [Levoy et al. 1996] –Inter-surface continuity moving data points [Livingston 1990]

Joel Daniels II University of Utah GDC Group Mesh Conversion – Related Work Complete Spline Interpolation –A technique to compute splines through a grid of data points –Points are assigned parameter values Approximations of time values at which the surface will pass through the point –Constrain the extra degree of freedom defines cross boundary tangent information

Joel Daniels II University of Utah GDC Group Mesh Conversion – System Pipeline Data segmentation Cross boundary tangents Corner tangents and twists Complete spline interpolation

Joel Daniels II University of Utah GDC Group Mesh Conversion – Data Segmentation Focus on inter-surface continuity 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 Mesh Conversion – 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 Mesh Conversion – Stitching Corners Two corner scenarios –3-way corners around equator –5-way corners at poles Bi-cubic surfaces –Unable 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

Joel Daniels II University of Utah GDC Group Extract the corner neighborhood

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 Mesh Conversion – Discontinuity Analysis (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 Tangent planes must be the same Algorithm ensures cross boundary control points are co-linear Equation to ensure G 1 smoothness When vectors (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 Mesh Conversion – 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 Mesh Conversion – System Results Internally bi-cubic spline surfaces are C 2 continuous Visual 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 Fabrication Pipeline Recap Mesh Conversion  Surface Parameterization

Joel Daniels II University of Utah GDC Group II. Parting Surface Generation

Joel Daniels II University of Utah GDC Group Surface Generation – System Goal Define a surface between two spatial curves that is a height field from the separation direction. The curves define the object’s parting curve and the mold insert boundary.

Joel Daniels II University of Utah GDC Group Surface Generation – System Goal Define a surface between two spatial curves that is a height field from the separation direction. The curves define the object’s parting curve and the mold insert boundary.

Joel Daniels II University of Utah GDC Group Surface Generation – Parting Curve Silhouette Edge Surface normals are perpendicular to viewpoint direction Divide the object –All normals one side positively dot with the view direction –All normals other side negatively dot with the view direction Separation/View Direction

Joel Daniels II University of Utah GDC Group Surface Generation – System Strategy Strategy –Define an intermediate curve along the medial axis approximation –Compute two 3D curve morph solutions from the input curves to this intermediate shape –Morph solution will sweep the surface as a function of time

Joel Daniels II University of Utah GDC Group Surface Generation – Related Work Metamorphosis –Feature Matching Physically Based [Sederberg ‘92] Tangent Comparison [Lui ‘04][Cohen ‘96] Hierarchical Solutions [Wolfson ‘90][Al-Khaiyat ‘98] –Vertex Trajectories [Gotsman ‘01] [Sederberg ‘93]

Joel Daniels II University of Utah GDC Group Surface Generation – Related Work Potential Fields –Robot Path Planning [Bell ’04][Chuang ’98][Ge ’00] [Lewis ’99,’00] –Skeleton Extraction [Ahuja ‘97][Chuang ‘00]

Joel Daniels II University of Utah GDC Group Surface Generation – Related Work Potential Fields –Group Path Planning [Balch ’99,’00]

Joel Daniels II University of Utah GDC Group Surface Generation – System Pipeline D

Joel Daniels II University of Utah GDC Group Surface Generation – System Inputs System inputs –Two spatial curves (object parting edge, mold boundary) –Medial axis approximation: MA, skeleton, user defined Input Robustness Goals –Differing curve degrees, parameterizations, knot vectors, and control meshes Intermediate shape –Must be a polyline Guarantees continuity along the intermediate curve

Joel Daniels II University of Utah GDC Group A. Vertex Trajectories

Joel Daniels II University of Utah GDC Group Surface Generation – Vertex Paths Create a continuous vector field –Potential field Positive charge assigned to input curve control meshes Walk the potential field gradient –Local Minima!

Joel Daniels II University of Utah GDC Group Surface Generation – Vertex Paths Vertex trajectories –Continuous vector field without local minima –Navigate concavities Skeleton Edges Classification –Core Edges  Attraction field –Branch Edges  Flow Field –Extraneous Edges  Ignore

Joel Daniels II University of Utah GDC Group Surface Generation – Vertex Paths What is a Flow Field?

Joel Daniels II University of Utah GDC Group Surface Generation – Vertex Paths

Joel Daniels II University of Utah GDC Group Surface Generation – Vertex Paths Numerical integration can still result in errors! Assign repulsion forces to neighboring seed paths

Joel Daniels II University of Utah GDC Group Surface Generation – Vertex Paths

Joel Daniels II University of Utah GDC Group B. Mesh Generation

Joel Daniels II University of Utah GDC Group Surface Generation – Mesh Generation Mesh Generation –Can not have intersections –Greedy data reduction algorithm Extend  neighbor aware Three triggers –Neighborhood view-ability –Future path intersection –Curvature approximation error –Sliding down the columns registering global commits

Joel Daniels II University of Utah GDC Group Surface Generation – Mesh Generation Mesh Generation –Triggers cause each row to commit their location –Advance trailing points before leaders

Joel Daniels II University of Utah GDC Group C. Vertex Correspondence

Joel Daniels II University of Utah GDC Group Surface Generation – Vertex Correspondence Vertex Correspondence Algorithm 1.Compute an intermediate polyline to which each curve will morph 2.Perform knot insertion which adds extra columns into the meshes 3.Relax and slide columns of the mesh to match polyline vertices 4.Relax mesh to stress inter-surface continuity across the two surfaces

Joel Daniels II University of Utah GDC Group Surface Generation – Vertex Correspondence

Joel Daniels II University of Utah GDC Group D. 3D Mesh Creation

Joel Daniels II University of Utah GDC Group Surface Generation – 3D Surfaces Raise into 3D algorithm: 1.Height component from the input curves 2.Lift the skeleton polyline into 3D 3.Lift and relax the internal points 4.Smooth across the multi-knot columns for intra-surface continuity 5.Smooth across the common polyline for inter-surface continuity

Joel Daniels II University of Utah GDC Group Surface Generation – System Conclusion Two surfaces that combine to create the final result Develop a 3D curve morph solution Continuity Analysis –First dimension (with the curve) Continuity maintained from the input curve Not continuous near the skeletal polyline –Second dimension (time direction from curve to skeleton) C2 continuous from one curve to skeleton C1 continuous across the skeleton

Joel Daniels II University of Utah GDC Group III. Conclusions

Joel Daniels II University of Utah GDC Group Conclusion Developed two systems –Addressed the challenges in the fabrication pipeline of physical visualizations –Solutions maintain visually smooth results as much as possible

Joel Daniels II University of Utah GDC Group Conclusion Broader Applications –Mesh Conversion Smooth Surfaces Automotive design Animation and entertainment models CAD systems with spline surfaces –Surface Generation Morphing Hole filling

Joel Daniels II University of Utah GDC Group Future Work Mesh Conversion –Data segmentation Larger range of inputs –Optimized smoothing at the corners Surface Generation –Improved relaxation techniques Intra-surface continuity Parameterization and minimization of 3D undulations –Feature matching or established correspondence –Robot path planning without local minima –Larger range of input curves –Define volumes for surface to surface morphs

Joel Daniels II University of Utah GDC Group Special Thanks Elaine Cohen Remainder of my committee –Rich Riesenfeld and Claudio Silva Alpha1 research staff –Jim St. Germain and David Johnson Editor –Justin Polchlopek Lab mates Professor Art Olson’s Group at Scripps Family and friends

Joel Daniels II University of Utah GDC Group IV. Questions?

Joel Daniels II University of Utah GDC Group

Further Thesis Discussion Chapter 2 –Discuss related topics in higher details Show understanding of their work Chapter 4 –Prove the vector field is continuous Uniqueness Theorem is applicable –Prove the greedy neighbor aware data reduction extracts legal meshes –Additional information and clarification on inter and intra surface continuity results on the final surface

Joel Daniels II University of Utah GDC Group Assign a parameterization and weights

Joel Daniels II University of Utah GDC Group Compute twist control points satisfying constraints

Joel Daniels II University of Utah GDC Group Mesh Conversion – Discontinuity 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 Surface Generation – Vertex Correspondence Vertex Correspondence Algorithm 1.Compute an intermediate shape to morph each curve towards Degree raised polyline Match independently arbitrary curve degrees 2.Insert multiple knots for matching at the vertices of the polyline 3.Relax and slide columns of the mesh to match polyline vertices 4.Relax mesh to stress inter-surface continuity across the two surfaces

Joel Daniels II University of Utah GDC Group Vector Field Continuity Potential Field –f = 1/d x x = 2 or 3 –Robot path planning has looked at this problem Shown that all 2 nd partial derivatives (Hessian) are continuous Flow Field and Attraction Field –Shifted cosine  g = { (s) cos( (r – d)/r ) + s, d <= r 0, otherwise –First Derivative g` = { (s/r) sin((r – d)/r)(d`), d <= r 0, otherwise –x = r  (s/r) sin( (r – r)/r ) (d`) = 0 Therefore the final field (F = ▼f + (g 1 )(v 1 ) + (g 2 )(v 2 ) + …) –First derivative continuous field as required by the uniqueness theorem