Bezier Triangles and Multi-Sided Patches

Slides:



Advertisements
Similar presentations
© University of Wisconsin, CS559 Spring 2004
Advertisements

1 Dr. Scott Schaefer Bezier Triangles and Multi-Sided Patches.
09/25/02 Dinesh Manocha, COMP258 Triangular Bezier Patches Natural generalization to Bezier curves Triangles are a simplex: Any polygon can be decomposed.
Overview June 9- B-Spline Curves June 16- NURBS Curves June 30- B-Spline Surfaces.
© 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.
Subdivision Curves & Surfaces and Fractal Mountains. CS184 – Spring 2011.
1 Computer Graphics Chapter 7 3D Object Modeling.
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.
09/04/02 Dinesh Manocha, COMP258 Bezier Curves Interpolating curve Polynomial or rational parametrization using Bernstein basis functions Use of control.
1 Lecture 13 Modeling Curved Lines and Surfaces. 2 Types of Surfaces Ruled Surfaces B-Splines and Bezier Curves Surfaces of Revolution.
1 Dr. Scott Schaefer The Bernstein Basis and Bezier Curves.
09/09/02 Dinesh Manocha, COMP258 Properties of Bezier Curves Invariance under affine parameter transformation P i B i,n (u) = P i B i,n ((u –a)/(b-a))
1 Dr. Scott Schaefer Tensor-Product Surfaces. 2/64 Smooth Surfaces Lagrange Surfaces  Interpolating sets of curves Bezier Surfaces B-spline Surfaces.
Cubic Bezier and B-Spline Curves
Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic.
Implicit Representations of Surfaces and Polygonalization Algorithms Dr. Scott Schaefer.
COEN Computer Graphics I
1 Dr. Scott Schaefer Generalized Barycentric Coordinates.
Review of Bézier Curves DeCastlejau Algorithm V2V2 V4V4 V1V1 V3V3 Insert at t = ¾.
Splines III – Bézier Curves
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.
19/13/ :20 UML Graphics II Parametric Curves and Surfaces Session 3.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
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.
Moving Least Squares Coordinates Josiah Manson and Scott Schaefer Texas A&M University.
1 Dr. Scott Schaefer Generalized Barycentric Coordinates.
V. Space Curves Types of curves Explicit Implicit Parametric.
1 Dr. Scott Schaefer Smooth Curves. 2/109 Smooth Curves Interpolation  Interpolation through Linear Algebra  Lagrange interpolation Bezier curves B-spline.
1 Dr. Scott Schaefer Blossoming and B-splines. 2/105 Blossoms/Polar Forms A blossom b(t 1,t 2,…,t n ) of a polynomial p(t) is a multivariate function.
1 Dr. Scott Schaefer Coons Patches and Gregory Patches.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Dr. Scott Schaefer Geometric Modeling CSCE 645/VIZA 675.
Non-Uniform Rational B-Splines NURBS. NURBS Surfaces NURBS surfaces are based on curves. The main advantage of using NURBS surfaces over polygons, is.
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.
1 Subdivision. 2 Subdivision for game Why? Large model require many memory for storage Need to dynamically tessellated during game play Make surface modeling.
04/18/02(c) 2002 University of Wisconsin Last Time Hermite Curves Bezier Curves.
Curves: ch 4 of McConnell General problem with constructing curves: how to create curves that are “smooth” CAD problem Curves could be composed of segments.
Rendering Curves and Surfaces Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico 1 Angel:
Parametric Curves & Surfaces
11/26/02(C) University of Wisconsin Last Time BSplines.
Introduction to Curves
Surface Modeling Parametric Surfaces Dr. S.M. Malaek Assistant: M. Younesi.
CS559: Computer Graphics Lecture 33: Shape Modeling Li Zhang Spring 2008.
Object Modeling: Curves and Surfaces CEng 477 Introduction to Computer Graphics.
Introduction to Parametric Curve and Surface Modeling.
© University of Wisconsin, CS559 Spring 2004
Constructing Objects in Computer Graphics
Curve & Surface.
Smooth Surfaces Dr. Scott Schaefer.
Constructing Objects in Computer Graphics By Andries van Dam©
Unit 6: Perimeter and Area
© University of Wisconsin, CS559 Fall 2004
Geometric Modeling CSCE 645/VIZA 675
© University of Wisconsin, CS559 Fall 2004
Rendering Curves and Surfaces
© University of Wisconsin, CS559 Spring 2004
The Bernstein Basis and Bezier Curves
Implicit Functions Some surfaces can be represented as the vanishing points of functions (defined over 3D space) Places where a function f(x,y,z)=0 Some.
Grimm and Hughes Input: arbitrary mesh
Parametric Line equations
UNIT-5 Curves and Surfaces.
Coons Patches and Gregory Patches
Clipping Polygons Dr. Scott Schaefer.
Computer Aided Geometric Design
Introduction to Parametric Curve and Surface Modeling
Type to enter a caption. Computer Graphics Week 10 Lecture 2.
Overview June 9- B-Spline Curves June 16- NURBS Curves
Presentation transcript:

Bezier Triangles and Multi-Sided Patches Dr. Scott Schaefer

Triangular Patches How do we build triangular patches instead of quads?

Triangular Patches How do we build triangular patches instead of quads?

Triangular Patches How do we build triangular patches instead of quads?

Triangular Patches How do we build triangular patches instead of quads? Parameterization very distorted Continuity difficult to maintain between patches Not symmetric

