Presentation is loading. Please wait.

Presentation is loading. Please wait.

Goals A high-order surface construction Desirable features

Similar presentations


Presentation on theme: "Goals A high-order surface construction Desirable features"— Presentation transcript:

1 Goals A high-order surface construction Desirable features
Important for geometric and numerical computation Desirable features or smoothness At least 3-flexibility at vertices Closed-form smooth local parameterizations Can handle arbitrary control meshes Good visual quality Easy to implement There are many low-order surface constructions (usually C1 ) However, as we will discuss in more detail later higher-order smoothness is often important We present a construction that produces surfaces of arbitrary even infinite smoothness while remaining relatively simple and retaining many good properties of low-smoothness constructions Here are the main (mathematical) features we want for our surfaces: + smooth and flexible + closed-form smooth local param + good visual quality + the surface construction should be simple and easy to implement. The structure of this talk is as follows: + first, I will discuss in more detail some of the desirable surface features + second, I will review related work on high-order surface construction and discuss the advantages of the manifold approach. + third, I explain our construction in detail + finally, I will show some examples.

2 Smoothness smoothness Computing surface properties
A standard goal in CAGD important for high-accuracy computation Computing surface properties : needed for normal : needed for curvatures, reflection lines; : needed for curvature variation; Smoothness is a standard goal in geometric modeling constructions important for a variety of reasons especially in the context of precise computations needed in CAD + C1 continuity is needed for normals to be defined; + C2 continuity is required for curvature computation; lack of C2 continuity results in sharp features on reflection lines + C3 is needed if curvature variation needs to be evaluated + Ck for higher k is important for the accuracy of solving numerical problems on surface. Most C2 constructions for arbitrary topology are quite complicated; very few Ck constructions were ever implemented OUR CONSTRUCTION IS C^K or even C^\inf

3 Flexibility Ability to represent local geometry
Property of basis function, instead of the surface Two-Flexibility: any desired curvature at any point 1-flexible 2-flexible Flexibility is as less well known but equally important: as I will show now smoothness without flexibility may not be that useful Intuitively it reflects the surface construction’s ability to represent local geometry at individual points. For surface construction using basis functions, it is a property of the basis functions, instead of the surface itself. Formally, if a surface is defined as a linear combination of control points p_i f_i(x), where f_i(x) is a function on a domain, it is //k-flexible at a point y if by choosing p_i one can obtain any prescribed set of derivatives at x Usually, 2-flexibility is required. [ animation plays ] suppose we are constructing a surface from a single ring of points by fitting a polynomial of fixed degree + if we are fitting a plane it is Cinfinity, but it does not capture well local behavior: whether locally the control mesh is hat-like or saddle-like the result is flat + if we are fitting a quadric, then any desired curvature can be obtained E.g.: it is easy to define subdivision rules producing non-flexiblle C2 surfaces (see Biermann et al, Umlauf) but it is much harder to define rules for 2-flexible C2 OUR CONSTRUCTION IS 3-FLEXIBLE AT VERTICES Todo: replace with shaded picture

4 Local Parameterization
Explicit smooth local parameterization For any point, there is an explicit formula defining the surface in a neighborhood of this point Simplifies many tasks Defining functions on surfaces Integration over surfaces Surface-surface intersections Computing geodesics Another important feature is the existence of closed-form smooth local parameterization. Closed-form (that is expressible as a formula) typically ensures efficient computation It means that for any point, there is an explicit and easy-to-compute formula f(x,y) defining the surface in a neighborhood of this point. Such local parameterization can be useful in many situations such as: + Defining functions on surfaces + Integration over surfaces + Surface-surface intersections + Computing geodesics

5 Spline-based Approach
Why use manifold-base approach, not the spline based ? The spline approach usually works as follows: + Construct surface patch for each face + Ensure that the patches are joined smoothly by constraints on patch control points + The difficulties are + matching smoothness at the boundaries can be complicated + there are no easy-to-compute smooth local parametrizations near extraordinary vertices Construct surface patch for each face Find smooth local parameterization for every point Difficult to guarantee smoothness for points on patch boundaries

