TensorProduct Surfaces Dr Scott Schaefer 1 Smooth Surfaces

  • Slides: 64
Download presentation
Tensor-Product Surfaces Dr. Scott Schaefer 1

Tensor-Product Surfaces Dr. Scott Schaefer 1

Smooth Surfaces Lagrange Surfaces u Interpolating sets of curves n Bezier Surfaces n B-spline

Smooth Surfaces Lagrange Surfaces u Interpolating sets of curves n Bezier Surfaces n B-spline Surfaces n 2

Lagrange Surfaces 3

Lagrange Surfaces 3

Lagrange Surfaces 4

Lagrange Surfaces 4

Lagrange Surfaces 5

Lagrange Surfaces 5

Lagrange Surfaces 6

Lagrange Surfaces 6

Lagrange Surfaces 7

Lagrange Surfaces 7

Lagrange Surfaces 8

Lagrange Surfaces 8

Lagrange Surfaces 9

Lagrange Surfaces 9

Lagrange Surfaces 10

Lagrange Surfaces 10

Lagrange Surfaces 11

Lagrange Surfaces 11

Lagrange Surfaces 12

Lagrange Surfaces 12

Lagrange Surfaces 13

Lagrange Surfaces 13

Lagrange Surfaces 14

Lagrange Surfaces 14

Lagrange Surfaces 15

Lagrange Surfaces 15

Lagrange Surfaces 16

Lagrange Surfaces 16

Lagrange Surfaces – Properties Surface interpolates all control points n The boundaries of the

Lagrange Surfaces – Properties Surface interpolates all control points n The boundaries of the surface are Lagrange curves defined by the control points on the boundary n 17

Interpolating Sets of Curves n Given a set of parametric curves p 0(t), p

Interpolating Sets of Curves n Given a set of parametric curves p 0(t), p 1(t), …, pn(t) , build a surface that interpolates them 18

Interpolating Sets of Curves n Given a set of parametric curves p 0(t), p

Interpolating Sets of Curves n Given a set of parametric curves p 0(t), p 1(t), …, pn(t) , build a surface that interpolates them Evaluate each curve at parameter value t, then use these points as the control points for a Lagrange curve of degree n n Evaluate this new curve at parameter value s n 19

Bezier Surfaces 20

Bezier Surfaces 20

Bezier Surfaces 21

Bezier Surfaces 21

Bezier Surfaces 22

Bezier Surfaces 22

Bezier Surfaces 23

Bezier Surfaces 23

Bezier Surfaces 24

Bezier Surfaces 24

Bezier Surfaces 25

Bezier Surfaces 25

Bezier Surfaces 26

Bezier Surfaces 26

Bezier Surfaces 27

Bezier Surfaces 27

Bezier Surfaces 28

Bezier Surfaces 28

Bezier Surfaces 29

Bezier Surfaces 29

Bezier Surfaces 30

Bezier Surfaces 30

Bezier Surfaces – Properties Surface lies in convex hull of control points n Surface

Bezier Surfaces – Properties Surface lies in convex hull of control points n Surface interpolates the four corner control points n Boundary curves are Bezier curves defined only by control points on boundary n 31

General Tensor Product Surfaces 32

General Tensor Product Surfaces 32

General Tensor Product Surfaces 33

General Tensor Product Surfaces 33

Properties n Curve properties/algorithms apply to surfaces too u Convex hull 34

Properties n Curve properties/algorithms apply to surfaces too u Convex hull 34

Properties n Curve properties/algorithms apply to surfaces too u Convex hull u Degree elevation

Properties n Curve properties/algorithms apply to surfaces too u Convex hull u Degree elevation 35

Properties n Curve properties/algorithms apply to surfaces too u Convex hull u Degree elevation

Properties n Curve properties/algorithms apply to surfaces too u Convex hull u Degree elevation u Evaluation algorithms 36

Properties n Curve properties/algorithms apply to surfaces too u Convex hull u Degree elevation

Properties n Curve properties/algorithms apply to surfaces too u Convex hull u Degree elevation u Evaluation algorithms u …. u Analog of variation diminishing does not apply!!! 37

Matrix Form of Quadrilateral Bezier Patches 38

Matrix Form of Quadrilateral Bezier Patches 38

Matrix Form of Quadrilateral Bezier Patches 39

Matrix Form of Quadrilateral Bezier Patches 39

de. Casteljau Algorithm for Bezier Surfaces 40

de. Casteljau Algorithm for Bezier Surfaces 40

de. Casteljau Algorithm for Bezier Surfaces 41

de. Casteljau Algorithm for Bezier Surfaces 41

