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