6 Manifold-based Approach
The idea of the manifold based approach is instead of “stitching” the patches together, We construct overlapping patches, and then blend them smoothly to get the final surface In manifold constructions it is common to refer to local parametrizations (i.e. planar domains with a map to the surface) as charts. TODO ADD DEFINITION OF CHART TO THE SLIDE In somewhat more detail, the steps of the construction are as follows + construct overlapping charts which cover the mesh. [ IMAGE STILL NOT SHOWING THE CONTROL MESH FOR LOCAL PATCHES] + build local patches which approximate the associated part of the mesh on each chart + find blending function on each chart + get the final surface by blending Construct overlapping charts covering the mesh Build local geometry approximating the mesh on each chart Find blending function for each chart Get the surface by blending local geometry

7 Construction of Navau and Garcia

8 Basic steps Construction has two parameters: smoothness k and n > k, defining how closely the surface follows the control mesh We consider the case k = 2 (C2 surfaces), and n = 3 The number of charts grows with n, so smaller is better for most applications Steps subdivide using Catmull-Clark 3 times define 1 quad chart for each regular vertex not adjacent to irregular, 2 quad charts for some adjacent, K quad charts for vertices of valence K define 1 basis function per chart assign a 1 control point per vertex

9 Step 1: Subdivide Subdivide 3 times (use Catmull-Clark)
charts will (more or less) correspond to 2-neighborhoods of vertices in the refined mesh subdivide enough so that if charts overlap they can contain only one irregular vertex

10 Step 2: Define charts If 2-neighborhood has no irregular vertices
simply map part of the mesh to a square

11 Step 2: Define charts Regular vertices close to irregular (within 2 ring) make a curved star mapping 4-nbhd of irregular vertex to the plane; irregular vertex splits into K. sweep the outer curve of the curved 2-nbhd to get a chart

12 Step 2: Define charts Regular vertices diagonal from irregular and irregular for these vertices, the outer boundary has multiple segments; use multiple charts

13 Step 3: basis functions One control point assigned per vertex
several charts may share a control point similar to splines, weighted blend of control points Basis functions are tensor product splines of degree k+1, remapped to the charts Quad charts make the definition easy

14 Step 4: transition maps Transition maps are
affine for charts containing irregular vertices (these charts always share the same star) affine for regular to regular chart polynomial for regular to irregular

15 Summary of properties smoothness: Ck flexibility: unknown at irregular
charts shape: all quads charts are associated with vertices, multiple charts for some vertices number of charts: large; approx. 4^(subdiv steps) * # of vertices for C2 , 3 subdiv. steps, i.e. 64* # of vertices flexibility: unknown embedding functions: constants (1 control point/chart) blending functions: tensor-product B-splines remapped transition functions: linear or polynomial of degree k+1 reduce to splines of degree k+1 for regular control meshes

16 Construction of Ying and Zorin
In this talk, we are going to introduce a simple manifold-based construction for surfaces with arbitrary smoothness. This is a joint work with Denis Zorin at NYU.

17 Previous Work High-order spline patches
S-patches [Loop and DeRose 1989] DMS splines [Seidel 1994] Freeform splines [Prautzsch 1997] TURBS [Reif 1998] C2 flexible subdivision surfaces G2 subdivision [Prautzsch and Umlauf 1996] Manifold-based approach [Grimm and Hughes 1995] [Navau and Garcia 2000] [Grimm 2002] There are substantial amount of work on constructing high-order surfaces with arbitrary topology and geometry The first class of these methods uses “high-order spline patches” The problems are the complexity grows quickly with the degree of smoothness local parameterizations at extraordinary vertices do not exist C2 flexible subdivision surfaces The problem is quite complex, require many steps of refinement before can be applied Manifold-based approach The usual problems many charts [grimm 95] complexity grows [navau] visual appearance is not that great OUR CONSTRUCTION IS MANIFOLD BASED; IT HAS A SINGLE CHART PER VERTEX AND CONTROLLABLE VISUAL APPEARANCE //Grimm and Hughes recent canonical domain approach (no arbitr. control mesh)