de. Casteljau Algorithm for Bezier Surfaces 42

de. Casteljau Algorithm for Bezier Surfaces 42

de. Casteljau Algorithm for Bezier Surfaces 43

de. Casteljau Algorithm for Bezier Surfaces 43

de. Casteljau Algorithm for Bezier Surfaces 44

de. Casteljau Algorithm for Bezier Surfaces 44

de. Casteljau Algorithm for Bezier Surfaces 45

de. Casteljau Algorithm for Bezier Surfaces 45

de. Casteljau Algorithm for Bezier Surfaces 46

de. Casteljau Algorithm for Bezier Surfaces 46

de. Casteljau Algorithm for Bezier Surfaces 47

de. Casteljau Algorithm for Bezier Surfaces 47

de. Casteljau Algorithm for Bezier Surfaces 48

de. Casteljau Algorithm for Bezier Surfaces 48

Derivatives of Bezier Surfaces Exact evaluate in the s-direction and use those control points

Derivatives of Bezier Surfaces Exact evaluate in the s-direction and use those control points to compute derivative in t -direction n Exact evaluate in the t-direction and use those control points to compute derivative in sdirection n n Use a pyramid algorithm to compute derivatives 49

Derivatives using de. Casteljau’s algorithm 50

Derivatives using de. Casteljau’s algorithm 50

Derivatives using de. Casteljau’s algorithm 51

Derivatives using de. Casteljau’s algorithm 51

Derivatives using de. Casteljau’s algorithm 52

Derivatives using de. Casteljau’s algorithm 52

Blossoming for Tensor-Product Patches n n n Symmetry: b(s 1, s 2, …, sm|t

Blossoming for Tensor-Product Patches n n n Symmetry: b(s 1, s 2, …, sm|t 1, t 2, …, tn) = b(sq(1), sq(2), …, sq(m)|tr(1), tr(2), …, tr(n)) for any permutation q of (1, …, m) and r of (1, . . . , n) Multi-affine: b(s 1, …, (1 -d)sk+d vk, , …sm |t 1, …, (1 -e)tj+e wj, , …tn) = (1 -d)(1 -e) b(s 1, …, sk, , …sm|t 1, …, tj, , …tn) + (1 -d)e b(s 1, …, sk, , …sm|t 1, …, wj, , …tn) + de b(s 1, …, vk, , …sm|t 1, …, wj, , …tn) + d(1 -e) b(s 1, …, vk, , …sm|t 1, …, tj, , …tn) Diagonal: b(s, s, …, s|t, t, …, t) = p(s, t) 53

Curves on Bezier Surfaces n Assume we have points p(s 1, t 1), p(s

Curves on Bezier Surfaces n Assume we have points p(s 1, t 1), p(s 2, t 2) on a Bezier surface p(s, t). Construct a curve on the Bezier surface between these two points. 54

Curves on Bezier Surfaces n Assume we have points p(s 1, t 1), p(s

Curves on Bezier Surfaces n Assume we have points p(s 1, t 1), p(s 2, t 2) on a Bezier surface p(s, t). Construct a curve on the Bezier surface between these two points. 55

Curves on Bezier Surfaces n Assume we have points p(s 1, t 1), p(s

Curves on Bezier Surfaces n Assume we have points p(s 1, t 1), p(s 2, t 2) on a Bezier surface p(s, t). Construct a curve on the Bezier surface between these two points. 56

Curves on Bezier Surfaces n Assume we have points p(s 1, t 1), p(s

Curves on Bezier Surfaces n Assume we have points p(s 1, t 1), p(s 2, t 2) on a Bezier surface p(s, t). Construct a curve on the Bezier surface between these two points. 57

Curves on Bezier Surfaces n Assume we have points p(s 1, t 1), p(s

Curves on Bezier Surfaces n Assume we have points p(s 1, t 1), p(s 2, t 2) on a Bezier surface p(s, t). Construct a curve on the Bezier surface between these two points. 58

Curves on Bezier Surfaces n Assume we have points p(s 1, t 1), p(s

Curves on Bezier Surfaces n Assume we have points p(s 1, t 1), p(s 2, t 2) on a Bezier surface p(s, t). Construct a curve on the Bezier surface between these two points. 59

Curves on Bezier Surfaces n Assume we have points p(s 1, t 1), p(s

Curves on Bezier Surfaces n Assume we have points p(s 1, t 1), p(s 2, t 2) on a Bezier surface p(s, t). Construct a curve on the Bezier surface between these two points. kth control point for Bezier curve of degree n+m!!! 60

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

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

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

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

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

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

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

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