Bezier Triangles Control points pijk defined in triangular array

deCasteljau Algorithm for Bezier Triangles Evaluate at (s,t,u) where s+t+u=1

deCasteljau Algorithm for Bezier Triangles Evaluate at (s,t,u) where s+t+u=1

deCasteljau Algorithm for Bezier Triangles Evaluate at (s,t,u) where s+t+u=1

deCasteljau Algorithm for Bezier Triangles Evaluate at (s,t,u) where s+t+u=1

deCasteljau Algorithm for Bezier Triangles Evaluate at (s,t,u) where s+t+u=1

deCasteljau Algorithm for Bezier Triangles Evaluate at (s,t,u) where s+t+u=1

deCasteljau Algorithm for Bezier Triangles Evaluate at (s,t,u) where s+t+u=1

deCasteljau Algorithm for Bezier Triangles Evaluate at (s,t,u) where s+t+u=1

deCasteljau Algorithm for Bezier Triangles Evaluate at (s,t,u) where s+t+u=1

Properties of Bezier Triangles Convex hull

Properties of Bezier Triangles Convex hull Boundaries are Bezier curves

Properties of Bezier Triangles Convex hull Boundaries are Bezier curves

Properties of Bezier Triangles Convex hull Boundaries are Bezier curves

Properties of Bezier Triangles Convex hull Boundaries are Bezier curves

Properties of Bezier Triangles Convex hull Boundaries are Bezier curves

Properties of Bezier Triangles Convex hull Boundaries are Bezier curves Explicit polynomial form

Subdividing Bezier Triangles

Subdividing Bezier Triangles

Subdividing Bezier Triangles

Subdividing Bezier Triangles

Subdividing Bezier Triangles

Subdividing Bezier Triangles

Subdividing Bezier Triangles

Subdividing Bezier Triangles Split along longest edge

Subdividing Bezier Triangles Split along longest edge

Derivatives of Bezier Triangles

Derivatives of Bezier Triangles

Derivatives of Bezier Triangles

Derivatives of Bezier Triangles Really only 2 directions for derivatives!!!

Continuity Between Bezier Triangles How do we determine continuity conditions between Bezier triangles?

Continuity Between Bezier Triangles How do we determine continuity conditions between Bezier triangles?

Continuity Between Bezier Triangles How do we determine continuity conditions between Bezier triangles? Control points on boundary align for C0

Continuity Between Bezier Triangles How do we determine continuity conditions between Bezier triangles? What about C1?

Continuity Between Bezier Triangles Use subdivision in parametric space!!!

Continuity Between Bezier Triangles Use subdivision in parametric space!!! First k rows of triangles from subdivision yield Ck continuity conditions

Continuity Between Bezier Triangles C1 continuity

Continuity Between Bezier Triangles C1 continuity

Continuity Between Bezier Triangles C1 continuity

Multi-Sided Patches Multi-sided holes in surfaces can be difficult to fill Construct a generalized Bezier patch for multi-sided holes

Control Points for Multi-Sided Patches Five sided control points

Control Points for Multi-Sided Patches Five sided control points

Control Points for Multi-Sided Patches Five sided control points Index has number of entries equal to vertices in base shape

Control Points for Multi-Sided Patches Five sided control points Index has number of entries equal to vertices in base shape Entries positive and sum to d

Control Points for Multi-Sided Patches Five sided control points

Control Points for Multi-Sided Patches Five sided control points

Control Points for Multi-Sided Patches Five sided control points

Control Points for Multi-Sided Patches Five sided control points

Control Points for Multi-Sided Patches Five sided control points

S-Patch Construction Start with a polygonal domain

S-Patch Construction Given a point inside parametric domain, find barycentric coordinates w.r.t. domain

S-Patch Construction Control points in domain are given by

S-Patch Evaluation Apply barycentric coordinates to each shape in hierarchy

S-Patch Evaluation Apply barycentric coordinates to each shape in hierarchy

S-Patch Evaluation Apply barycentric coordinates to each shape in hierarchy

S-Patch Evaluation Apply barycentric coordinates to each shape in hierarchy

S-Patch Evaluation Apply barycentric coordinates to each shape in hierarchy

S-Patch Evaluation Apply barycentric coordinates to each shape in hierarchy

S-Patch Evaluation Apply barycentric coordinates to each shape in hierarchy

S-Patch Evaluation Apply barycentric coordinates to each shape in hierarchy

S-Patch Evaluation Apply barycentric coordinates to each shape in hierarchy

S-Patch Properties Boundary curves are Bezier curve Convex hull Surface is rational if barycentric coordinates used are rational functions

Control Points for Multi-Sided Patches

Control Points for Multi-Sided Patches

Control Points for Multi-Sided Patches Minkowski summations for multi-sided patches

Control Points for Multi-Sided Patches Minkowski summations for multi-sided patches

S-Patch Oddities Multiple ways of defining multi-sided grids

S-Patch Evaluation Given a point inside parametric domain, find barycentric coordinates w.r.t. convex hull of domain

S-Patch Evaluation Given a point inside parametric domain, find barycentric coordinates w.r.t. convex hull of domain

S-Patch Evaluation Given a point inside parametric domain, find barycentric coordinates w.r.t. convex hull of domain

S-Patch Evaluation Given a point inside parametric domain, find barycentric coordinates w.r.t. convex hull of domain