18 Charts and Transition Maps
Building local geometry for one-ring neighborhood is easy How to blend them together smoothly ? The transition map must be smooth Smooth Smooth ? Smooth Constructing local parametrizations and local patches approximating the surface is not difficult. Here is how we can construct one chart per control vertex. For each chart, we can flatten out the one-ring neighborhood assigning parametric locations to each point. Now the problem is reduced to approximations of functions: we can construct the local smooth patch of the surface by fitting a basis to these points. The difficult problem is how to blend local patches smoothly, since the local geometry patch which is smooth in one-chart is NOT naturally smooth (or even defined as a function) for the neighboring chart. This problem can be solved if we the charts are not constructed independently, but with a special constraint. [TRANSITION MAP WAS NOT DEFINED, ADD A DEFINITION TO THE SLIDE] We need a smooth transition map between adjacent charts that is the composition of one chart map with the inverse of the other to be smooth. THEN we can regard both local patches as defined on the same domain [ADD THIS TO THE SLIDE TEXT; ADD NOTATION FOR TWO CHART MAPS SO THAT YOU CAN REFER TO THEM] Smooth

19 Charts and Transition Maps
One for each vertex Map only depends on valence Transition maps Conformal, thus Easy to compute Alternatives smooth smooth Our charts and transition maps are constructed as follows: First, for the red vertices, we flatten its one-rings into a star shape, Second, we use a continuous map to map this star shape into another star-shape with curved boundaries This trick, as we will see in a moment is what ensures smoothness of transition maps. We do the same for other vertices. Let’s consider the overlap region where the transition map is defined. We have chosen the bending in such a way that if we map the shaded overlap region to two adjacent squares piecwise bilinearly, the composed map from the curved star [GIVE IT A NAME] to two squares is smooth. But these two squares are the same for the adjacent chart; the transition map can be represented as a composition of the map from one chart domain to the pair of squares with the inverse of a similar map for the other domain. For the overlap region, the composition of two smooth map gives us the smooth transition map. Moreover, in our construction these transition maps have very simple expresssion when expressed in complex form: z^{k_1/k_2} where k1 and k2 are valences. They are: + not only C_inf but conformal as well + easy to compute We can actually use z^p (z/|z|)^{k_1/k_2} instead for a suitable p. This can improve the surface quality [SHOULD MENTION THAT THIS IS BASED ON SOME OLD IDEAS] smooth transition map

20 Local Geometry Maps Needs to be smooth and 3-flexible at center vertex
Use monomials as basis for local geometry High order splines can also be used Needs to provide good visual quality Make it close to an existing surface with good quality Use Catmull-Clark subdivision surface Next we describe our construction of local patches It needs to be + smooth wrt to the chart where it is defined (thus to all overlapping charts) + at least 2-flexible at vertex (we get 3-flexibility) Solution: + we use 2D polynomials to represent the local geometry + high-order 2D splines can also be used. It needs to provide good visual quality which is defined by overall shape, + our solution is to make it close to a known surface with good quality + we use 2 steps of Catmull-Clark refinement to define the general surface shape + anything else (e.g. variational surfaces) can be used

