Coons Patches and Gregory Patches Dr. Scott Schaefer 1 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 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 f (s,1) curves t f (0, t ) f (s,0) f (1, t ) s 3/39 Coons Patches Build a ruled surface between pairs of curves f (s,1) t f (0, t ) f (s,0) f (1, t ) s 4/39 Coons Patches Build a ruled surface between pairs of curves f1 (s, t ) (1 t ) f (s,0) t f (s,1) f 2 (s, t ) (1 s) f (0, t ) s f (1, t ) f (s,1) t f (0, t ) f (s,0) f (1, t ) s 5/39 Coons Patches Build a ruled surface between pairs of curves f1 (s, t ) (1 t ) f (s,0) t f (s,1) f (s,1) t f (s,0) s 6/39 Coons Patches Build a ruled surface between pairs of curves f 2 (s, t ) (1 s) f (0, t ) s f (1, t ) t f (0, t ) f (1, t ) s 7/39 Coons Patches “Correct” surface to make boundaries match f1 (s, t ) f 2 (s, t ) ((1 s)(1 t ) f (0,0) (1 s)t f (0,1) s(1 t ) f (1,0) s t f (1,1)) f (s,1) t f (0, t ) f (s,0) f (1, t ) s 8/39 Coons Patches “Correct” surface to make boundaries match 1 t f (0, t ) f (0,0) 1 s s f (s,0) f (s,1) 1 s s t f (1, t ) f (1,0) f (0,1) 1 t f (1,1) t f (s,1) t f (0, t ) f (s,0) f (1, t ) s 9/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 10/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 f ( s , 0 ) f ( s ,1) f ( 0 ,t ) f (1,t ) , t , s , s , construct a smooth t surface interpolating these curves and derivatives 11/39 Hermite Coons Patches Use Hermite interpolation!!! f1 ( s, t ) f ( s,0) f ( s , 0 ) f ( s ,1) t t (t 1) 2 (1 2t ) 2 (t 1) t H (t ) 2 ( t 1 ) t 2 (3 2t )t f ( s,1) H (t ) 12/39 Hermite Coons Patches Use Hermite interpolation!!! f 2 ( s, t ) f (0, t ) f ( 0 ,t ) f (1,t ) s s (t 1) 2 (1 2t ) 2 (t 1) t H (t ) 2 ( t 1 ) t 2 (3 2t )t f (1, t ) H ( s) 13/39 Hermite Coons Patches Use Hermite interpolation!!! f (0,0) f ( 0,0 ) T f ( s, t ) f1 ( s, t ) f 2 ( s, t ) H ( s ) f (1u, 0) u f (1,0) (t 1) 2 (1 2t ) 2 (t 1) t H (t ) 2 ( t 1 ) t 2 (3 2t )t f ( 0 , 0 ) v f ( 0 , 0 ) uv f (1, 0 ) uv f (1, 0 ) v f ( 0 ,1) v f ( 0 ,1) uv f (1,1) uv f (1,1) v f (0,1) f ( 0 ,1) u H (t ) f (1,1) u f (1,1) 14/39 Hermite Coons Patches Use Hermite interpolation!!! f (0,0) f ( 0,0 ) T f ( s, t ) f1 ( s, t ) f 2 ( s, t ) H ( s ) f (1u, 0) u f (1,0) (t 1) 2 (1 2t ) 2 (t 1) t H (t ) 2 ( t 1 ) t 2 (3 2t )t f ( 0 , 0 ) v f ( 0 , 0 ) uv f (1, 0 ) uv f (1, 0 ) v f ( 0 ,1) v f ( 0 ,1) uv f (1,1) uv f (1,1) v f (0,1) f ( 0 ,1) u H (t ) f (1,1) u f (1,1) Requires mixed partials 15/39 Problems With Bezier Patches p03 p13 p23 p33 p02 p12 p22 p32 p01 p11 p21 p31 p00 p10 p20 p30 16/39 Problems With Bezier Patches f ( s, t ) s 17/39 Problems With Bezier Patches f ( s, t ) t 18/39 Problems With Bezier Patches Derivatives along edges not independent!!! 19/39 Solution 20/39 Solution 21/39 Gregory Patches p03 p13 p23 p12t p02 t p22 s p22 p12s p11s p01 p00 p32 s p21 p11t p10 p33 p t 21 p20 p31 p30 22/39 Gregory Patch Evaluation t p03 t p11s s p11 p11 st s t t p21 (1 s) p21 p02 p21 1 s t s t (1 t ) p22 (1 s) p22 p22 p01 2 s t t (1 t ) p12s s p12 p12 1 s t p00 p13 p23 p12t t p22 s p22 p12s p11s p32 s p21 p11t p10 p33 p t 21 p20 p31 p30 23/39 Gregory Patch Evaluation Derivative along edge decoupled from adjacent edge at interior points p03 p13 p23 p12t p02 t p22 s p22 p12s p11s p01 p00 p32 s p21 p11t p10 p33 p t 21 p20 p31 p30 24/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) 25/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 26/39 Constructing Smooth Surfaces With Gregory Patches Need to specify interior points for crossboundary derivatives Gregory patches allow us to consider each edge independently!!! 27/39 Constructing Smooth Surfaces With Gregory Patches Need to specify interior points for crossboundary derivatives Gregory patches allow us to consider each edge independently!!! Fixed control points!! 28/39 Constructing Smooth Surfaces With Gregory Patches Need to specify interior points for crossboundary derivatives Gregory patches allow us to consider each edge independently!!! v0 u0 v̂0 u1 v̂1 v3 v2 v1 u2 v̂2 v̂3 29/39 Constructing Smooth Surfaces With Gregory Patches Need to specify interior points for crossboundary derivatives Gregory patches allow us to consider each edge independently!!! v(t ) Bi3 (t )vi i vˆ(t ) Bi3 (t )vˆi v0 u0 i u (t ) Bi2 (t )ui i v̂0 u1 v̂1 v3 v2 v1 u2 v̂2 v̂3 30/39 Constructing Smooth Surfaces With Gregory Patches Need to specify interior points for crossboundary derivatives Gregory patches allow us to consider each edge independently!!! Derivatives must be linearly dependent!!! v(t ) u (t ) vˆ(t ) v0 u0 v̂0 u1 v̂1 v3 v2 v1 u2 v̂2 v̂3 31/39 Constructing Smooth Surfaces With Gregory Patches Need to specify interior points for crossboundary derivatives Gregory patches allow us to consider each edge independently!!! By construction, property holds at end-points!!! v0 0 v0 0 u0 vˆ0 3 v3 3 u3 vˆ3 u0 v̂0 u1 v̂1 v3 v2 v1 u2 v̂2 v̂3 32/39 Constructing Smooth Surfaces With Gregory Patches Need to specify interior points for crossboundary derivatives Gregory patches allow us to consider each edge independently!!! Assume weights change linearly ((1 t ) 0 t 3 )v(t ) ((1 t ) 0 t3 )u(t ) vˆ(t ) v0 u0 v̂0 u1 v̂1 v3 v2 v1 u2 v̂2 v̂3 33/39 Constructing Smooth Surfaces With Gregory Patches Need to specify interior points for crossboundary derivatives Gregory patches allow us to consider each edge independently!!! Assume weights change linearly ((1 t ) 0 t 3 )v(t ) ((1 t ) 0 t3 )u(t ) vˆ(t ) v0 u0 A quartic function. Not possible!!! v̂0 u1 v̂1 v3 v2 v1 u2 v̂2 v̂3 34/39 Constructing Smooth Surfaces With Gregory Patches Need to specify interior points for crossboundary derivatives Gregory patches allow us to consider each edge independently!!! Require v(t) to be quadratic ((1 t ) 0 t 3 )v(t ) ((1 t ) 0 t3 )u(t ) vˆ(t ) v0 u0 v0 3v1 3v2 v3 0 v̂0 u1 v̂1 v3 v2 v1 u2 v̂2 v̂3 35/39 Constructing Smooth Surfaces With Gregory Patches Need to specify interior points for crossboundary derivatives Gregory patches allow us to consider each edge independently!!! v0 3v1 3v2 v3 0 vˆ1 v1 0 v0 3 3 0 u1 2 3 0 u0 vˆ2 v2 3 v3 0 3 3 2 3 1 3 u u2 3 v0 3 u0 0 v3 v2 v1 u1 u2 3 v̂0 v̂1 v̂2 v̂3 36/39 Constructing Smooth Surfaces With Gregory Patches Problem: construction is not symmetric v (t ) is quadratic ˆ(t ) is cubic v v0 3v1 3v2 v3 0 vˆ1 v1 0 v0 3 3 0 u1 2 3 0 u0 vˆ2 v2 3 v3 0 3 3 2 3 1 3 u u2 3 v0 3 u0 0 v3 v2 v1 u1 u2 3 v̂0 v̂1 v̂2 v̂3 37/39 Constructing Smooth Surfaces With Gregory Patches Solution: assume v(t) is linear and use v1 23 v0 13 v3 , v2 13 v0 23 v3 to find vˆ1 , vˆ2 Same operation to find v1 , v2 v0 3v1 3v2 v3 0 vˆ1 v1 0 v0 3 3 0 u1 2 3 0 u0 vˆ2 v2 3 v3 0 3 3 2 3 1 3 u u2 3 v0 3 u0 0 v3 v2 v1 u1 u2 3 v̂0 v̂1 v̂2 v̂3 38/39 Constructing Smooth Surfaces With Gregory Patches Advantages Simple construction with finite set of (rational) polynomials Disadvantages Not very flexible since cross-boundary derivatives are not full cubics If cubic curves not available, can estimate tangent planes and build hermite curves 39/39
© Copyright 2026 Paperzz