Post on 02-Jan-2016
1
Dr. Scott Schaefer
Coons Patches and Gregory Patches
2/39
Patches With Arbitrary Boundaries
Given any 4 curves, f(s,0), f(s,1), f(0,t), f(1,t) that meet continuously at the corners, construct a smooth surface interpolating these curves
3/39
Patches With Arbitrary Boundaries
Given any 4 curves, f(s,0), f(s,1), f(0,t), f(1,t) that meet continuously at the corners, construct a smooth surface interpolating these curves
)0,(sf
)1,(sf
),0( tf
),1( tf
s
t
4/39
Coons Patches
Build a ruled surface between pairs of curves
)0,(sf
)1,(sf
),0( tf
),1( tf
s
t
5/39
Coons Patches
Build a ruled surface between pairs of curves
)0,(sf
)1,(sf
),0( tf
),1( tf
s
t
)1,()0,()1(),(1 sftsfttsf
),1(),0()1(),(2 tfstfstsf
6/39
Coons Patches
Build a ruled surface between pairs of curves
)0,(sf
)1,(sf
s
t
)1,()0,()1(),(1 sftsfttsf
7/39
Coons Patches
Build a ruled surface between pairs of curves
),0( tf
),1( tf
s
t
),1(),0()1(),(2 tfstfstsf
8/39
Coons Patches
“Correct” surface to make boundaries match
)0,(sf
)1,(sf
s
t
))1,1()0,1()1()1,0()1()0,0()1)(1((),(),( 21 ftsftsftsftstsftsf
),0( tf
),1( tf
9/39
Coons Patches
“Correct” surface to make boundaries match
)0,(sf
)1,(sf
s
t
t
t
ff
ffss
tf
tfss
t
tsfsf
1
)1,1()0,1(
)1,0()0,0(1
),1(
),0(1
1)1,()0,(
),0( tf
),1( tf
10/39
Properties of Coons Patches
Interpolate arbitrary boundaries Smoothness of surface equivalent to
minimum smoothness of boundary curves Don’t provide higher continuity across
boundaries
11/39
Hermite Coons Patches
Given any 4 curves, f(s,0), f(s,1), f(0,t), f(1,t) that meet continuously at the corners and cross-boundary derivatives along these edges
, construct a smooth surface interpolating these curves and derivatives
stf
stf
tsf
tsf
),1(),0()1,()0,( ,,,
12/39
Hermite Coons Patches
Use Hermite interpolation!!!
2
2
2
2
)23(
)1(
)1(
)21()1(
)(
tt
tt
tt
tt
tH
)()1,()0,(),( )1,()0,(1 tHsfsftsf t
sftsf
13/39
Hermite Coons Patches
Use Hermite interpolation!!!
)(),1(),0(),( ),1(),0(2 sHtftftsf s
tfstf
2
2
2
2
)23(
)1(
)1(
)21()1(
)(
tt
tt
tt
tt
tH
14/39
Hermite Coons Patches
Use Hermite interpolation!!!
)(
)1,1()0,1(
)1,0()0,0(
)(),(),(),(
)1,1()0,1(
)1,1()1,1()0,1()0,1(
)1,0()1,0()0,0()0,0(
)1,0()0,0(
21 tH
ff
ff
sHtsftsftsf
vf
vf
uf
vuf
vuf
uf
uf
vuf
vuf
uf
vf
vf
T
2
2
2
2
)23(
)1(
)1(
)21()1(
)(
tt
tt
tt
tt
tH
15/39
Hermite Coons Patches
Use Hermite interpolation!!!
)(
)1,1()0,1(
)1,0()0,0(
)(),(),(),(
)1,1()0,1(
)1,1()1,1()0,1()0,1(
)1,0()1,0()0,0()0,0(
)1,0()0,0(
21 tH
ff
ff
sHtsftsftsf
vf
vf
uf
vuf
vuf
uf
uf
vuf
vuf
uf
vf
vf
T
2
2
2
2
)23(
)1(
)1(
)21()1(
)(
tt
tt
tt
tt
tH
Requires mixed partials
16/39
Problems With Bezier Patches
00p 10p 20p 30p
01p 11p 21p 31p
02p 12p 22p 32p
03p 13p 23p 33p
17/39
Problems With Bezier Patches
s
tsf
),(
18/39
Problems With Bezier Patches
t
tsf
),(
19/39
Problems With Bezier Patches
Derivatives along edges not independent!!!
Solution
20/39
Solution
21/39
22/39
Gregory Patches
00p 10p 20p 30p
01p tp11tp21
31p
02p sp12sp22 32p
03p 13p 23p 33p
tp12tp22
sp21sp11
23/39
Gregory Patch Evaluation
00p 10p 20p 30p
01p tp11tp21
31p
02p sp12sp22 32p
03p 13p 23p 33p
tp12tp22
sp21sp11
ts
psptp
ts
111111
ts
psptp
ts
1
)1( 212121
ts
psptp
ts
2
)1()1( 222222
ts
psptp
ts
1
)1( 121212
24/39
Gregory Patch Evaluation
00p 10p 20p 30p
01p tp11tp21
31p
02p sp12sp22 32p
03p 13p 23p 33p
tp12tp22
sp21sp11
Derivative along edge decoupled from adjacent edge at interior points
25/39
Gregory Patch Properties
Rational patches Independent control of derivatives along
edges except at end-points Don’t have to specify mixed partial
derivatives Interior derivatives more complicated due to
rational structure Special care must be taken at corners (poles
in rational functions)
26/39
Constructing Smooth Surfaces With Gregory Patches Assume a network of cubic curves forming
quad shapes with curves meeting with C1 continuity
Construct a C1 surface that interpolates these curves
27/39
Constructing Smooth Surfaces With Gregory Patches Need to specify interior points for cross-
boundary derivatives Gregory patches allow us to consider each
edge independently!!!
28/39
Constructing Smooth Surfaces With Gregory Patches Need to specify interior points for cross-
boundary derivatives Gregory patches allow us to consider each
edge independently!!!
Fixed control points!!
29/39
Constructing Smooth Surfaces With Gregory Patches Need to specify interior points for cross-
boundary derivatives Gregory patches allow us to consider each
edge independently!!!
0v 1v 2v 3v
0v̂ 1̂v 2v̂ 3v̂
0u 1u 2u
30/39
Constructing Smooth Surfaces With Gregory Patches Need to specify interior points for cross-
boundary derivatives Gregory patches allow us to consider each
edge independently!!!
ii
i vtBtv )()( 3
ii
i vtBtv ˆ)()(ˆ 3
ii
i utBtu )()( 2
0v 1v 2v 3v
0v̂ 1̂v 2v̂ 3v̂
0u 1u 2u
31/39
Constructing Smooth Surfaces With Gregory Patches Need to specify interior points for cross-
boundary derivatives Gregory patches allow us to consider each
edge independently!!!
)(ˆ)()( tvtutv
Derivatives must be linearly dependent!!! 0v 1v 2v 3v
0v̂ 1̂v 2v̂ 3v̂
0u 1u 2u
32/39
Constructing Smooth Surfaces With Gregory Patches Need to specify interior points for cross-
boundary derivatives Gregory patches allow us to consider each
edge independently!!!
33333
00000
ˆ
ˆ
vuv
vuv
By construction, property holds at end-points!!! 0v 1v 2v 3v
0v̂ 1̂v 2v̂ 3v̂
0u 1u 2u
33/39
Constructing Smooth Surfaces With Gregory Patches Need to specify interior points for cross-
boundary derivatives Gregory patches allow us to consider each
edge independently!!!
0v 1v 2v 3v
0v̂ 1̂v 2v̂ 3v̂
0u 1u 2u)(ˆ)())1(()())1(( 3030 tvtutttvtt
Assume weights change linearly
34/39
Constructing Smooth Surfaces With Gregory Patches Need to specify interior points for cross-
boundary derivatives Gregory patches allow us to consider each
edge independently!!!
0v 1v 2v 3v
0v̂ 1̂v 2v̂ 3v̂
0u 1u 2u)(ˆ)())1(()())1(( 3030 tvtutttvtt
Assume weights change linearly
A quartic function. Not possible!!!
35/39
Constructing Smooth Surfaces With Gregory Patches Need to specify interior points for cross-
boundary derivatives Gregory patches allow us to consider each
edge independently!!!
0v 1v 2v 3v
0v̂ 1̂v 2v̂ 3v̂
0u 1u 2u)(ˆ)())1(()())1(( 3030 tvtutttvtt
Require v(t) to be quadratic
033 3210 vvvv
36/39
Constructing Smooth Surfaces With Gregory Patches Need to specify interior points for cross-
boundary derivatives Gregory patches allow us to consider each
edge independently!!!
0v 1v 2v 3v
0v̂ 1̂v 2v̂ 3v̂
0u 1u 2u323
2133322
3032
130011
0330
3003
ˆ
ˆ
uuvvv
uuvvv
033 3210 vvvv
37/39
Constructing Smooth Surfaces With Gregory Patches Problem: construction is not symmetric
is quadratic is cubic
0v 1v 2v 3v
0v̂ 1̂v 2v̂ 3v̂
0u 1u 2u323
2133322
3032
130011
0330
3003
ˆ
ˆ
uuvvv
uuvvv
033 3210 vvvv
)(ˆ tv)(tv
38/39
Constructing Smooth Surfaces With Gregory Patches Solution: assume v(t) is linear and use
to find Same operation to find
0v 1v 2v 3v
0v̂ 1̂v 2v̂ 3v̂
0u 1u 2u323
2133322
3032
130011
0330
3003
ˆ
ˆ
uuvvv
uuvvv
033 3210 vvvv
332
031
2331
032
1 , vvvvvv 21 ˆ,ˆ vv
21, vv
39/39
Constructing Smooth Surfaces With Gregory Patches Advantages
Simple construction with finite set of (rational) polynomials
DisadvantagesNot very flexible since cross-boundary
derivatives are not full cubics
If cubic curves not available, can estimate tangent planes and build hermite curves