21 Local Geometry Maps Constraints: Basis Unknowns Least square fitting
Catmull-Clark subdivision Constraints: 3d positions Positions in chart Basis Monomials in chart Unknowns Monomial coefficients Least square fitting Dyadic points Fitting The steps of the construction go as follows + we pick limit positions s_i of the Catmull-Clark control points after 2-level subdivision as sampling points + we map them back to the points x_i in the chart domain C + our problem is to find a polynomial f on C + such that f(x_i) approximates s_i [ADD THIS TO THE SLIDE] + the basis functions are monomial P_j on C + we are solving for a_j + this is a least square system … + notice the pseudo-inverse depends on P_j and x_i, which are known for a fixed valence k, therefore can be precomputed. + NEED TO STORE A SINGLE MATRIX PER VALENCE, NO NUMERICAL SOLVES ARE NEEDED Pseudo-inverse can be pre-computed

22 Blending Functions Need to be a partition of unity
Need to be smooth in each chart The blending functions need to be + a partition of unity (that is sum up to one), which is necessary for invariance under translations and rotations + smooth in each chart, so the blended surface remains smooth Solution: + start with a one-dimensional function interpolating between zero and one + use tensor product to to get a smooth function on a unit square. + use the z^{4/k} map to get it onto one sector of the star-shaped chart + rotate and copy to get it on the whole chart //Sum to be one, // + \eta(t)+\eta(1-t)=1 // + their sum on each face is 1 //Smooth // + only singularity in the transformation map is at 0, where \eta=0 tensor product map rotate and copy

23 Evaluation Procedure Find correspondent positions in each chart
Finally we summarize the procedure for evaluating our surface at any given point; we start with an arbitrary point on one of the faces of the control mesh (the black dot in this image) + find corresponding positions x_i in each chart + evaluate local patches for each chart position + compute the value of the blending function corresponding to each chart + compute a linear combination of local patch values f_i(x_i) weighted by blended functions to get the final position [USE f_i(x_i) INSTEAD OF s_i; ADD AN EXPLICIT FORMULA FOR THE SURFACE] All functions in this formula are defined in closed form so we have a closed form expression for the surface Find correspondent positions in each chart Evaluate local geometry by local chart position Compute blending function in each chart Blend local geometry to get surface position

24 Local Parameterization
Local parameterization around extraordinary vertex Our surface Catmull-Clark Magnitude of derivatives 1st order 2nd order 3rd order This slide shows some properties of surfaces built using our construction Here first we show the local parameterization around extraordinary vertex For our surface the parameterization is smooth at extraordinary vertex and a closed-form expression is available For example for CC surfaces, the jacobian blows up under natural parameterization. The surface can be C-1 parameterization using characteristic map, but its evaluation is quite complicated. In the lower part of the slide we show several orders of derivatives around the extraordinary vertex. The magnitude of the derivatives grows (there are fundamental reasons for this related to the fact that the the support of the basis functions for our surfaces is local; bounded derivatives of all orders would require global support)

25 High-order smoothness
Reflection lines Curvature behavior Catmull-Clark Our surface Our construction provides a straightforward way to obtain 2-flexible C2 surfaces in particular, a common goal in surface constructions Left: Reflection line around extraordinary vertex for several valences first column is Catmull-Clark, second column is our surface construction Around extraordinary vertex, our surface has better behavior Right: We shows the curvature behavior for several meshes around extraordinary vertex First column: principal curvature directions Second column: gaussian curvature Third column: mean curvature

26 Surface Examples Here we show several more examples with their control mesh. It shows that our construction can be used to build surfaces with arbitrary topology and geometry. The models show reflection lines in some of the areas. These reflection lines are far from perfect, e.g. the ones needed in car design; however, their shape is primarily defined by the Catmull-Clark sample points we have used to define local patches, and if a more expensive and more fair surface is used, better quality can be achieved

27 Summary of Features charts: star-shaped, depend on vertex valence
one chart per vertex embedding functions: polynomials or splines blending functions: compositions of conformal and polynomial transition functions: conformal C1 or Ck smooth for a prescribed k At least 3-flexible at vertices Explicit local parameterizations exist for any point


Download ppt "Goals A high-order surface construction Desirable features"

Similar presentations


Ads by Google