Daniil Rodin for CAGD course, 2016

Slides:



Advertisements
Similar presentations
Interpolating curves.
Advertisements

Bicubic G1 interpolation of arbitrary quad meshes using a 4-split
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
Cubic Curves CSE167: Computer Graphics Instructor: Steve Rotenberg UCSD, Fall 2006.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 10 Ravi Ramamoorthi
© University of Wisconsin, CS559 Spring 2004
1 Curves and Surfaces. 2 Representation of Curves & Surfaces Polygon Meshes Parametric Cubic Curves Parametric Bi-Cubic Surfaces Quadric Surfaces Specialized.
On Triangle/Quad Subdivision Scott Schaefer and Joe Warren TOG 22(1) 28 – 36, 2005 Reporter: Chen zhonggui
Subdivision Curves & Surfaces and Fractal Mountains. CS184 – Spring 2011.
Cornell CS465 Fall 2004 Lecture 16© 2004 Steve Marschner 1 Curved surfaces CS 465 Lecture 16.
Fractal Mountains, Splines, and Subdivision Surfaces Jordan Smith UC Berkeley CS184.
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
Normal based subdivision scheme for curve and surface design 杨勋年
1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are.
Bezier and Spline Curves and Surfaces Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
Subdivision Primer CS426, 2000 Robert Osada [DeRose 2000]
Modelling: Curves Week 11, Wed Mar 23
Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
COEN Computer Graphics I
1 Representing Curves and Surfaces. 2 Introduction We need smooth curves and surfaces in many applications: –model real world objects –computer-aided.
Curves and Surfaces (cont’) Amy Zhang. Conversion between Representations  Example: Convert a curve from a cubic B-spline curve to the Bézier form:
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi.
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Spline curves 1/23 Curves and Surfaces.
V. Space Curves Types of curves Explicit Implicit Parametric.
Curves.
Image Vectorization Cai Qingzhong 2007/11/01.
1 Dr. Scott Schaefer Coons Patches and Gregory Patches.
Subdivision Schemes Basic idea: Start with something coarse, and refine it into smaller pieces for rendering –We have seen how subdivision may be used.
Béziersurfaces, patched surfaces, Transfinite Interpolation (Coons Patch) von Michael Ott Ferienakademie im Sarntal
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.
Lee Byung-Gook Dongseo Univ.
04/18/02(c) 2002 University of Wisconsin Last Time Hermite Curves Bezier Curves.
Interactive Graphics Lecture 10: Slide 1 Interactive Computer Graphics Lecture 10 Introduction to Surface Construction.
Parametric Curves & Surfaces
11/26/02(C) University of Wisconsin Last Time BSplines.
CS 450: Computer Graphics PARAMETRIC SPLINES AND SURFACES
Splines Sang Il Park Sejong University. Particle Motion A curve in 3-dimensional space World coordinates.
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:
CS559: Computer Graphics Lecture 33: Shape Modeling Li Zhang Spring 2008.
Curves University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013 Tamara Munzner.
Object Modeling: Curves and Surfaces CEng 477 Introduction to Computer Graphics.
Subdivision Schemes. Center for Graphics and Geometric Computing, Technion What is Subdivision?  Subdivision is a process in which a poly-line/mesh is.
Introduction to Parametric Curve and Surface Modeling.
8. Surfaces and Surface Modeling Assoc.Prof.Dr. Ahmet Zafer Şenalp Mechanical Engineering Department.
Lecture 24: Surface Representation
COMPUTER GRAPHICS CHAPTERS CS 482 – Fall 2017 SPLINES
© University of Wisconsin, CS559 Spring 2004
Introduction to Parametric Curve and Surface Modeling
Curve & Surface.
Subdivision curves.
POLYGON MESH Advance Computer Graphics
Advanced Computer Graphics
© University of Wisconsin, CS559 Fall 2004
© University of Wisconsin, CS559 Fall 2004
Subdivision curves.
© University of Wisconsin, CS559 Spring 2004
The Variety of Subdivision Schemes
Grimm and Hughes Input: arbitrary mesh
Grimm and Hughes Input: arbitrary mesh
(c) University of Wisconsin
Coons Patches and Gregory Patches
Multiresolution Meshes for 3-D Object Description
Introduction to Parametric Curve and Surface Modeling
Subdivision Surfaces 고려대학교 컴퓨터 그래픽스 연구실 cgvr.korea.ac.kr.
6. Surfaces and Surface Modeling
Last Time B-splines Project 3 was made available
Presentation transcript:

Daniil Rodin for CAGD course, 2016 Gregory Patches Daniil Rodin for CAGD course, 2016

Problem cases: Curve Nets Let us examine the following problem: Given a curve net, find a smooth surface that interpolates it.

Problem cases: Curve Nets Simple case: given four curves σ(u, 0), σ(u, 1), σ(0, v), σ(1, v) find a smooth surface σ(u, v) that interpolates them.

Problem cases: Curve Nets Simple case: given four curves σ(u, 0), σ(u, 1), σ(0, v), σ(1, v) find a smooth surface σ(u, v) that interpolates them. “Simple” solution: σ(u, v) = lerp_v(σ(u, 0), σ(u, 1)) + lerp_u(σ(0, v), σ(1, v)) - lerp_u(lerp_v(σ(0, 0), σ(0, 1)), lerp_v(σ(1, 0), σ(1, 1)) Where lerp_t(x, y) = (1 - t)x + ty This is called a bilinear Coons patch.

Problem cases: Curve Nets It looks nice, but we cannot connect such patches with G1 continuity, because cross-boundary derivatives depend on data outside the boundary. This can be solved by choosing different blending functions, ones that have zero derivatives at endpoints (e.g. Hermite blending functions).

Problem cases: Curve Nets

Problem cases: Curve Nets This requires additional input of mixed derivatives (also knows as twist vectors).

Problem cases: Curve Nets Also, it cannot handle cases like this, since cross-boundary derivatives of neighboring patches must agree.

Problem cases: Subdivision Let us consider a more practical case: subdivision. Subdivision is one of the popular modeling techniques. It takes a rough polygonal model of any form or topology and smoothens it.

Problem cases: Subdivision Catmull-Clark subdivision is one of the most popular techniques. It has a simple recursive algorithm and its limit surface is actually bi-cubic B-spline surface with C2 continuity except at some points where it has C1. The limit surface can also be easily evaluated explicitly… but not everywhere.

Problem cases: Subdivision Catmull-Clark subdivision (and many others) is designed mainly for quad-based meshes and behaves really well when everything is made of quads and each vertex has exactly 4 adjacent edges: C2 continuity and fast evaluation everywhere. But it is not always the case.

Problem cases: Subdivision Two main concerns: Non-rectangular patches Vertices with N != 4 adjacent edges (called extraordinary vertices) Everywhere else is a smooth easily-evaluated paradise. Basically, we have good regions (brown) and not-so-good ones (violet).

Problem cases: Subdivision Actually, it is very similar to what we saw earlier.

Problem cases: Subdivision A simple way to overcome the problem: just subdivide! All non-rectangular patches are gone after the first iteration. All the extraordinary vertices are isolated after two iterations (after which we can evaluate the adjacent patches) Looks great, but… everything is now 16 times harder to compute. We can definitely do better.

First approach: Bicubic Bezier patches At the borders we have bicubic Bezier patches, so let us try to use bicubic Bezier patches near extraordinary vertex:

First approach: Bicubic Bezier patches There are control points that have to satisfy continuity conditions with two different neighbors at the same time. Can we do something about it?

Gregory Patch idea

Gregory Patch idea

Gregory Patch

Gregory Patch Observations and interesting facts: It behaves as a cubic Bezier on the border Singularities at the corners Actually a rational 7x7 Bezier patch

Gregory Patches Advantages: Allow independent processing of edges (main reason to use it) Can approximate an extraordinary patch with only 20 control points Disadvantages: Internal derivatives are complicated (but we want other derivatives anyway) Corners are singular (computations need to be done more carefully)

Your Questions

Thank you!