A Quartic Clough-Tocher Interpolant
Xiang Fang and Stephen Mann
Computer Science, University of Waterloo, 200 University Ave W., Waterloo, Ontario, N2L 3G1, Canada
Keywords:
Triangular B
´
ezier Patches, Clough-Tocher Interpolation, Least Squares.
Abstract:
In this paper we present a quartic version of the Clough-Tocher scheme for Hermite interpolation of functional
data. This variation uses least squares to minimize discontinuities across the macro-patch boundaries, as
well as adjusting one of the macro-boundary control points. The resulting surfaces have significantly better
shape than a cubic version of Clough-Tocher that also used least squares to minimize discontinuities across
patch boundaries. We compare our method to this cubic version of Clough-Tocher using shaded images and
Gaussian curvature plots.
1 INTRODUCTION
Scattered data interpolation problems are studied to
construct surfaces that interpolate locations and first
partial derivatives (normals) at the data sites. Often,
the data sites are triangulated and spline construction
schemes with Bernstein-B
´
ezier triangular patches are
used. The shape of a surface is usually judged by the
degree of smoothness. For simple piecewise polyno-
mial surfaces, the minimal degree required to meet C
1
continuity conditions with a single polynomial patch
per data triangle is ve, and for C
2
continuity the
minimum degree is nine (
ˇ
Zen
´
ı
ˇ
sek, 1970). These de-
grees can be reduced by triangle split schemes. One
of the simplest schemes is the Clough-Tocher inter-
polant (Clough and Tocher, 1965), which splits each
triangle into three smaller ones. This scheme reduces
the degree of C
1
continuous surfaces to three, and also
provides an extra degree of freedom for each bound-
ary. Kashyap later gave ways to improve the Clough-
Tocher interpolant’s quality by adjusting the available
degrees of freedom (Kashyap, 1996), and in particu-
lar by reducing the discontinuity in the crossboundary
derivative.
We present a new scheme to improve the Clough-
Tocher interpolant’s quality by increasing the order
of the surface from three to four. A major limita-
tion of the cubic Clough-Tocher interpolants is that
the boundaries of data sites triangles are fixed, which
causes wrinkles and bumps. For the quartic version
of Clough-Tocher, there is an extra control point on
each boundary, which we can set arbitrarily and still
interpolate the given data. The interpolant’s quality
can be improved by adjusting these boundary control
points, as well as by reducing the discontinuity in the
crossboundary derivatives, where the boundary curve
adjustment is based on minimizing the control point
movement in the crossboundary adjustment.
The main result of this paper is that the adjust-
ment to the boundary curve in conjunction with a cou-
pled crossboundary adjustment was key to the shape
improvements that we obtained. Applying the cross-
boundary adjustment alone give little or no shape im-
provements.
We our interested in surface shape, so our primary
evaluation of surface quality is visual. Thus while we
compute the maximum and root mean square error
of the interpolants, we focus on shaded images and
Gaussian curvature plots as illustrations of the surface
shape and quality.
2 BACKGROUND
In this section, we start with a brief introduction
of triangular B
´
ezier patches and continuity between
patches (see any CAGD textbook for proofs and addi-
tional details (Farin, 2002)).
2.1 Triangular B
´
ezier Patches
A degree n triangular B
´
ezier patch has the form
P(t) =
~
i
P
~
i
B
n
~
i
(t)
where
~
i = (i
0
,i
1
,i
2
) with i
0
+ i
1
+ i
2
= n
Fang, X. and Mann, S.
A Quartic Clough-Tocher Interpolant.
DOI: 10.5220/0006547201990206
In Proceedings of the 13th International Joint Conference on Computer Vision, Imaging and Computer Graphics Theory and Applications (VISIGRAPP 2018) - Volume 1: GRAPP, pages
199-206
ISBN: 978-989-758-287-5
Copyright © 2018 by SCITEPRESS Science and Technology Publications, Lda. All rights reserved
199
Figure 1: Two patches meet with C
1
continuity if each
group of four control points on adjacent (shaded) panels are
co-planar.
and B
n
~
i
(t) are the multi-variate Bernstein polynomials,
B
n
~
i
(t) =
n
~
i
t
i
0
0
t
i
1
1
t
i
2
2
,
n
~
i
=
n!
i
1
!i
1
!i
2
!
and t = (t
0
,t
1
,t
2
) are the barycentric coordinates of
the point of evaluation with respect to the domain tri-
angle.
In this paper, we are interested in functional sur-
faces of the form z = f (x,y). In this setting, we can
embed the domain in 3-space, and the xy-coordinates
of the control points are uniformly distributed over the
domain triangle, while the z-coordinates are free to
take any values. While the control points are points in
3-space, the xy-coordinates of the control points cor-
respond to points in the embedded domain. At times
we will talk about taking the barycentric coordinates
of the control points relative to other control points;
this should be understood as computing the barycen-
tric coordinates relative to the projection of all these
points into the xy-plane.
2.2 Continuity
Our concern in this paper will be with joining patches
smoothly, meeting with at least C
1
continuity, al-
though we will also consider C
2
and C
3
continu-
ity. Assume we have two triangular B
´
ezier patches
over neighboring triangles, with domains 4CAB and
4DBA. Let (u,v,w) be the barycentric coordinates
of D with respect to 4CAB and let (u
0
,v
0
,w
0
) be the
barycentric coordinates of C with respect to 4DBA.
The two patches meet with C
0
continuity if they
share the same boundary control points (large black
points in Figure 1). Two triangular B
´
ezier patches
over neighboring triangles meet with C
1
continuity if
they meet with C
0
continuity and if adjacent panels
are co-planar (Figure 1).
Two triangular B
´
ezier patches meet with C
2
conti-
nuity if they meet with C
1
continuity and if we get the
l
5
l
2
l
1
l
3
e
2
e
1
l
4
r
1
r
2
r
3
r
4
r
5
D
A
B
C
Figure 2: Two patches meet with C
2
continuity if each ex-
tensions point (red points) are the same when extending
from either patch.
l
2
S
r
1
r
2
S
B
A
D
l
1
C
Figure 3: Two patches meet with C
3
continuity if each
group of four extension points (red points) are co-planar.
The surface interpolates S at C, and the normal to surface at
S is perpendicular to the plane spanned by S, l
1
,l
2
.
same points when the second layer of panels on each
side of the boundary are extended using the barycen-
tric coordinates of the corner of one triangle with re-
spect to the other triangle (Lai, 1997). In particular,
in the case of cubics (see Figure 2), we require
e
1
= ul
1
+ vl
3
+ wl
4
= u
0
r
2
+ v
0
r
4
+ w
0
r
5
e
2
= ul
2
+ vl
4
+ wl
5
= u
0
r
1
+ v
0
r
3
+ w
0
r
4
Two triangular B
´
ezier patches meet with C
3
conti-
nuity if they meet with C
2
continuity and if the exten-
sion points of the third layer of panels on each side of
the boundary are co-planar with the extension points
from the second layer (Lai, 1997). In particular, in
the case of cubics (see Figure 3), we require that the
points e
1
and e
2
be co-planar with the points
uS + vl
1
+ wl
2
, u
0
S
0
+ v
0
r
1
+ w
0
r
2
.
Further note that triangular B
´
ezier patches inter-
polate their corner control points, and that the normal
to the surface at the corner of the patch is perpendic-
ular to the plane spanned by the three corner control
points (Figure 3).
GRAPP 2018 - International Conference on Computer Graphics Theory and Applications
200
Figure 4: The Clough-Tocher split, showing cubic mini-
triangles.
3 CLOUGH-TOCHER
INTERPOLANTS
The original Clough-Tocher scheme used cubic
B
´
ezier patches. The layout of the control points are
shown in Figures 4 and 5. Referring to Figure 4,
the original Clough-Tocher scheme had the following
steps, with steps 1 and 2 meeting the data interpola-
tion requirements, and steps 3, 4, and 5 meeting the
co-planar C
1
continuity requirements:
1. Set P, Q, R to the positional data at the triangle cor-
ners.
2. Set r
3
, p
2
, p
1
to lie in the tangent plane given at
vertex P; set p
3
,q
2
,q
1
to lie in the tangent plane
given at vertex Q; set q
3
,r
2
,r
1
to lie in the tangent
plane at R.
3. Set p
4
to be coplanar with p
1
, p
3
and the equiva-
lent to p
4
on the other side of the macro-boundary
(in Figure 5, this refers to points l
4
, c
1
, c
2
and
r
4
being coplanar); q
4
and r
4
are set in a similar
manner.
4. Set p
5
to lie in the plane spanned by p
2
, p
4
,r
4
; q
5
and r
5
are set in a similar manner.
5. Set S to lie in the plane spanned by p
5
,q
5
,r
5
.
The only degree of freedom in this construction is in
Step 3 in the settings of the central control points p
4
,
q
4
, and r
4
, each of which has a linear degree of free-
dom. Several algorithms were developed to adjust
the central control points to get better shaped inter-
polants. Two variations of the Clough-Tocher scheme
given by Kashyap (Kashyap, 1996) will be reviewed.
3.1 Cubic Precision
One method of improving the quality of the Clough-
Tocher interpolant is to set the central control points
to achieve cubic precision if position and normal
data at a triangle as well as the position data at
the three neighboring triangles comes from a cubic;
see (Kashyap, 1996; Mann, 1999) for details of the
construction.
3.2 Fairing Algorithms
Kashyap used fairing algorithms to improve the shape
of the cubic Clough-Tocher interpolant, using both
exterior fairing across the macro-boundaries and in-
terior fairing across mini-boundaries. Each operation
minimizes or eliminates a specific order of disconti-
nuity while maintaining the conditions of lower or-
der continuity. For the cubic case, we will consider
the variation of Kashyap’s scheme that starts with the
cubic precision Clough-Tocher interpolant, and then
adjust the control points to minimize the C
2
disconti-
nuity, while ensuring that the C
1
conditions remained
satisfied.
3.2.1 Exterior Fairing
In this section, we give Kashyap’s method to update
the values of the central control points l
4
and r
4
by
minimizing the C
2
discontinuity across the macro-
boundaries while maintaining C
1
continuity across
the boundary. Figure 5 shows the control points
around an exterior boundary. Let (u,v,w) be the
barycentric coordinates of S
0
with respect to 4SP
1
P
2
,
and let (u
0
,v
0
,w
0
) be the barycentric coordinates of S
with respect to 4S
0
P
2
P
1
. The values of l
4
and r
4
need
to satisfy the C
1
conditions
ul
4
+ vc
1
+ wc
2
= r
4
, (1)
and the C
2
discontinuity across the macro-boundary
is represented in least squares form as
(ul
1
+ vl
3
+ wl
4
u
0
r
2
v
0
r
4
w
0
r
5
)
2
+(ul
2
+ vl
4
+ wl
5
u
0
r
1
v
0
r
3
w
0
r
4
)
2
.
(2)
Using least squares to minimize the value of (2)
while maintaining condition (1) gives the optimal val-
ues of l
4
and r
4
as
e
1
= u
0
r
1
+ v
0
r
3
ul
2
wl
5
e
2
= u
0
r
2
+ w
0
r
5
ul
1
vl
3
e
3
= 2v
2
+ 2w
2
e
4
= vc
1
+ wc
2
l
4
= (ve
1
+ we
2
)/e
3
e
4
/2u
r
4
= (uve
1
+ uwe
2
)/e
3
+ e
4
/2.
(3)
A Quartic Clough-Tocher Interpolant
201
Figure 5: An exterior boundary across cubic macro-
triangles.
3.2.2 Interior Fairing
In this section, the surface is smoothed across the
mini-triangle boundaries. The method used for min-
imizing the C
2
discontinuity across exterior bound-
aries cannot be applied here. Instead, Kashyap forced
the control points to satisfy the C
2
continuity condi-
tions, while minimizing the movement of the varying
control points from their present location.
Figure 4 shows the control points inside a macro-
triangle. To achieve C
2
continuity, the conditions
E
0
= 3p
4
p
1
p
3
= 3q
4
q
1
q
3
= 3r
4
r
1
r
3
,
(4)
where E
0
is an extension point, must be satisfied. The
value of point E
0
that meets the C
2
condition is not
unique, but a unique value can be calculated by mini-
mizing the movement of p
4
, q
4
, and r
4
:
(p
4
¯p
4
)
2
+ (q
4
¯q
4
)
2
+ (r
4
¯r
4
)
2
, (5)
where ¯p is the original value of point p. Then the
values of p
4
, q
4
, and r
4
that minimize the movement
of p
4
, q
4
, and r
4
in a least squares sense are
E
0
= ¯p
4
+ ¯q
4
+ ¯r
4
(p
1
+ p
3
+ q
1
+ q
3
+ r
1
+ r
3
)/3
p
4
= (S
0
+ p
1
+ p
3
)/3
q
4
= (S
0
+ q
1
+ q
3
)/3
r
4
= (S
0
+ r
1
+ r
3
)/3.
(6)
3.3 Kashyap’s Cubic Scheme
Kashyap’s scheme begins by computing the cubic
precision Clough-Tocher interpolant. The exterior
fairing and interior fairing are then applied repeat-
edly for a specific amount of times, and finally a C
1
smoothing step is done at the end.
Figure 6: Quartic split triangle.
4 QUARTIC CLOUGH-TOCHER
INTERPOLANT
In this section, we extend Kashyap’s idea for fair-
ing along the macro-boundaries to a quartic Clough-
Tocher method. Further, we use the extra freedom of
the quartic boundary to adjust the boundary curve to
get further shape improvements. Figure 6 shows the
control points of the three quartic B
´
ezier patches fit to
the three mini-triangles. As a starting point, we again
begin with the cubic precision Clough-Tocher inter-
polant, which we degree raise to get initial positions
for the quartic control points. Our fairing methods
will adjust the position of these quartic control points.
Although our final algorithm will first adjust the
boundary curve and then minimize the crossboundary
derivative discontinuity, we present the discontinuity
minimization process first, since the boundary curve
adjustment is derived from the crossboundary mini-
mization.
4.1 Exterior Fairing
In this section, we perform fairing across the macro-
boundaries as a two step process. In the first step, we
update the values of the central control points l
7
, l
8
,
r
7
and r
8
to meet all of the C
1
and two of the three
C
2
continuity conditions. Then in a second step, we
update the values of central control points l
4
and r
4
by minimizing the C
3
discontinuity across the macro-
boundary and meet the remaining C
2
continuity con-
dition, while maintaining the C
1
and the first two C
2
continuity conditions.
Figure 7 shows the control points around a exte-
rior boundary. Let (u,v,w) be the barycentric coordi-
nates of S
0
with respect to 4SP
1
P
2
, and let (u
0
,v
0
,w
0
)
be the barycentric coordinates of S with respect to
GRAPP 2018 - International Conference on Computer Graphics Theory and Applications
202
Figure 7: An exterior boundary across quartic macro-
triangles.
Figure 8: l
7
, l
8
, r
7
, and r
8
(red points) are set to meet the C
1
and C
2
conditions imposed by gray and turquoise panels.
4S
0
P
2
P
1
. There are three C
2
conditions, as illustrated
by the dark gray, green, and turquoise panels in Fig-
ure 8. In the first step, we adjust the values of l
7
, l
8
,
r
7
and r
8
to meet the C
1
and two of the C
2
conditions
(the ones illustrated by the dark gray and the turquoise
panels in Figure 8). The solution to this problem is
unique:
e
1
= u
2
l
3
uvl
6
+ r
5
vr
9
e
2
= u
2
l
5
uwl
9
+ r
3
wr
6
e
3
= vwc
1
w
2
c
2
e
4
= v
2
c
2
vwc
3
l
7
= (e
1
+ e
3
)/2uw
l
8
= (e
2
+ e
4
)/2uv
r
7
= (e
2
e
4
)/2v
r
8
= (e
1
e
3
)/2w.
(7)
In the second step, we adjust the control points
l
4
and r
4
. The values of l
4
and r
4
(the red points in
Figure 9) need to satisfy the conditions
ul
4
+ vl
7
+ wl
8
= u
0
r
4
+ v
0
r
7
+ w
0
r
8
(8)
to meet the third C
2
continuity conditions. The C
3
discontinuity across the macro-boundary can be rep-
Figure 9: l
4
and r
4
(red points) are set to minimize the C
3
discontinuity (imposed by gray and turquoise panels) while
maintaining C
2
condition (green panels).
resented in least squares form as
((u(ul
2
+ vl
4
+ wl
5
) +vc
0
2
+ wc
0
3
)
(u
0
r
1
+ v
0
r
3
+ w
0
r
4
))
2
+((u(ul
1
+ vl
3
+ wl
4
) +vc
0
1
+ wc
0
2
)
(u
0
r
2
+ v
0
r
4
+ w
0
r
5
))
2
(9)
where c
0
1
, c
0
2
, and c
0
3
are the corresponding extension
points:
c
0
1
= ul
3
+ vl
6
+ wl
7
= u
0
r
5
+ v
0
r
8
+ w
0
r
9
c
0
2
= ul
4
+ vl
7
+ wl
8
= u
0
r
4
+ v
0
r
7
+ w
0
r
8
c
0
3
= ul
5
+ vl
8
+ wl
9
= u
0
r
3
+ v
0
r
6
+ w
0
r
7
.
(10)
Minimizing the value of (9) in a least squares
sense while maintaining condition (8), the optimal
values of l
4
and r
4
are
e
5
= u
2
l
2
+ uwl
5
+ uvw
0
l
7
+ uvv
0
l
8
u
0
r
1
v
0
r
3
ww
0
r
7
vw
0
r
8
+ wa
2
e
6
= u
2
l
1
+ uvl
3
+ uww
0
l
7
+ uwv
0
l
8
u
0
r
2
w
0
r
5
wv
0
r
7
vv
0
r
8
+ va
1
e
7
= (ve
5
+ we
6
)/3(v
2
+ w
2
)
l
4
= u
0
e
7
+ v
0
l
8
+ w
0
l
7
r
4
= ue
7
+ vr
8
+ wr
7
.
(11)
After setting l
7
, l
8
, r
7
, and r
8
with (7) and then set-
ting l
r
and r
4
with (11), the patches will meet with C
2
continuity across the macro-patch boundaries (with a
minimal C
3
discontinuity), but the patches will meet
with only C
0
across mini-patch boundaries.
4.2 Macro-Boundaries Modification
In this section we will adjust the boundary curves
along macro-patch boundaries. A quartic boundary
A Quartic Clough-Tocher Interpolant
203
curve has ve control points. In our quartic Clough-
Tocher scheme, four of the control points on each
macro-boundary are set by the position and tangent
information that the patch needs to interpolate. This
leaves one control point whose value we can adjust
to achieve better shape. In particular, we can adjust
the value of c
2
in Figure 7. Initially this control point
comes from the degree raised cubic precision Clough-
Tocher interpolant. With the method described in Sec-
tion 4.1, for a given value of c
2
, there exist a corre-
sponding value of c
0
2
and a corresponding optimal C
3
discontinuity value across the exterior boundary.
One idea is to treat c
2
as a variable, and substitute
the relationship between c
0
2
and c
2
in Section 4.1 into
the formula of C
3
discontinuity (9), then minimize the
C
3
discontinuity across the exterior boundary. How-
ever, the resulting C
3
discontinuity equation is inde-
pendent of the value of c
2
. Thus this approach cannot
be used to adjust the boundary control point c
2
.
Instead, we use the approach that Kashyap used on
the interior boundaries, and we find the settings of c
0
2
such that the movement of l
4
and r
4
will be minimized
when a variation of the C
3
minimization of (9) is used.
We minimize
(u
0
c
0
2
+ v
0
l
8
+ w
0
l
7
¯
l
4
)
2
+(uc
0
2
+ vr
8
+ wr
7
¯r
4
)
2
(12)
in a least squares sense, where
¯
l
4
and ¯r
4
is the original
value of points l
4
and r
4
. The optimal value of c
0
2
is
f
1
= u
2
l
3
uvl
6
+ r
5
vr
9
f
2
= u
2
l
5
uwl
9
+ r
3
wr
6
f
3
= vwc
1
w
2
c
2
f
4
= v
2
c
2
vwc
3
c
0
2
= (u
0
¯
l
4
+ u¯r
4
v
0
2v
( f
2
+ f
4
)
w
0
2w
( f
1
+ f
3
)
uv
2w
( f
1
f
3
)
uw
2v
( f
2
f
4
))/(u
2
+ u
02
),
(13)
which can be rewritten as
f
5
=
u
0
¯
l
4
+ u¯r
4
u
0
w
0
+u
2
v
2uw
f
1
u
0
v
0
+u
2
w
2uv
f
2
uv
2
+u
0
w
02
2
c
1
uw
2
+u
0
v
02
2
c
3
/(u
2
+ u
02
)
f
6
= (uvw +u
0
v
0
w
0
)/(u
2
+ u
02
)
c
0
2
= f
5
+ f
6
c
2
.
(14)
With c
2
as the variable, we now perform least squares
minimization of (9) using (10) for c
0
1
and c
0
3
but (14)
for c
0
2
(Figure 10 illustrates this construction graphi-
Figure 10: Adjusting the red (boundary) control point to
minimize movement of cyan points on the C
3
minimization
step.
cally). The least squares minimization gives
f
7
= u
2
l
2
+
3
2
uwl
5
+
1
2
w
2
l
9
u
0
r
1
3
2
v
0
r
3
+
1
2
wv
0
r
6
v
2
w
0
c
1
1
2
w
2
w
0
c
3
f
8
= u
2
l
1
+
3
2
uvl
3
+
1
2
v
2
l
6
u
0
r
2
3
2
w
0
r
5
+
1
2
vw
0
r
9
1
2
v
2
v
0
c
1
w
2
v
0
c
3
f
9
=
3
2
v
2
v
0
f
10
=
3
2
w
2
w
0
f
11
= ( f
7
+ 3v f
5
)( f
9
+ 3v f
6
)
+( f
8
+ 3w f
5
)( f
10
+ 3w f
6
)
f
12
= ( f
9
+ 3v f
6
)
2
+ ( f
10
+ 3w f
6
)
2
c
2
= f
11
/ f
12
.
(15)
Our algorithm will set c
2
with (15) and then ap-
ply the macro-boundary optimization of the previous
section.
4.3 C
1
Smoothing
After adjusting the interior control points as described
in Section 4.1, the mini-patches will only meet with
C
0
continuity. We need an additional step, similar to
the original Clough-Tocher, to make the patches meet
with C
1
continuity across the mini-patch boundaries.
Referring to Figure 6, the following constructs a C
1
join across the mini-boundaries of the quartic patch:
1. Set p
5
to lie in the plane spanned by p
2
, p
4
,r
7
; q
5
to lie in the plane spanned by q
2
,q
4
, p
7
; and r
5
to
lie in the plane spanned by r
2
,r
4
,q
7
.
2. Set p
9
to lie in the plane spanned by p
5
, p
8
,r
8
; q
9
to lie in the plane spanned by q
5
,q
8
, p
8
; and r
9
to
lie in the plane spanned by r
5
,r
8
,q
8
.
3. Finally, set S to lie in the plane spanned by
p
9
,r
9
,q
9
.
GRAPP 2018 - International Conference on Computer Graphics Theory and Applications
204
Construct the cubic precision interpolant
for i=0 to N
Adjust the boundary control points
Set c
2
with (15)
Exterior Fairing
Set l
7
,l
8
,r
7
,r
8
with (7)
Set l
4
,r
4
with (11)
C
1
Smoothing (Section 4.3)
end
Figure 11: Code for quartic Clough-Tocher algorithm.
Table 1: Comparison of errors.
Cubic Precision Kashyap Quartic
RMS 0.0172 0.0166 0.0170
Max 0.0754 0.0752 0.0690
5 ALGORITHM AND EXAMPLE
Similar to Kashyap’s scheme, our algorithm it-
erates between three adjustments: adjusting the
boundary control points (Section 4.2); adjusting the
crossboundary control points (Section 4.1); and C
1
smoothing on mini-triangle boundaries (Section 4.3).
Pseudo-code for our algorithm appears in Figure 11.
The cubic precision Clough-Tocher interpolant was
used to create initial locations for the control points
of our method as well as the variation of Kashyap’s
method that we implemented.
Figure 12 compares the error of our method to the
cubic precision interpolant and to Kashyap’s scheme
on a sampling of the Frankye function (Frankye,
1982),
F(x,y) = 0.75e
(9x2)
2
+(9y2)
2
4
+0.75e
(9x+1)
2
49
9y+1
10
+0.5e
(9x7)
2
+(9y3)
2
4
0.2e
(9x4)
2
(9y7)
2
,
where we used a 5 × 5 sampling of F as our data.
Table 1 gives both the RMS error and the maxi-
mum (|CT F|) error for the three methods on this
data. From the data, we see that the errors are not
substantially different. As our interest is more in
shape than in data reproduction, Figure 13 shows
shaded images and Gaussian curvature plots of the
three surfaces. Here we see that despite similar error,
Kashyap’s scheme gives a visible improvement over
the cubic precision Clough-Tocher interpolant, while
our quartic scheme gives a visual improvement over
Kashyap’s scheme.
6 CONCLUSIONS
In this paper, we presented a quartic version of
Clough-Tocher interpolation that gives a shape im-
provement over a similar cubic scheme of Kashyap.
Both methods used least squares to do fairing of the
surfaces. However, while Kashyap did fairing across
both the macro- and mini-boundaries, we used fair-
ing across the macro-boundaries and to adjust the
macro-boundary curve. The adjustment to the macro-
boundary curve was key to our shape improvements.
We also tested a method to smooth across the mini-
triangle boundaries (similar to what Kashyap did, al-
though with our higher degree patches, our mini-
triangle smoothing achieved C
3
continuity across the
mini-triangle boundaries). However, with this inte-
rior smoothing step in the quartic scheme, our quartic
surfaces were of similar quality to Kashyap’s cubic
surfaces. It was only when we adjusted the macro-
boundary (and no longer did interior boundary dis-
continuity minimization) that our quartic scheme gave
better surfaces than Kashyap’s cubic scheme.
Additional details of our scheme can be found
in (Fang, 2017).
REFERENCES
Clough, R. and Tocher, J. (1965). Finite element stiffness
matrices for analysis of plates in bending. Proceed-
ings of the Conference on Matrix Methods in Struc-
tural Mechanics, pages 515–545.
Fang, X. (2017). Using least squares to construct approxi-
mate continuous Clough-Tocher interpolant. Master’s
thesis, University of Waterloo.
Farin, G. (2002). Curves and Surfaces for CAGD. Morgan-
Kaufmann.
Frankye, R. (1982). Scattered data interpolation: Tests of
some methods. Mathematics of Computation, 39:181–
200.
Kashyap, P. (1996). Improving Clough-Tocher interpolants.
CAGD, 13(7):629–651.
Lai, M.-J. (1997). Geometric interpretation of smoothness
conditions of triangular polynomial patches. CAGD,
14(2):191–197.
Mann, S. (1999). Cubic precision Clough-Tocher interpola-
tion. CAGD, 16(2):85–88.
ˇ
Zen
´
ı
ˇ
sek, A. (1970). Interpolation polynomials on the trian-
gle. Numerische Mathematik, 15:283–296.
A Quartic Clough-Tocher Interpolant
205
Figure 12: 2D Error Plots. Left: cubic precision; middle: Kashyap’s scheme; right: quartic scheme. Blue represents negative
error, green represents zero error, yellow/red represent positive error, with error values in the range of [0.0754,0.0436].
Figure 13: Left: cubic precision; middle: Kashyap’s scheme; right: quartic scheme. Top row: shaded images; bottom
row: Gaussian curvature plots. Blue represents negative Gaussian curvature, zero represents zero Gaussian curvature, and
yellow/red represent positive Gaussian curvature.
GRAPP 2018 - International Conference on Computer Graphics Theory and Applications
206