Geodesic Triangular Coons Patches
Geodesic Triangular Coons Patches
Abstract
Given three regular space curves r1 (t), r2 (t) r3 (t), t ∈ [ 0, 1 ] that define a
curvilinear triangle, we consider the problem of constructing a C 2 triangular
surface patch R(u1 , u2 , u3 ) bounded by these three curves, such that they are
geodesics of the constructed surface. Results from a prior study [6] concerned
with tensor–product patches are adapted to identify constraints on the given
curves for the existence of such geodesic–bounded triangular surface patches.
For curves satisfying these conditions, the patch is constructed by means of a
cubically–blended triangular Coons interpolation scheme. A formulation of
thin–plate spline energy in terms of barycentric coordinates with respect to a
general domain triangle is also derived, and used to optimize the smoothness
of the geodesic–bounded triangular surface patches.
Key words: geodesic curves, surface reconstruction, Coons interpolation
1. Introduction
In a prior study [6], sufficient–and–necessary conditions for the boundaries
of a four–sided analytic surface patch to be geodesic curves of the surface were
identified. A Coons interpolation scheme was then developed [7] to construct
polynomial and rational examples of such geodesic–bounded surface patches,
given boundary curves that satisfy the existence conditions. In the present
paper, these results are extended to the case of geodesic–bounded triangular
surface patches, parameterized in terms of barycentric coordinates. Also, the
familiar Cartesian expression for thin–plate spline energy is transformed to
barycentric coordinates defined on a general triangular domain T . In general,
2. Preliminaries
2
k(t) and τ (t) the curvature and torsion, defined at non–inflectional points by
||r0 (t) × r00 (t)|| det(r0 (t), r00 (t), r000 (t))
k(t) = and τ (t) = . (3)
||r0 (t)||3 ||r0 (t) × r00 (t)||2
For a regular curve, satisfying kr0 (t)k 6= 0 for all t, the tangent e(t) is defined
at every point. At inflection points (where r0 (t), r00 (t) are linearly dependent),
the curvature k(t) is zero, and the principal normal n(t), binormal b(t), and
torsion τ (t) are undefined. Henceforth, we specifically exclude the possibility
of “pathological” inflections — i.e., points where the curvature vanishes, and
the left and right limits n− and n+ of the principal normal are neither parallel
nor anti–parallel, since no solution to the geodesic interpolation problem can
be found in the presence of such points.
where ¯ ¯
¯ 1 1 1 ¯
¯ ¯
∆ = ¯¯ x1 x2 x3 ¯¯ . (5)
¯ y1 y2 y3 ¯
For distinct points p, q the directional derivative along the vector V = q − p
is defined [4] by
X 3
∂
DV = (ui (q) − ui (p)) .
i=1
∂ui
Hence, the derivatives along directions parallel to each side si of T , defined
by ui = 0, is
∂ ∂
Dsi = − , i = 1, 2, 3 (6)
∂ui−1 ∂ui+1
where all indices are reduced modulo 3 to the set {1, 2, 3}.
3
p1
u1 = 1
Ds3 Ds2
Dn 3
Dn 2
Dn 1 u1 = 0
p2 p3
Ds1
u3 = 0 u2 = 1 u3 = 1 u2 = 0
We then define (see Fig. 2) a derivative Dni in the inward direction along
each side si by
satisfy
3
X
αi (u) ≡ 1 .
i=1
Note also that, since αi−1 (u) + αi+1 (u) ≡ 1 along the side ui = 0 of T ,
the derivative Dni coincides with the derivative Dsi+1 at the point pi−1 and
−Dsi−1 at the point pi+1 , along the side si .
4
ri+1 (1) = pi = ri+2 (0) (8)
p1
• Interpolation property:
R(0, 1 − t, t) = r1 (t) ,
R(t, 0, 1 − t) = r2 (t) , t ∈ [ 0, 1 ] . (9)
R( 1 − t, t, 0) = r3 (t) ,
Let (ei (t), ni (t), bi (t)) denote the Serret–Frenet frame and ki (t), τi (t) the
curvature and torsion of each of the curves ri (t), as defined by (2) and (3).
Let r(t) be the “concatenation” of the three boundary curves ri (t), defined by
r(t) = ri (t − i + 1) for t ∈ [i − 1, i] and i = 1, 2, 3, and consider the principal
normal n(t) of this concatenated curve r(t), defined for t ∈ [ 0, 3 ] − {0, 1, 2}.
This normal n(t) is simply the concatenation of the principal normals ni (t) of
the individual boundary curves ri (t). Note that the domain of the parameter
t is considered to [ 0, 3 ] modulo 3.
Now let N(u) be the unit normal to the interpolating surface R(u), and
let N(t) for t ∈ [ 0, 3 ] be its restriction to the boundary r(t) of the surface
5
patch. For a continuous normal function N(t), we define the crossing angles
Ai at each corner pi by
¡ ¢
Ai = ei+1 (1), ei−1 (0) N(pi ) , i = 1, 2, 3 . (10)
Assuming that the principal normals of the two boundary curves meeting at
each corner agree (modulo sign) with the unit surface normal N, we consider
the values σiL , σiR ∈ {−1, +1} defined by
p1 N n2
e2
b2
N
b3 = h3
Fig. 4 shows the Frenet frames h2
(ei , ni , bi ) and the Darboux r2 (t)
6
curves ri (t) must satisfy the following curvature and torsion constraints
at each corner pi :
r2 (t)
For a triangular patch, the T3(t)
where the angle functions αi (t) specify the inclination of the vectors Ti (t)
relative to the boundary curve tangents ei (t). As in [6], we will now show
that the vector fields Ti (t) must satisfy the following two conditions:
• Interpolation of the corner derivatives (see Section 4.2):
7
— i..e, the tangent vectors Ti must coincide with the derivatives of the
two curves ri−1 (t), ri+1 (t) meeting the curve ri (t) at its extremities.
• Twist crossing constraints at the corners (see Section 4.3):
The derivatives of the tangent vectors Ti (t) must satisfy the following
relations, which define the twist vectors Wi at the patch corners.
with
and
¯
Dni R(u)|ui =0 = [ αi−1 (u) Dsi+1 − αi+1 (u) Dsi−1 ] R(u)¯ui =0
· ¸X ¯
∂ ∂ ∂
3 ¯
¯
= − αi+1 (u) − αi−1 (u) αi (u) Ri (u)¯
∂ui ∂ui+1 ∂ui−1 i=1 ¯
ui =0
= Ti (ui−1 )
− αi+1 (u)|ui =0 [ r0i−1 (1) + Ti (0) + ui−1 (T0i−1 (1) + Wi+1 ) ]
+ αi−1 (u)|ui =0 [ r0i+1 (0) − Ti (1) + ui+1 (T0i+1 (0) − Wi−1 ) ] . (19)
Assuming that the three vector fields Ti (t) satisfy conditions (14)–(15),
the patch R(u) will interpolate the boundary curves ri (t) and the tangent
vectors Ti (t) precisely:
8
which proves – with our hypothesis – that the patch R(u) interpolates the
boundary curves ri (t) as geodesics.
Consider now constraints (14) and (15). We will establish conditions on
the vector fields Ti (t) in order to satisfy these constraints. In particular, we
show that the twist constraints (15) can only be satisfied if the conditions
(C1)–(C3) are satisfied by the curves ri (t).
ri-1
(t) ri+1(t)
Ti r'i+1
Ti (0)= -r'i-1 (1)
(1)= (0)
ei+1
(0)
hi
ei
(0)
(0)
ri A i-1
N(pi+1)
(t)
hi-1 N(pi-1) ei
A i+1 (1)
(1)
ei-1 (1)
To satisfy the constraints (14) on the vector field Ti (t), defined by (13), we
introduce the following scalar coefficients diL , diR , αiL , αiR (see Fig. 6) for
i = 1, 2, 3:
αi (t) = αiL H0 (t) + αi1 H1 (t) + αi2 H2 (t) + αiR H3 (t) , (22)
di (t) = diL H0 (t) + di1 H1 (t) + di2 H2 (t) + diR H3 (t) , (23)
where Hi (t) are the cubic Hermite polynomials, and the parameters αi1 , αi2 ,
di1 , di2 will be specified in Section 4.3.
9
4.3. Twist crossing constraints at corners pi
r'i+1 (1)
ei+1
(1)
Ai N(pi )
ei-1 (0)
r'i-1
(0)
ri-1(t)
ri+1
(t)
At corner pi , the vectors ei+1 (1), hi+1 (1), ei−1 (0), hi−1 (0) are coplanar and
related (see Fig. 7) as follows:
cos Ai ei−1 (0) − ei+1 (1) ei−1 (0) − cos Ai ei+1 (1)
hi−1 (0) = , hi+1 (1) =.
sin Ai sin Ai
(24)
Then using the definitions (13), (22), (23), relations (11), (21) and the Serret-
Frenet relations as in [6], with
bi+1 (1) = −σi+1,R hi+1 (1) , bi−1 (0) = −σi−1,L hi−1 (0) ,
we express each of the derivatives occurring in (15) with respect to the frame
(ei+1 (1), ei−1 (0), N(pi )) as
h cos Ai i
T0i−1 (0) = − d0i−1 (0) + ||r0i+1 (1)|| 0
αi−1 (0) ei+1 (1)
sin Ai
1
0
− ||r0i+1 (1)|| αi−1 (0) ei−1 (0)
sin Ai
h i
+ ||r0i+1 (1)|| ||r0i−1 (0)|| − cos Ai σi−1,L ki−1 (0) + sin Ai τi−1 (0) N(pi ) ,
10
1
T0i+1 (1) = − ||r0i−1 (0)|| αi+10
(1) ei+1 (1)
sin Ai
h cos Ai i
0 0 0
+ di+1 (1) + ||ri−1 (0)|| αi+1 (1) ei−1 (0)
sin Ai
h i
+ ||r0i+1 (1)|| ||r0i−1 (0)|| cos Ai σi+1,R ki+1 (1) + sin Ai τi+1 (1) N(pi ) .
Thus, the twist crossing constraint (15) at corner pi , together with definitions
(21)–(23), yields the following system of equations
cos Ai 1
− di−1,1 + di−1,L αi−1,1 = di+1,R αi+1,2 ,
sin Ai sin Ai
1 cos Ai
− di−1,L αi−1,1 = − di+1,2 − di+1,R αi+1,2 , (25)
sin Ai sin Ai
− cos Ai σi−1,L ki−1 (0) + sin Ai τi−1 (0) =
− cos Ai σi+1,R ki+1 (1) − sin Ai τi+1 (1) .
This linear system is of rank 2, and if Si denotes the set of its solutions, we
have dim(Si )=2 (see Section 7 for examples illustrating the influence of the
free parameters in Si , i = 1, 2, 3). Thus, we are able to define a twist vector
Wi at the patch corner pi , and we can now state the following result.
Proposition 1. Given three regular space curves, that satisfy the conditions
(C1)–(C3) specified in Section 3.2, an oriented triangular surface patch R(u)
exists, that interpolates these curves as boundaries in such a way that they are
geodesics of the surface. Conversely, when any of the conditions (C1)–(C3)
is not satisfied, such an interpolating surface can not be constructed.
11
5. Gauss–Bonnet theorem
The well–known Gauss–Bonnet theorem relates the integral of Gaussian
curvature over a region of a surface to the integral of the geodesic curvature
along the boundary of that region. This theorem is of particular relevance
to the geodesic–bounded surface patches constructed herein.
Theorem 1. Global Gauss-Bonnet Theorem [3, 16].
Let R ⊂ S be a regular simple region of an oriented surface S and Γ1 , . . . , Γk
be closed, simple, piecewise–regular curves forming its boundary ∂R. Suppose
that Γ1 , . . . , Γk are all positively oriented, and let A1 , . . . , Ak be the external
angles at the junctures of the curves Γ1 , . . . , Γk , as defined by (10). Then
k Z
X ZZ k
X
ki (s) ds + K dσ + Ai = 2π , (27)
i=1 Γi R i=1
where ki (s) is the geodesic curvature of the curve Γi , s is arc length along it,
and K is the Gaussian curvature of the surface S with area element dσ.
Since the geodesic curvature vanishes along any geodesic curve, it follows
from the above theorem that if we construct a triangular surface patch R(u)
as described in Proposition 1, so that its boundary curves are geodesics, the
Gaussian curvature K of this surface must satisfy
ZZ X3
K dσ = 2π − Ai , (28)
R i=1
12
For example, givenPthree regular space curves ri (t) satisfying conditions
(C1)–(C3), such that 3i=1 Ai = 2π, as in Fig. 8, any interpolating surface
R(u) constructed as described in Proposition 1 must satisfy
ZZ
K dσ = 0 , (29)
R
which indicates that the interpolating surface must contain both elliptic and
hyperbolic points (where K > 0 and K < 0) — see Fig. 9.
13
This expression is clearly invariant under any translation, since it depends
only on the second derivatives of f . One can easily see that it is also invariant
under any rotation, specified by
· 0¸ · ¸· ¸
x cos θ sin θ x
= .
y0 − sin θ cos θ y
∂ ∂x0 ∂ ∂y 0 ∂ ∂ ∂
= 0
+ 0
= cos θ 0 − sin θ 0 ,
∂x ∂x ∂x ∂x ∂y ∂x ∂y
∂ ∂x0 ∂ ∂y 0 ∂ ∂ ∂
= + = sin θ 0 + cos θ 0 ,
∂y ∂y ∂x0 ∂y ∂y 0 ∂x ∂y
twice to f , one can verify that
Hence, for Cartesian coordinates, the thin–plate spline energy per unit area
(30) is a “universal” expression.
Consider now the formulation of the thin–plate spline energy in terms of
the barycentric coordinates (4) with respect to a domain triangle T with the
vertices pi = (xi , yi ) for i = 1, 2, 3. To transform derivatives with respect to
(x, y) into derivatives with respect to (u1 , u2 , u3 ) we use the relations
14
different domain triangles define general affine transformations, not just rigid
motions. Hence, each domain triangle T has its own associated expression
for the thin–plate spline energy, dependent on the vertices of T .
We denote the second derivatives of f with respect to (u1 , u2 , u3 ) by
∂ 2f
fjk = , 1 ≤ j, k ≤ 3 .
∂uj uk
∆2 fxx = 2
y23 f11 + y312 2
f22 + y12 f33
+ 2 (y23 y31 f12 + y31 y12 f23 + y12 y23 f31 ) ,
2
∆ fxy = x32 y23 f11 + x13 y31 f22 + x21 y12 f33
+ (x13 y23 + x32 y31 )f12 + (x21 y31 + x13 y12 )f23 + (x21 y23 + x32 y12 )f31 ,
2
∆ fyy = x232 f11 + x213 f22 + x221 f33
+ 2 (x32 x13 f12 + x13 x21 f23 + x21 x32 f31 ) ,
∆4 E = |s1 |4 f11
2
+ |s2 |4 f22
2
+ |s3 |4 f33
2
15
If `1 = |s1 |, `2 = |s2 |, `3 = |s3 | are the lengths of the domain triangle sides,
and θ1 , θ2 , θ3 are its interior angles at the vertices p1 , p2 , p3 so that
∆4 E = `41 f11
2
+ `42 f22
2
+ `43 f33
2
+ 2 `21 `22 cos2 θ3 f11 f22 + 2 `22 `23 cos2 θ1 f22 f33 + 2 `23 `21 cos2 θ2 f33 f11
+ 4 `21 f11 (`2 `3 cos θ2 cos θ3 f23 − `1 `2 cos θ3 f12 − `3 `1 cos θ2 f31 )
+ 4 `22 f22 (`3 `1 cos θ3 cos θ1 f31 − `1 `2 cos θ3 f12 − `2 `3 cos θ1 f23 )
+ 4 `23 f33 (`1 `2 cos θ1 cos θ2 f12 − `2 `3 cos θ1 f23 − `3 `1 cos θ2 f31 )
+ 4 `21 `2 `3 (cos θ2 cos θ3 − cos θ1 ) f31 f12
+ 4 `1 `22 `3 (cos θ3 cos θ1 − cos θ2 ) f12 f23
+ 4 `1 `2 `23 (cos θ1 cos θ2 − cos θ3 ) f23 f31 .
16
Criterion A — minimization of the thin plate spline energy E expressed in
terms of barycentric coordinates relative to the reference domain triangle T ,
as developed Section 6: Z
min E du .
S T
(1) (2)
(1) (2)
17
(3) Criterion A (4) Criterion B
18
Fig. 12. Three geodesics on a cylinder and the reconstructed surface.
(a) (b)
(c)
19
Fig. 13. Geodesic triangle on a cone: (a) the cone and the three geodesic
curves; (b) the cone, the three geodesic curves and the interpolating surface;
and (c) the three geodesic curves and the interpolating surface alone.
8. Conclusion
Given three space curves that define a curvilinear triangle, a method has
been presented for constructing a triangular surface patch bounded by these
curves, such that they are geodesic curves of the constructed surface. For the
construction to be feasible, the given boundary curves must satisfy certain a
priori compatibility conditions. In order to optimize the smoothness of the
geodesic–bounded triangular patches, a formulation of the thin–plate spline
energy in terms of barycentric coordinates with respect to a general domain
triangle was also derived. This formulation is more complicated (containing
21 terms) than the familiar Cartesian expression, and its coefficients depend
explicitly on the shape of the domain triangle.
The availability of triangular geodesic–bounded patches, in conjunction
with earlier formulations for rectangular geodesic–bounded patches, allows
one to reconstruct surfaces from general networks of geodesic paths on them,
as physically determined by the Morphosense device.
References
[1] Coons, S., Surfaces for Computer Aided Design, Technical Report,
M.I.T., 1964 (available as AD 663 504 from National Technical Information
Service, Springfield, VA 22161).
[2] Coons, S., Surface patches and B-spline curves, R. Barnhill and R. Riesen-
feld, editors, Computer Aided Geometric Design, Academic Press, 1974.
[3] Do Carmo, M. P., Differential Geometry of Curves and Surfaces,
Prentice–Hall, 1976.
[4] Farin, G., Triangular Bernstein–Bézier patches, Computer Aided Geo-
metric Design 3, 83–127, 2009.
20
[5] Farin, G., Curves and Surfaces for CAGD, 5th Edition, Academic Press,
2002.
[13] Shirman, L. A., Séquin, C. H., Local surface interpolation with Bézier
patches, Computer Aided Geometric Design 4, 279-295, 1987.
21