1 Dr. Scott Schaefer Bezier Triangles and Multi-Sided Patches.

Slides:



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

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.
1 Curves and Surfaces. 2 Representation of Curves & Surfaces Polygon Meshes Parametric Cubic Curves Parametric Bi-Cubic Surfaces Quadric Surfaces Specialized.
Q about GL to render polygon glBegin(GL_TRIANGLES) glVertex3f(0,0,0); glVertex3f(1,1,0); glVertex3f(1,0,0); glVertex3f(0,1,0); glEnd();
Subdivision Curves & Surfaces and Fractal Mountains. CS184 – Spring 2011.
A Bezier Based Approach to Unstructured Moving Meshes ALADDIN and Sangria Gary Miller David Cardoze Todd Phillips Noel Walkington Mark Olah Miklos Bergou.
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.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 12: Spline Curves (review) Ravi Ramamoorthi Most material.
CS CS 175 – Week 8 Bézier Curves Definition, Algorithms.
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
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/25/02 Dinesh Manocha, COMP258 Subdividing a Bezier Patch Subdivide separately along u and v parameters To subdivide along the u parameter, subdivide.
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
Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
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
Parametric Curves & Surfaces
Curves and Surfaces (cont’) Amy Zhang. Conversion between Representations  Example: Convert a curve from a cubic B-spline curve to the Bézier form:
1 Dr. Scott Schaefer Geometric Modeling CSCE 645/VIZA 675.
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.
Surfaces Lecture 6 (Modelling). Reminder: Homogenous Co-ordinates l2D Translations cannot be encoded using matrix multiplication because points at the.
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.
Surface displacement, tessellation, and subdivision Ikrima Elhassan.
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.
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.
Parametric Curves CS 318 Interactive Computer Graphics John C. Hart.
1 Graphics CSCI 343, Fall 2015 Lecture 34 Curves and Surfaces III.
Extended Free-Form Deformation Xiao, Yongqin CMPS260 Winter 2003 Instructor: Alex Pang.
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.
CS552: Computer Graphics Lecture 19: Bezier Curves.
Introduction to Parametric Curve and Surface Modeling.
Curve & Surface.
Bezier Triangles and Multi-Sided Patches
Smooth Surfaces Dr. Scott Schaefer.
© 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
From Point Clouds To Trimmed NURBS
The Bernstein Basis and Bezier Curves
Parametric Line equations
Coons Patches and Gregory Patches
Clipping Polygons Dr. Scott Schaefer.
Overview June 9- B-Spline Curves June 16- NURBS Curves
Presentation transcript:

1 Dr. Scott Schaefer Bezier Triangles and Multi-Sided Patches

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

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

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

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

6/72 Bezier Triangles Control points p ijk defined in triangular array

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

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

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

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

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

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

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

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

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

16/72 Properties of Bezier Triangles Convex hull

17/72 Properties of Bezier Triangles Convex hull Boundaries are Bezier curves

18/72 Properties of Bezier Triangles Convex hull Boundaries are Bezier curves

19/72 Properties of Bezier Triangles Convex hull Boundaries are Bezier curves

20/72 Properties of Bezier Triangles Convex hull Boundaries are Bezier curves

21/72 Properties of Bezier Triangles Convex hull Boundaries are Bezier curves

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

23/72 Subdividing Bezier Triangles

24/72 Subdividing Bezier Triangles

25/72 Subdividing Bezier Triangles

26/72 Subdividing Bezier Triangles

27/72 Subdividing Bezier Triangles

28/72 Subdividing Bezier Triangles

29/72 Subdividing Bezier Triangles

30/72 Subdividing Bezier Triangles Split along longest edge

31/72 Subdividing Bezier Triangles Split along longest edge

32/72 Derivatives of Bezier Triangles

33/72 Derivatives of Bezier Triangles

34/72 Derivatives of Bezier Triangles

35/72 Derivatives of Bezier Triangles Really only 2 directions for derivatives!!!

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

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

38/72 Continuity Between Bezier Triangles How do we determine continuity conditions between Bezier triangles? Control points on boundary align for C 0

39/72 Continuity Between Bezier Triangles How do we determine continuity conditions between Bezier triangles? What about C 1 ?

40/72 Continuity Between Bezier Triangles Use subdivision in parametric space!!!

41/72 Continuity Between Bezier Triangles Use subdivision in parametric space!!! First k rows of triangles from subdivision yield C k continuity conditions

42/72 Continuity Between Bezier Triangles C 1 continuity

43/72 Continuity Between Bezier Triangles C 1 continuity

44/72 Continuity Between Bezier Triangles C 1 continuity

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

46/72 Control Points for Multi-Sided Patches

47/72 Control Points for Multi-Sided Patches

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

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

50/72 Control Points for Multi-Sided Patches Five sided control points

51/72 Control Points for Multi-Sided Patches Five sided control points

52/72 Control Points for Multi-Sided Patches Five sided control points

53/72 Control Points for Multi-Sided Patches Five sided control points

54/72 Control Points for Multi-Sided Patches Five sided control points

55/72 Control Points for Multi-Sided Patches Five sided control points

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

71/72 S-Patch Properties Boundary curves are Bezier curve Convex hull Surface is rational because barycentric coordinates used are rational functions

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