Journal of Computational and Applied Mathematics 300 (2016) 400–419
Contents lists available at ScienceDirect
Journal of Computational and Applied Mathematics journal homepage: www.elsevier.com/locate/cam
Geometric elements and classification of quadrics in rational Bézier form A. Cantón, L. Fernández-Jambrina ∗ , E. Rosado María, M.J. Vázquez-Gallo Matemática Aplicada, Universidad Politécnica de Madrid, E-28040-Madrid, Spain
highlights • Closed formulas for geometric elements of quadrics in rational Bézier form in terms of their weights and control points, using algebraic projective geometry.
• The results are derived for Bézier triangles, but are applicable to tensor product patches. • Closed, coordinate-free formulas for implicit equations for quadrics in terms of their weights and control points. • Affine classification of quadrics in Bézier form.
article
info
Article history: Received 2 June 2015 Received in revised form 5 January 2016 Keywords: Algebraic projective geometry Rational Bézier patches Quadrics Steiner surfaces
abstract In this paper we classify and derive closed formulas for geometric elements of quadrics in rational Bézier triangular form (such as the center, the conic at infinity, the vertex and the axis of paraboloids and the principal planes), using just the control vertices and the weights for the quadric patch. The results are extended also to quadric tensor product patches. Our results rely on using techniques from projective algebraic geometry to find suitable bilinear forms for the quadric in a coordinate-free fashion, considering a pencil of quadrics that are tangent to the given quadric along a conic. Most of the information about the quadric is encoded in one coefficient, involving the weights of the patch, which allows us to tell apart oval from ruled quadrics. This coefficient is also relevant to determine the affine type of the quadric. Spheres and quadrics of revolution are characterized within this framework. © 2016 Elsevier B.V. All rights reserved.
1. Introduction One of the reasons for extending the framework of surfaces used in CAD from polynomial or piecewise polynomial surfaces to rational ones is the inclusion of quadrics in an exact fashion, since quadric surfaces such as spheres, cones, cylinders, paraboloids are commonly used in engineering and in architecture [1]. There are mainly two ways of implementing surfaces in CAD: tensor product patches and Bézier triangles [2]. The former ones are the most common, but the latter have applications in animation and finite element theory due to the flexibility of triangles, compared to quadrilaterals, for constructing surfaces and adapting to different topologies without producing singularities. Whereas rational quadratic curves are conics, we have a different situation when we go to surfaces. On one hand, not every quadric triangular patch can be represented as a rational quadratic Bézier triangle. On the other hand, rational quadratic Bézier triangles are in general quartic surfaces [3] and only in some cases quadric patches are obtained [4]. Quadric triangular patches have been studied from many points of view. [5] describes a method for constructing quadric patches grounded on a quadratic Bézier control polyhedron. [6,7] use an algebraic approach to construct curves and
∗
Corresponding author. E-mail address:
[email protected] (L. Fernández-Jambrina).
http://dx.doi.org/10.1016/j.cam.2016.01.006 0377-0427/© 2016 Elsevier B.V. All rights reserved.
A. Cantón et al. / Journal of Computational and Applied Mathematics 300 (2016) 400–419
401
surfaces on quadrics. [8] classifies quadratically parametrized surfaces and studies their geometry. [9] provides a thorough classification of rational quadratic triangles. [10] provides an algorithm for checking whether a rational Bézier triangle belongs to a quadric and classifying it. This solution is shown in [11] to be one of fifteen possibilities, with different numerical conditioning. In [12] the algorithm is used to obtain the axes of the quadric. [13] provides a tool for constructing rational quadratic patches on non-degenerate quadrics. Three corner points and three weights are used as shape parameters in [14] to design quadric surface patches. In [15] the shape parameters are three points and the normal vectors at them. In this paper we draw geometric information from rational Bézier quadric triangles and tensor product patches. We classify them and calculate their geometric elements in closed form, using just the control net and the weights of the patch, as it is done for conics in [16]. One of the reasons for doing this is that closed formulas for geometric elements of a quadric can be of great help for designing with them. With this goal in mind, we derive bilinear forms for the quadrics, both in point and tangential form in a coordinate-free fashion, using techniques borrowed from algebraic projective geometry, such as the use of pencils of quadrics, which have also been used in [14,15,17]. Using linear forms with clear geometric meaning (tangent planes, planes containing boundary conics. . . ) instead of, for instance, Cartesian coordinates, allows us to find a closed form for the implicit equation of these quadrics in terms of their weights, their tangent planes and the plane spanned by the corner vertices of the patch. The major originality and advantage of our formulation is the use of only geometric information about the patch, avoiding the use of coordinate expressions as an intermediate step. In fact, most of the relevant geometric information of the surface which is necessary for its classification is comprised in a single coefficient, the parameter of the pencil of quadrics, which depends on the weights of the patch. The coordinate-free bilinear forms for the quadrics enable the derivation of closed formulas for several geometric elements (center of the quadrics, bilinear forms for the conic at infinity, diametral planes) calculated in terms of weights and vertices. To our knowledge, such closed formulas have not been produced before. Similarly, linear forms for principal planes are obtained up to solving a cubic equation. The degeneracy of the solutions of this equation allows us to identify quadrics of revolution and spheres. Finally, the previous results for triangular quadric patches can be extended to rational biquadratic quadric patches using the tangent planes at three corners of the boundary of the tensor product patch. This paper is organized as follows: We revisit rational Bézier triangular patches and the characterization of quadric patches in Section 2. In Section 3 we construct the pencil of quadrics, in point and in tangential form, which are tangent to our quadric at the conic through the three corner vertices of the patch and fix the only free parameter in terms of the weights of the quadric. This provides us bilinear forms for the quadrics and hence implicit equations. A coordinate-free expression for the center of the quadric is obtained in Section 4 as a barycentric combination of the corner vertices of the patch and the intersection of their tangent planes. It is used to tell paraboloids from centered quadrics. In Section 5 we calculate a bilinear form for the conic at infinity, which is useful for determining the affine type of the quadric. Section 6 is devoted to degenerate quadrics. With this information we provide in Section 7 a way to classify quadric patches using the signature of the bilinear form, the center and the bounding conic arcs. We introduce the scalar product in Section 8 in order to calculate Euclidean geometric elements such as principal planes and axes of quadrics and vertices of paraboloids. This allows us to characterize spheres and quadrics of revolution. In Section 9 we show several examples of application of our results. We show how to extend our results to quadric tensor product patches in Section 10. A final section of conclusions is included. 2. Quadratic rational Bézier triangular patches Rational Bézier triangular patches of degree n are defined using trivariate Bernstein polynomials of degree n in parameters u, v, w , Bnijk (u, v, w) =
n! i!j!k!
c (u, v, w) =
ui v j w k ,
i + j + k = n,
ωijk cijk Bnijk (u, v, w)
i+j+k=n
ωijk Bnijk (u, v, w)
,
(1)
i+j+k=n
such that u + v + w = 1, u, v, w ∈ [0, 1], where the coefficients cijk are the control points for the surface and ωijk are their corresponding weights. The surface patch is bounded by three rational Bézier curves of degree n, which are obtained by fixing u = 0, v = 0, w = 0. Their respective control points and weights are respectively the ones with index i = 0, j = 0, k = 0. We are interested in the special case of quadratic surfaces. In this case the control net and the matrix of weights are c002 c011 c020 c101 c110 , c200
ω002 ω011 ω020 ω101 ω110 , ω200
and the surface patch is completely determined by the three boundary conic curves:
(2)
402
A. Cantón et al. / Journal of Computational and Applied Mathematics 300 (2016) 400–419
The conic at u = 0 has control points {c002 , c011 , c020 } and weights {ω002 , ω011 , ω020 }, the one at v = 0 has control points {c002 , c101 , c200 } and weights {ω002 , ω101 , ω200 }, and the one at w = 0 has control points {c020 , c110 , c200 } and weights {ω020 , ω110 , ω200 }. We just consider the case of non-degenerate boundary curves. We name the planes where such conics are located respectively as u, v, w . Quadratic rational Bézier triangular surfaces comprise quadrics as a subcase, but in general they are quartic surfaces named Steiner surfaces [3]. On the contrary, not every quadric patch bounded by three arcs can be parametrized as a quadratic rational Bézier triangle. According to [4]:
• If the Steiner surface is a non-degenerate quadric, the three conic boundary curves meet at a point S and their respective tangent vectors at S define a plane.
• If the three conic boundary curves meet at a point S and their respective tangent vectors at S define a plane, the Steiner surface is a quadric patch.
• If there are three aligned points, one on each boundary conic curve, and the tangent plane to the surface is the same for all three points, the Steiner surface is a degenerate quadric patch. The last case just implies that the quadric (cylinder or cone) is ruled and the three points lie on the same ruling. We are considering Steiner surfaces with such a point S. This case comprises non-degenerate quadrics. Since S belongs to the three boundary conics, there are values us , vs , ws of the parameters such that 2
S =
2
ω0j2−j c0j2−j B2j (vs )
j =0 2
= ω
2 0j2−j Bj
(vs )
j=0 2
=
ωi2−i0 ci2−i0 B2i (us )
i =0 2
ωi2−i0 B2i (us )
i=0
ω2−k0k c2−k0k B2k (ws )
k=0 2
, ω
2 2−k0k Bk
(ws )
k=0
where we have introduced quadratic Bernstein polynomials, B20 (t ) = (1 − t )2 ,
B21 (t ) = 2t (1 − t ),
B22 (t ) = t 2 .
However, since the set of weights of rational Bézier curves is unique up to Möbius transformations [18] of the parameter, we can use this freedom to set us , vs , ws at infinity. It is a simple exercise to check that this is possible if and only if the tangent vectors at S are coplanar [19]. Hence, this choice is not a restriction. From now on we assume that the set of weights for the surface fulfills this condition and therefore we may write S in three different forms as ω002 c002 − 2ω011 c011 + ω020 c020 S =
ωu ω002 c002 − 2ω101 c101 + ω200 c200 = ωv ω200 c200 − 2ω110 c110 + ω020 c020 , = ωw where ωu , ωv , ωw guarantee that these are barycentric combinations, ωu = ω002 − 2ω011 + ω020 , ωw = ω200 − 2ω110 + ω020 ,
(3)
ωv = ω002 − 2ω101 + ω200 ,
if S is a proper point. If S is point at infinity, the coefficients ωu , ωv , ωw are chosen in order to have the same vector as representative for S on the three boundary curves. 3. Pencils of Steiner quadrics In order to obtain a bilinear form for the quadric, we describe the pencil of quadrics which are tangent to our quadric at the conic on the plane t defined by the points at the corners of the surface patch, P = c002 , Q = c020 , R = c200 . This pencil of quadrics has been used also in [14,15,17]. To this aim, we just need two quadrics belonging to the pencil [20], which can be degenerate. For instance, we can take the cone C tangent to our quadric along the conic on t and the double plane t (see Fig. 1). Hence, the bilinear form for this pencil of quadrics is just C + λt 2 , using the same letter for a surface and its form. Finally, we can determine our quadric just using the existence of point S, C (S ) + λt (S )2 = 0.
A. Cantón et al. / Journal of Computational and Applied Mathematics 300 (2016) 400–419
403
Fig. 1. Tangent cone to a quadric along a conic on a plane t.
Fig. 2. Conic circumscribed by a triangle.
Fig. 3. Tangent planes p, q, r.
We just have then to provide a bilinear form for the cone C . Since λ = −C (S )/t (S )2 , we notice that the sign of λ depends on whether S lies in or out of the cone C . It will be useful to start with the bilinear form for the conic on t (see Fig. 2). In this figure u, v, w are the straight lines which are respectively the intersections of the planes u, v, w (where the boundary conics lie) with the plane t. We use the same letter for a point (uppercase) and its polar line (lower case). If a point A lies on the conic, its polar line is the tangent a to the conic at such point. Hence, p, q, r are respectively the tangent lines to the conic at P, Q , R (see Fig. 3). We shall use the same letters p, q, r also for the tangent planes at P , Q , R. On the other hand, the polar line to a point A not on the conic is the line a linking the tangency points of the tangent lines to the conic drawn from A. Hence, u, v , w are the polar lines to the vertices of the circumscribed triangle U, V , W . The pencil of conics circumscribed by the triangle defined by the lines p, q, r is easily described in tangential form. The bilinear form for this pencil is just
α UV + β UW + γ VW , with coefficients α , β , γ . It is easy to check that this form vanishes on p, q, r, since p(U ) = 0 = p(V ),
q(U ) = 0 = q(W ),
r (V ) = 0 = r (W ).
But, for our purposes, we require the point bilinear form for the conic. Referred to the lines r, q, p, which form a dual reference to the one formed by U, V , W , provided that their linear forms satisfy p(W ) = 1,
q(V ) = 1,
r (U ) = 1,
(4)
the matrix of this point bilinear form is the inverse of the one for the tangential bilinear form,
0
α β
α 0
γ
β γ 0
−1
γ2 =− −βγ 2αβγ −αγ
1
−βγ β2 −αβ
−αγ −αβ , α2
404
A. Cantón et al. / Journal of Computational and Applied Mathematics 300 (2016) 400–419
and hence such a bilinear form is
α 2 p2 − 2αβ pq − 2αγ pr + β 2 q2 − 2βγ qr + γ 2 r 2 . In order to determine the coefficients α, β, γ , it is useful to take into account that (3) provides relations between values of the linear forms for p, q, r,
ω200 ω020 p(Q ) = p(S ) = p(R), ωu ωv ω200 ω002 q(R) = q(S ) = q(P ), ωw ωu ω020 ω002 r (P ) = r (S ) = r (Q ), ωv ωw which can be used to write U , V , W in terms of P , Q , R,
ω002 ωw P + ω020 ωv Q − ω200 ωu R , ΩU ω002 ωw P − ω020 ωv Q + ω200 ωu R , V = ΩV −ω002 ωw P + ω020 ωv Q + ω200 ωu R W = , ΩW
U =
(5)
or, conversely, P =
ΩU U + ΩV V , 2ω002 ωw
Q =
ΩW W + ΩU U , 2ω020 ωv
R=
ΩV V + ΩW W , 2ω200 ωu
where the normalization denominators are
ΩU = ω002 ωw + ω020 ωv − ω200 ωu , ΩV = ω002 ωw − ω020 ωv + ω200 ωu , ΩW = −ω002 ωw + ω020 ωv + ω200 ωu ,
(6)
provided that U , V , W are proper points. If one of these points goes to infinity, the respective denominator is taken to be one. The interpretation of these coefficients as weights for U , V , W on the conic on t is discussed in Section 6. Finally, the normalization condition (4) allows us to fix the linear forms for p, q, r since 2ωu ωv
p(W ) =
p(S ), ΩW 2ωv ωw r (U ) = r (S ). ΩU
q(V ) =
2ωu ωw
ΩV
q(S ), (7)
Since we require that points P, Q , R lie on the conic,
β q(P ) = γ r (P ),
α p(Q ) = γ r (Q ),
α p(R) = β q(R),
we identify the coefficients of the bilinear form,
α=
1
ΩW
,
β=
1
ΩV
,
γ =
1
ΩU
,
up to a common factor. Hence, a bilinear form for the conic on t is p2 2 ΩW
+
q2
ΩV2
+
r2
ΩU2
−
2pq
ΩW ΩV
−
2pr
ΩW ΩU
−
2qr
(8)
ΩV ΩU
and, in tangential form,
ΩU ΩV UV + ΩU ΩW UW + ΩV ΩW VW .
(9)
The terms of the bilinear form can be factored as
p
ΩW
−
q
ΩV
−
r
ΩU
2
+
q
ΩV
−
r
ΩU
2
−
q
ΩV
+
r
ΩU
2
,
and thereby it has signature (+ + −) regardless of the values of the coefficients.
A. Cantón et al. / Journal of Computational and Applied Mathematics 300 (2016) 400–419
405
We move now back from plane to space: If p, q, r are the tangent planes to the quadric at P, Q , R, the bilinear form (8) describes a degenerate quadric of signature (+ + − 0) which contains the conic on t and it is tangent to our quadric along it. Since the rank of the bilinear form is three, it is a cone (or a cylinder, if the intersection point of p, q, r goes to infinity), since these are the only non-plane degenerate quadrics. Hence, it is the cone we are looking for. The bilinear form for the pencil of quadrics referred to the planes r , q, p, t, p2 2 ΩW
q2
+
ΩV2
+
r2
ΩU2
−
2pq
ΩW ΩV
−
2pr
−
ΩW ΩU
2qr
ΩV ΩU
+ λt 2 ,
produces a bilinear form for our quadric if λ = −C (S )/t (S )2 . We see that the sign of λ determines the signature of the bilinear form, defined as the difference between the number of its positive and negative eigenvalues. This is relevant since ruled quadrics have null signature, (+ + −−) and oval quadrics have signature two (+ + −+). This is useful to classify the quadric. In tangential form referred to the points U , V , W , T , the bilinear form for the quadric is
ΩU ΩV UV + ΩU ΩW UW + ΩV ΩW VW −
T2
λ
,
if t (T ) = 1, where T is the intersection point of the planes p, q, r, that is, the vertex of the cone C . With this information we can write T as ω002 ωw (ωu + ωv − ωw )P + ω020 ωv (ωu − ωv + ωw )Q T = ϵU ΩU ωu + ϵV ΩV ωv + ϵW ΩW ωw − 2ϵS ωu ωv ωw
+
ω200 ωu (−ωu + ωv + ωw )R − 2ωu ωv ωw S , ϵU ΩU ωu + ϵV ΩV ωv + ϵW ΩW ωw − 2ϵS ωu ωv ωw
(10)
or alternatively, S=
ΩU ΩV ΩW 2ϵS ωu ωv ωw − ϵU ΩU ωu − ϵV ΩV ωv − ϵW ΩW ωw U+ V+ W+ T, 2ωv ωw 2ωu ωw 2ωu ωv 2ωu ωv ωw
where ϵA takes the value one if the corresponding point A is proper or zero if it is a point at infinity. Now we can compute λ and determine the quadric:
Theorem 1. A rational triangular quadratic patch with control net {c002 , c011 , c020 , c101 , c110 , c200 } and weights {ω002 , ω011 , ω020 , ω101 , ω110 , ω200 }, such that the three boundary conics meet at a point S, which is written as in (3), is a quadric with bilinear form
Q=
p2 2 ΩW
+
q2
ΩV2
+
r2
ΩU2
−
2pq
ΩW ΩV
−
2pr
−
ΩW ΩU
2qr
ΩV ΩU
+ λt 2 ,
(11)
where t is the linear form of the plane containing c002 , c020 , c200 , p is the linear form of the plane containing c002 , c011 , c101 , q is the linear form of the plane containing c020 , c011 , c110 and r is the linear form of the plane containing c200 , c101 , c110 which satisfy p(W ) = 1,
q(V ) = 1,
r (U ) = 1,
t (T ) = 1,
at the points U (intersection of the planes p, q, t), V (intersection of the planes p, r , t) and W (intersection of the planes q, r , t) given by (5) and the point T (intersection of the planes p, q, r), given by (10). The coefficients are given in (6) except for λ,
λ=−
ωu2 + ωv2 + ωw2 − 2ωu ωv − 2ωv ωw − 2ωw ωu , (2ϵS ωu ωv ωw − ϵU ΩU ωu − ϵV ΩV ωv − ϵW ΩW ωw )2
(12)
and the tangential bilinear form for the quadric is T2
. λ Furthermore, for λ > 0 the quadric is oval and for λ < 0 the quadric is ruled. ˜ = ΩU ΩV UV + ΩU ΩW UW + ΩV ΩW VW − Q
(13)
The expression we have obtained for the bilinear form of the quadric has the advantage of encoding most of the information about the surface in just the coefficient λ for t 2 . This result provides a procedure for computing a bilinear form, and hence the implicit equation, for a non-degenerate Steiner quadric patch in a coordinate-free fashion using just the vertices of the control net and their respective weights: 1. 2. 3. 4. 5.
Obtain S as intersection of the planes u, v, w . Compute the normalized linear forms for the planes t , p, q, r. Obtain an equivalent list of weights fulfilling (3). Use Theorem 1 to obtain the bilinear form Q for the quadric patch. The implicit equation for the quadric patch is then Q(X , X ) = 0.
406
A. Cantón et al. / Journal of Computational and Applied Mathematics 300 (2016) 400–419
4. Center of a quadric The bilinear form for the quadric provides a way to obtain its center Z as the pole of the plane z at infinity. Since the plane at infinity is formed by vectors, we may write its elements as barycentric combinations aU + bV + cW + dT ,
a + b + c + d = 0.
We have to consider the possibility of having any of the points of the reference at infinity. In such case, the null sum is restricted to proper points, aU + bV + cW + dT ,
ϵU a + ϵV b + ϵW c + ϵT d = 0.
(14)
Hence, a linear form for the plane at infinity in this reference is just z = ϵW p + ϵV q + ϵU r + ϵT t .
(15)
The pole of this plane,
˜ (z ) = ϵW ΩW (ΩU U + ΩV V ) + ϵV ΩV (ΩW W + ΩU U ) + ϵU ΩU (ΩV V + ΩW W ) − Q
2ϵT
λ
T,
(16)
can be written in a simpler way in terms of P , Q , R, T in order to produce an expression for the center of the quadric,
ϵW ΩW ωw ω002 P + ϵV ΩV ωv ω020 Q + ϵU ΩU ωu ω200 R ϵT − T, ΩZ λ ΩZ where the denominator ΩZ is one if the center is a point at infinity or, if it is a proper point, ϵ ˜ W ωw ω002 + Ω ˜ V ωv ω020 + Ω ˜ U ωu ω200 − T , ΩZ = Ω λ Z =
(17)
(18)
and we have introduced for simplicity,
˜ U = ϵ U ΩU , Ω
˜ V = ϵV ΩV , Ω
˜ W = ϵ W ΩW . Ω
(19)
Since the center of a paraboloid is a point at infinity, we have a simple characterization: Corollary 1. A rational triangular quadratic patch with control net {c002 , c011 , c020 , c101 , c110 , c200 } and weights {ω002 , ω011 , ω020 , ω101 , ω110 , ω200 }, such that the three boundary conics meet at a point S, which is written as in (3), is a paraboloid if the quadric is non-degenerate and
˜ W ωw ω002 + Ω ˜ V ωv ω020 + Ω ˜ U ωu ω200 − Ω
ϵT = 0, λ
where the coefficients are given in (6), (12) and (19). 5. The conic at infinity The conic at infinity is the intersection of the quadric with the plane z at infinity and it is formed by its asymptotic directions. It is useful for classifying quadric patches, as it is done in [10]. Since points X on z satisfy z (X ) = ϵW p(X ) + ϵV q(X ) + ϵU r (X ) + ϵT t (X ) = 0, we can use as bilinear form for the conic at infinity on z
Z=
p2 2 ΩW
+
q2
ΩV2
+
r2
ΩU2
−
2pq
ΩW ΩV
−
2pr
ΩW ΩU
−
2qr
ΩV ΩU
+ λ(ϵW p + ϵV q + ϵU r )2 ,
except when T is a point at infinity. In order to draw information about the conic at infinity, we may factor its bilinear form, 2 ˜W Z = (Ω λ + 1)σ12 +
λ
1 ˜ ˜ ˜ ˜ ˜ ˜ σ + ΩU ΩV + ΩV ΩW + ΩW ΩU − σ32 , 2 ˜W λ Ω λ+1 2 2
where we have introduced three linear forms, σ1 , σ2 , σ3 , in order to diagonalize Z,
˜ VΩ ˜ Wλ − 1 q ˜ UΩ ˜ Wλ − 1 r Ω Ω + , 2 2 ˜ W λ + 1 ΩV ˜ W λ + 1 ΩU ΩW Ω Ω 2 ˜ UΩ ˜V +Ω ˜ VΩ ˜W +Ω ˜ WΩ ˜U −Ω ˜W q Ω − 2/λ r ˜V +Ω ˜ W) σ2 := (Ω + , ˜V +Ω ˜W ΩV ΩU Ω
σ1 :=
σ3 :=
p
+
2
r
˜V +Ω ˜ W ΩU Ω
.
(20)
A. Cantón et al. / Journal of Computational and Applied Mathematics 300 (2016) 400–419
407
The case of T at infinity is simpler, as points at infinity satisfy z (X ) = ϵW p(X ) + ϵV q(X ) + ϵU r (X ) = 0, but it can be handled similarly. Combining both cases, we obtain a general expression for the determinant of Z in this reference,
˜ UΩ ˜V +Ω ˜ VΩ ˜W +Ω ˜ WΩ ˜ U − ϵT . det Z = λ Ω
(21)
The conic at infinity of a paraboloid is degenerate. Hence, det Z vanishes for these quadrics. This condition is equivalent to the one obtained in the previous section. The classification of the conic at infinity allows us to finish the classification of quadrics. Since paraboloids are noncentered, one-sheeted hyperboloids are ruled and centered, we just have to tell ellipsoids from two-sheeted hyperboloids, since they are both oval and centered: Since λ is positive in this case, we notice that if the determinant (21) is positive, the signature of the bilinear form is (+ + +) and hence the conic is imaginary. We have an ellipsoid then, since it does not intersect the plane at infinity. On the other hand, if the determinant (21) is negative, the signature of the bilinear form is (+ + −) and we have a proper conic. The quadric is a hyperboloid in this case: Corollary 2. A rational triangular quadratic patch with control net {c002 , c011 , c020 , c101 , c110 , c200 } and weights {ω002 , ω011 , ω020 , ω101 , ω110 , ω200 }, such that the three boundary conics meet at a point S, which is written as in (3) and with positive λ, given by (12), is an oval quadric and: • An ellipsoid if det Z > 0. • An elliptic paraboloid if det Z = 0. • A two-sheeted hyperboloid if det Z < 0. where the expression for det Z is given in (21). 6. Conics on planes t , u, v, w and degenerate quadrics In order to draw more information about the surface patch, we take a look at the conic arcs√on planes t , u, v, w . A conic with weights ω0 , ω1 , ω2 can be classified [18] using the canonical weight ω = ω1 / ω0 ω2 : If ω < 1, it is an ellipse; if ω = 1, it is a parabola and if ω > 1, it is a hyperbola. The canonical weights for the conics on planes u, v, w are respectively
ω011 , √ ω002 ω020
√
ω101 , ω002 ω200
ω110 . √ ω020 ω200
A set of weights for an arc of the conic on t is readily obtained. For instance, we can use P , U , Q as control polygon and use the same kind of construction of (3) to assign an infinite parameter to the point R, so that its coordinates referred to P, U, Q , ω002 ωw P − ΩU U + ω020 ωv Q , R=
ω200 ωu
provides us a set of weights ω002 ωw , ΩU /2, ω020 ωv for the conic arc. Similarly, we obtain weights ω002 ωw , ΩV /2, ω200 ωu for the arc with control polygon P , V , R and ω020 ωv , ΩW /2, ω200 ωu for the arc with control polygon Q , W , R. Hence the canonical weights for these arcs are
ΩU , ωPUQ = √ 2 ω002 ω020 ωv ωw
ΩV ωPVR = √ , 2 ω002 ω200 ωu ωw
ΩW ωQWR = √ . 2 ω020 ω200 ωu ωv
(22)
We can use either of these to classify the conic on t. Furthermore, this result furnishes an interpretation of ΩU , ΩV , ΩW as weights for the points U , V , W if ω002 ωw , ω020 ωv and ω200 ωu are respectively the weights for P , Q , R. We have calculated this set of weights resorting to the point S, but it is clear that it can be obtained independently from the barycentric combinations ΩQ Q − ΩW W + ΩR R ΩP P − ΩV V + ΩR R , Q = , P =
ΩQ − ΩW + ΩR
R=
ΩP P − ΩU U + ΩQ Q , ΩP − ΩU + ΩQ
ΩP − ΩV + ΩR
(23)
up to a multiplicative factor. This is useful for degenerate quadrics (cones and cylinders), since for their triangular quadric patches the boundary conics do not meet in general at a point S, but we can still use (8) as the bilinear form for the tangent cone to the quadric along the conic on t:
408
A. Cantón et al. / Journal of Computational and Applied Mathematics 300 (2016) 400–419
Fig. 4. The pole of a diametral plane is the direction of the tangent cylinder to the quadric along its intersection.
Theorem 2. A rational triangular quadratic patch with control net {c002 , c011 , c020 , c101 , c110 , c200 } and weights {ω002 , ω011 , ω020 , ω101 , ω110 , ω200 }, on a degenerate quadric has a bilinear form with coefficients ΩU , ΩV , ΩW satisfying (23),
Q=
p2 2 ΩW
+
q2
ΩV2
+
r2
ΩU2
−
2pq
ΩW ΩV
−
2pr
ΩW ΩU
−
2qr
ΩV ΩU
,
(24)
with coefficients given by (6) and where p is the linear form of the plane containing c002 , c011 , c101 , q is the linear form of the plane containing c020 , c011 , c110 and r is the linear form of the plane containing c200 , c101 , c110 which satisfy p(W ) = 1,
q(V ) = 1,
r (U ) = 1,
at the points U (intersection of the planes p, q, t), V (intersection of the planes p, r , t) and W (intersection of the planes q, r , t) given by (5). If the planes p, q, r meet at a proper point T , the quadric is a cone with vertex T . If T is a point at infinity, the quadric is a cylinder and the direction of its axis is given by T . 7. Classification of quadrics The classification of quadric patches is refined now that we know whether the quadric has a center or not:
• λ > 0: Oval quadrics: – Centered: ∗ Ellipsoids: det Z > 0. ∗ Two-sheeted hyperboloids: det Z < 0. – Non-centered: Elliptic paraboloids. • λ = 0: Degenerate quadrics: – Cones: if the vertex T is a proper point. – Cylinders: if T is a point at infinity. The type of cylinder is determined classifying any of its conic sections [16]. • λ < 0: Ruled quadrics: – Centered: One-sheeted hyperboloids. – Non-centered: Hyperbolic paraboloids. We may tell ellipsoids from two-sheeted hyperboloids in other ways. For instance, if the conics at planes t , u, v, w are all ellipses, the quadric is an ellipsoid. We can use (22) for this. 8. Diametral planes and axes If a plane contains the center of the quadric, it is called diametral. As the center of the quadric is the pole of the plane at infinity, polar planes of points v ⃗ at infinity are diametral. That is, the tangent cone to the quadric along its intersection with a diametral plane degenerates to a cylinder (see Fig. 4). The direction of the cylinder is given by the pole v ⃗ of the diametral plane. ⃗ , V⃗ , W ⃗ }, where We choose a basis of vectors {U
− →
⃗ = TU , U
− →
V⃗ = TV ,
−→
⃗ = TW , W
(25)
if U , V , W are proper points. If one of them is a point at infinity, we take it as vector of the basis. For instance, if U is a point ⃗ = U. at infinity, we take U
−→
−→
⃗ , V⃗ , T⃗ } with U⃗ = WU, V⃗ = WV , The case of an improper point T can be handled similarly. We use in this case a basis {U T⃗ = T , if W is a proper point. Otherwise, we choose U or V as origin and use W as one of the vectors of the basis.
A. Cantón et al. / Journal of Computational and Applied Mathematics 300 (2016) 400–419
409
For a direction
⃗, v⃗ = α U⃗ + β V⃗ + γ W
(26)
the polar plane is a diametral plane with linear form given by
γ α β p β α γ q − − + − − ΩW ΩU ΩV ΩW ΩV ΩU ΩW ΩV α β γ r + − − − λ(ϵU α + ϵV β + ϵW γ )t . ΩU ΩV ΩW ΩU
Qv⃗ =
(27)
Before going on, we need information about the normal of a plane given by a linear form: Lemma 1. A plane l with linear form ap + bq + cr + dt, where p, q, r , t are linear forms satisfying p(W ) = q(V ) = r (U ) = t (T ) = 1, contains the vectors
v⃗1 = (b − ϵV d)U⃗ + (ϵU d − c )V⃗ , ⃗, v⃗2 = (a − ϵW d)V⃗ + (ϵV d − b)W ⃗, v⃗3 = (ϵW d − a)U⃗ + (c − ϵU d)W and hence its normal vector is given by
⃗ + (b − ϵV d)W ⃗ × U⃗ . ⃗ = (a − ϵW d)U⃗ × V⃗ + (c − ϵU d)V⃗ × W n ⃗ belongs to the plane if and only if The proof is simple, since a vector v ⃗ = α U⃗ + β V⃗ + γ W 0 = l(⃗ v ) = (c − ϵU d)α + (b − ϵV d)β + (a − ϵW d)γ . A diametral plane is called a principal plane or a plane of symmetry if it is orthogonal to its pole v ⃗ . The principal axis of the quadric are the lines which are intersections of two principal planes. That is, the poles of the principal planes are the directions of the axes. Since for this definition we need to include a scalar product, it is necessary to provide another symmetric bilinear form G, such that v ⃗·w ⃗ = G(⃗v , w) ⃗ , denoting by a dot the scalar product. The matrix of such form is usually called Gram matrix and it is gUU gVU gWU
G=
gUV gVV gWV
gUW gVW gWW
⃗ · B⃗, where gAB := A
(28)
⃗ , V⃗ , W ⃗ }. in the basis {U In order to derive conditions for principal planes, we have to impose that the pole v ⃗ be orthogonal to a basis of vectors of the diametral plane, which can be two of the ones which have been calculated in Lemma 1, 0 = v ⃗1 · v⃗ = (b − ϵV d)(gUU α + gUV β + gUW γ ) + (ϵU d − c )(gVU α + gVV β + gVW γ ), 0 = v ⃗2 · v⃗ = (a − ϵW d)(gVU α + gVV β + gVW γ ) + (ϵV d − b)(gWU α + gWV β + gWW γ ), and these equations can be easily solved up to a proportionality factor µ, a − ϵW d = µ(gWU α + gWV β + gWW γ ), b − ϵV d = µ(gVU α + gVV β + gVW γ ), c − ϵU d = µ(gUU α + gUV β + gUW γ ),
(29)
where
1 γ α β − − , a = ΩW ΩU ΩV ΩW β α γ 1 b = − − , ΩV ΩU ΩW ΩV α β γ 1 c = − − , ΩU ΩV ΩW ΩU
d = −λ(ϵU α + ϵV β + ϵW γ ).
(30)
410
A. Cantón et al. / Journal of Computational and Applied Mathematics 300 (2016) 400–419
In the case of improper T and, for instance, proper W , the equations for the coordinates of v ⃗ = α U⃗ + β V⃗ + δ T⃗ are b − ϵV a = µ(gVU α + gVV β + gVT δ), c − ϵU a = µ(gUU α + gUV β + gUT δ), d = µ(gTU α + gTV β + gTT δ),
(31)
where
α β 1 ϵU α + ϵV β − − , ΩW ΩU ΩV ΩW β α ϵU α + ϵV β 1 b = − + , ΩV ΩU ΩW ΩV α β ϵU α + ϵV β 1 c = − + , ΩU ΩV ΩW ΩU
a =
−
d = λδ.
(32)
These conditions can be seen as arising from an alternative definition of principal axes as lines with direction given by eigenvectors of the bilinear form of the conic at infinity. The values of the coefficient µ are the corresponding eigenvalues, which are obtained by imposing that the system (29) has non-trivial solutions for α, β, γ . Hence µ has to satisfy a cubic equation and there are in general three principal planes and axes, except for quadrics of revolution and spheres: Corollary 3. A rational triangular quadratic patch with control net {c002 , c011 , c020 , c101 , c110 , c200 } and weights {ω002 , ω011 , ω020 , ω101 , ω110 , ω200 }, such that the three boundary conics meet at a point S, which is written as in (3), has diametral planes ⃗ , or v⃗ = α U⃗ + β V⃗ + γ T⃗ , if T is a point at infinity, in a vector with linear forms given by (27) with a pole v ⃗ = α U⃗ + β V⃗ + γ W basis (25), defined with points (5) and (10). The poles of principal planes are the directions of principal axes and, if T is a proper point, they satisfy the linear system (29) for values of µ for which the determinant
1 λ − − µgWU WU ΩW ΩU 1 λVU − − µgVU ΩV ΩU λ + 1 − µg U UU ΩU2
λWV −
1
ΩW ΩV
λV + λUV −
1
ΩV2
− µgWV
− µgVV
1
ΩU ΩV
− µgUV
λVW λUW
1
− µgWW 1 − − µgVW ΩV ΩW 1 − − µgUW ΩU ΩW
λW +
2 ΩW
vanishes, with λAB := ϵA ϵB λ and coefficients given by (6) and (28). If T is a point at infinity, the coordinates of the pole satisfy the linear system (31) for values of µ for which the determinant
AUU − µgUU AUV − µgVU −µg TU
AUV − µgUV AVV − µgVV −µgTV
−µgUT −µgVT λ − µgTT
vanishes, with
2 2 ϵU 1 ϵV 1 + , AVV := + , ΩW ΩU ΩW ΩV ϵU ϵV ϵV ϵU 1 := 2 + + − . ΩW ΩU ΩW ΩV ΩU ΩV ΩW
AUU := AUV
In general there are three different values for µ. If there is a double non-null solution, the quadric is a surface of revolution. If there is a triple solution, the surface is a sphere. The discriminant of a cubic equation a3 µ3 + a2 µ2 + a1 µ + a0 = 0,
∆ = −27a23 a20 + 18a0 a1 a2 a3 − 4a3 a31 − 4a32 a0 + a22 a21 , provides a simple way of checking whether a quadric is a surface of revolution: A vanishing discriminant ∆ is equivalent to having a double root. Besides, a vanishing second derivative of the equation, 3a3 µ+ 2a2 = 0, implies a triple root and hence the quadric would be a sphere. ˜ UΩ ˜V + Ω ˜ VΩ ˜W + Ω ˜ WΩ ˜ U in the case of proper It is easily checked that the eigenvalue µ = 0 just appears for λ−1 = Ω T . That is, for paraboloids. For these surfaces the plane at infinity is a principal plane: The plane at infinity is diametral, as it
A. Cantón et al. / Journal of Computational and Applied Mathematics 300 (2016) 400–419
411
Fig. 5. The vertex O of a paraboloid is the pole of a tangent plane with the center Z as normal.
comprises the center, and it is principal, since it fulfills (29). Besides, it is the polar plane of the center, since it is tangent to the paraboloid at the center. In the case of improper T , the eigenvalue µ = 0 appears only if λ = 0. Hence, cylinders have a null eigenvalue, corresponding to a pole T , the direction of the axis, which has no polar plane. For parabolic cylinders there is another null eigenvalue, since the plane at infinity is an improper principal plane. There are then just two proper principal planes for paraboloids, except for paraboloids of revolution. The intersection of these principal planes is the only proper axis of the paraboloid, a line with direction given by the center of the paraboloid. The axis meets the paraboloid at the center and at a single proper point named vertex. We may calculate the vertex solving a quadratic equation, but there is a simpler way, taking into account that the tangent plane o at the vertex O is orthogonal to the center Z (see Fig. 5). We can use this property to compute the vertex: A plane with linear form ap + bq + cr + dt is orthogonal to a vector (26) if their coordinates fulfill (29). Hence reading the coordinates of Z from (16) with, for instance, µ = 1,
˜V +Ω ˜ W ), α = ΩU (Ω ˜ ˜ V ), γ = ΩW ( ΩU + Ω
˜W +Ω ˜ U ), β = ΩV ( Ω
we get the differences A = a − ϵW d, B = b − ϵV d, C = c − ϵU d for the planes which are orthogonal to the center. That is, we have the linear form for the tangent plane at the vertex of the paraboloid, except for the coefficient d. Since tangent planes are solutions of the implicit equation of the quadric in tangential form (13), 0 = ΩU ΩV (C + ϵU d)(B + ϵV d) + ΩV ΩW (B + ϵV d)(A + ϵW d) + ΩW ΩU (A + ϵW d)(C + ϵU d) 1
−
˜ UΩ ˜V +Ω ˜ VΩ ˜W +Ω ˜ WΩ ˜U Ω = ΩU ΩV BC + ΩV ΩW AB + ΩW ΩU AD + ΩU ΩV (ϵU B + ϵV C ) + ΩV ΩW (ϵV A + ϵW B) + ΩW ΩU (ϵU A + ϵW C ) d, the coefficients of the plane are readily obtained
ΩU ΩV BC + ΩV ΩW AB + ΩW ΩU AC , ΩU ΩV (ϵU B + ϵV C ) + ΩV ΩW (ϵV A + ϵW B) + ΩW ΩU (ϵU A + ϵU C ) ˜V +Ω ˜ W ) + gWV ΩV (Ω ˜W +Ω ˜ U ) + gWW ΩW (Ω ˜U +Ω ˜ V ), a = ϵW d + gWU ΩU (Ω ˜V +Ω ˜ W ) + gVV ΩV (Ω ˜W +Ω ˜ U ) + gVW ΩW (Ω ˜U +Ω ˜ V ), b = ϵV d + gVU ΩU (Ω
d = −
˜V +Ω ˜ W ) + gUV ΩV (Ω ˜W +Ω ˜ U ) + gUW ΩW (Ω ˜U +Ω ˜ V ), c = ϵU d + gUU ΩU (Ω
(33)
where a, b, c , d are given by (30). The vertex O is just the pole of the plane o = ap + bq + cr + dt: Corollary 4. A rational triangular quadratic patch for a paraboloid with control net {c002 , c011 , c020 , c101 , c110 , c200 } and weights {ω002 , ω011 , ω020 , ω101 , ω110 , ω200 }, such that the three boundary conics meet at a point S, which is written as in (3), has a vertex given by O =
(bΩV + aΩW )ΩU U + (c ΩU + aΩW )ΩV V ΩU ΩV (b + c − 2ϵU ϵV d) + ΩV ΩW (a + b − 2ϵV ϵW d) + ΩW ΩU (a + c − 2ϵW ϵU d) ˜ UΩ ˜V +Ω ˜ VΩ ˜W +Ω ˜ WΩ ˜ U )T (c ΩU + bΩV )ΩW W − 2d(Ω + , ΩU ΩV (b + c − 2ϵU ϵV d) + ΩV ΩW (a + b − 2ϵV ϵW d) + ΩW ΩU (a + c − 2ϵW ϵU d)
where A = a − ϵW d, B = b − ϵV d, C = c − ϵU d and (33). The coefficients are given in (6) and (19) and the points U , V , W , T are defined in (5) and (10).
412
A. Cantón et al. / Journal of Computational and Applied Mathematics 300 (2016) 400–419
Fig. 6. Ellipsoid.
Finally, the axis of a cylinder is easily determined, since it has the direction of T and contains the center of every conic section. For instance, we can use the center of the conic at t, which according to (17) is given by Zt =
ϵW ΩW ωw ω002 P + ϵV ΩV ωv ω020 Q + ϵU ΩU ωu ω200 R . ΩZ
9. Examples Now we apply our results to several quadric patches: (0, 0, 0) (1, 0, 1) (2, 0, 0) (−2, 2, 3) (1, 1, 1)
Example 1. Net:
(0,
4 2
,
3 3
)
1
1
1
and weights:
1
2
2
3 3 1
(Fig. 6):
The normalized linear forms for the tangent planes are p=
10x + 25y − 10z 32
,
q=
2−x−z 8
,
r =
12 − 3x − 9y 16
,
and meet at a point (−8/7, 12/7, 22/7). The three boundary conics meet at a point, S = (1, 0, −1) = c002 − c011 + c020 c002 − 2c101 /3 + c200 c200 − 4c110 /3 + c020
=
4/3
=
2/3
,
and hence ωu = 1, ωv = 4/3, ωw = 2/3. The normalized linear form for the plane through the corners of the net is t =
−7y + 14z 32
.
The quadric is oval, since the coefficient λ = 207/49 for this quadric patch is positive. It is not a paraboloid, since the center is the proper point (1/2, 2/5, −1/30). Since the boundary curves and the conic on t are ellipses, the quadric is an ellipsoid. One arrives to the same conclusion checking that det Z = 480/49 is positive. The bilinear form that we get for this surface is
Q=
18x2 + 45xy + 81y2 − 81yz + 54z 2 − 36x − 90y + 36z 64
,
and the implicit equation, in Cartesian coordinates is 0 = 18x2 + 45xy + 81y2 − 81yz + 54z 2 − 36x − 90y + 36z . The three eigenvalues calculated according to Corollary 3 are different, µ = 1.78, 0.90, 0.52, and so this ellipsoid is not a surface of revolution.
A. Cantón et al. / Journal of Computational and Applied Mathematics 300 (2016) 400–419
413
Fig. 7. Two-sheeted hyperboloid.
The three principal planes are 0.61p + 0.37q − 1.32r − 2.04t , −0.90p + 15.05q − 4.49r + 5.04t , −10.46p + 17.24q − 0.57r − 19.12t , with respective implicit equations in Cartesian coordinates 0.39x + 1.67y − 1.13z − 0.90 = 0,
−1.32x + 0.72y + 0.60z + 0.39 = 0, −5.32x − 3.67y − 7.25z + 3.88 = 0, and obviously meet at the center. (0, 0, 0) (1, 0, 1) (2, 0, 0)
Example 2. Net:
(−1, 1, 2) (1, (0, 2, 0)
1
2
, 1)
1 2 3
and weights:
12 1
(Fig. 7):
The normalized linear forms for the tangent planes are p=
x + 3y − z 4
,
q=
x+z−2 4
,
r =
12 − 4x − 6y − 5z 8
,
and meet at a point (2/5, 2/5, 8/5). The three boundary conics meet at a point at infinity, S = (2, 0, −4) = c002 − 4c011 + 3c020
= c002 − 2c101 + c200 = c200 − 4c110 + 3c020 , and hence ωu = ωv = ωw = 1. The normalized linear form for the plane through the corners of the net is t =
5z 8
.
The quadric is oval, since the coefficient λ = 3/25 for this quadric patch is positive. It is not a paraboloid, since the center is the proper point (7/4, −1/2, 5/2). As the boundary curves are not ellipses, but two hyperbolas and one parabola, the quadric is not an ellipsoid, but a two-sheeted hyperboloid. Accordingly, det Z = −16/25 is negative. The bilinear form that we get for this surface is
Q=
4x2 + 12xy + 12y2 + 6yz − z 2 − 8x − 24y + 8z 48
and the implicit equation, in Cartesian coordinates is 0 = 4x2 + 12xy + 12y2 + 6yz − z 2 − 8x − 24y + 8z .
,
414
A. Cantón et al. / Journal of Computational and Applied Mathematics 300 (2016) 400–419
Fig. 8. Hyperbolic paraboloid.
The eigenvalues for the normal directions of the principal planes are different, µ = 0.33, −0.44, 0.30, and hence the hyperboloid is not a surface of revolution. The principal planes are 1.58p + 0.45q − 0.91r + 0.08t , 0.36p + 0.05q + 0.30r + 0.22t , 0.79p + 4.65q + 1.21r − 0.96t , and have the respective equations in Cartesian coordinates 0.97x + 1.87y + 0.34z − 1.60 = 0, −0.05x + 0.05y − 0.13z + 0.43 = 0, 0.75x − 0.32y − 0.39z − 0.51 = 0, and meet at the center as expected. (0, 0, 0) (1, 0, 0) (2, 0, 2)
(0,
Example 3. Net:
1
2
, 0) (1,
1
2
1 1 1
, 0)
and weights:
1
(0, 1, − )
11 1
(Fig. 8).
2
The normalized linear forms for the tangent planes are p = −z ,
q=
4 − 4x + 2z 3
,
r =
−1 + 2y + 2z 3
,
and meet at a point (1, 1/2, 0). The three boundary conics meet at a point at infinity, S = (0, 0, 2) = c002 − 2c011 + c020 c002 − 2c101 + c200 c200 − 2c110 + c020
=
= −1/4 3/4 and hence ωu = 1, ωv = −1/4, ωw = 3/4.
,
The normalized linear form for the plane through the corners of the net is t =
4x − 2y − 4z
.
3 The quadric is ruled, since the coefficient λ = −1 for this quadric patch is negative. It is a hyperbolic paraboloid, since the center is a point at infinity (0, 0, −3/64), which is also the direction of the axis. The bilinear form that we get for this surface is
Q=
8z − 4x2 + 4y2 3
,
and the implicit equation, in Cartesian coordinates is 0 = 2z − x2 + y2 . The eigenvalues calculated according to Corollary 3 are different, µ = 0, 4/3, −4/3, and one of them is null, as it is expected for a hyperbolic paraboloid. The three principal planes are q + r + t, 2p + q + 4r + t , 3 3 − p + q + 3r + 3t . 2 4
A. Cantón et al. / Journal of Computational and Applied Mathematics 300 (2016) 400–419
415
Fig. 9. Parabolic cylinder.
The first principal plane is the plane at infinity and the other ones have y = 0, x = 0 as implicit equations in Cartesian coordinates. They all meet at the center. The vertex is the point (0, 0, 0), as it is clear from the form of the implicit equation. (0, −1, 0) (2, 0, 0) (0, 1, 0)
Example 4. Net:
1 1
(1, − ,
) (1,
1
2 2 2 (1, 0, 1)
, 1)
1 1 1
and weights:
(Fig. 9):
11 1
The normalized linear forms for the tangent planes are x x p = 1 − + y, q = 1 − − y, r = x − 1, 2 2 and meet at a point at infinity (0, 0, 1). The three boundary conics are parabolas and do not meet at any point. Hence the patch does not belong to a nondegenerate quadric. If it is a degenerate quadric, it is then a parabolic cylinder with direction (0, 0, 1). It is easy to check, for instance, that their respective centers are aligned and hence it is a degenerate quadric. The normalized linear form for the plane through the corners of the net is t = −x + z . Using (23) we find a set of weights ΩU = −1/2, ΩV = 1 = ΩW and hence the bilinear form that we get for this surface is
Q = 4(x + y2 − 1), and the implicit equation, in Cartesian coordinates is x = 1 − y2 . The eigenvalues for the poles of the principal planes are µ = 0, 0, 4, as it is expected for a parabolic cylinder. The principal planes are p + q + r,
p − q.
The first one is the plane at infinity and the second one is the only proper principal plane of a parabolic cylinder, with equation in Cartesian coordinates given by y = 0. √
Example 5. Net:
√
4 4 3 4
(2, 0, 2) ( ,
1
,
)( ,
3 √9 3 4 4 3 4
( ,− 3
9
2
3 2
, 1)
3 9 1 8 16 and weights: 9 1 (Fig. 10): 16 2
, ) (2, 0, 1) √3
1
( ,− 2
3 2
1
, 1)
The normalized linear forms for the tangent planes are
√
p=
z−x
,
q=
−x −
3y + 2z
,
2 4 and meet at a point (0, 0, 0). The three boundary conics meet at a point S = (−1, 0, 1) =
=
r =
−x +
3c002 /8 − 9c011 /8 + c020
1/4 3c002 /8 − 9c101 /8 + c200 1/4
and hence ωu = 1/4 = ωv , ωw = 1.
= c200 − c110 + c020 ,
√ 3y + 2z 4
,
416
A. Cantón et al. / Journal of Computational and Applied Mathematics 300 (2016) 400–419
Fig. 10. Cone.
The normalized linear form for the plane through the corners of the net is t =
2 + 2x − 3z 2
.
The quadric is degenerate, since the coefficient for this quadric patch is λ = 0. It is a cone, since the intersection of the tangent planes is a proper point, which is the vertex (0, 0, 0). The bilinear form that we get for this surface is
Q=
16 3
(x2 + y2 − z 2 ),
and the implicit equation, in Cartesian coordinates is 0 = x2 + y 2 − z 2 . The eigenvalues for the poles of the principal planes are µ = −16/3, 16/3, 16/3, and so the surface is a cone of revolution. The principal planes are p − q − r, 3γ p + (1 − 2γ )q − (1 + γ )r , for every value of γ and their respective equations in Cartesian coordinates are z = 0,
√
3γ x + (2 − γ ) 3y = 0. 10. Tensor product quadric patches Tensor product patches are the most common way to model surfaces in CAD. In particular, in some cases quadrics can be parametrized by biquadratic rational Bézier patches, 2 2
c (u, v) =
ωij cij B2i (u)B2j (v)
i=0 j=0 2 2
, ω
2 ij Bi
u, v ∈ [0, 1],
(u) (v) B2j
i=0 j=0
for a control net {c00 , c01 , c02 , c10 , c11 , c12 , c20 , c21 , c22 } and their respective weights. The patch is bounded by four conic arcs with control polygons {c00 , c01 , c02 }, {c20 , c21 , c22 }, {c00 , c10 , c20 } and {c02 , c12 , c22 }, meeting two by two at the four corner vertices c00 , c02 , c20 , c22 . Not every rational biquadratic patch is a quadric patch [21,22], but we can apply our knowledge about quadric triangular patches to them. For instance, we can take P = c00 , Q = c02 , R = c20 and define a triangular patch with these three corners, as we know that the tangent planes are defined by the neighboring vertices: p contains c00 , c01 , c10 , q contains c02 , c01 , c12 and r contains c20 , c10 , c21 (see Fig. 11). We already know the conic at u, defined by the control points {c00 , c01 , c02 } and their weights, and the conic at v , defined by {c00 , c10 , c20 } and their weights. For the conic at w we have the control points c02 and c20 and their weights, but we lack the intermediate control point c110 and the weight ω110 .
A. Cantón et al. / Journal of Computational and Applied Mathematics 300 (2016) 400–419
417
Fig. 11. Planes on a biquadratic tensor product patch.
Fig. 12. Spherical rational tensor product patch.
In order to have a triangular quadric patch, we can use the other point S where the conics at u and v meet, besides P. We may reparametrize both conics as we did in (3) so that their weights satisfy S=
ω00 c00 − 2ω01 c01 + ω02 c02 ω00 c00 − 2ω10 c10 + ω20 c20 = , ωu ωv
where denominators, if S is a proper point, are
ωu = ω00 − 2ω01 + ω02 ,
ωv = ω00 − 2ω10 + ω20 .
Now we can define the plane w as the one containing S , c02 , c20 and complete Fig. 2 by computing the intersection points U , V , W on plane t. The barycentric combinations for U , V , W provide us the value of ωw and hence of ω110 and c110 . If the biquadratic patch is in fact part of a quadric surface, Theorem 1 provides its bilinear forms and we can calculate its geometric elements. We see it with an example: Example 6. Net:
(a, 0, a)
(2a, 0, 0) (a, 0, −a)
(a, a, a) (2a, 2a, 0) (a, a, −a)
(0, a, a) (0, 2a, 0) (0, a, −a)
√ with a = 1/ 2 and weights:
1 1/2 1/2
1 1/2 1/2
2 1 1
(Fig. 12):
We use a triangular patch through P = c00 , Q = c02 , R = c20 with the following control net and weights
(a, 0, a) (a, a, a) (0, a, a) (2a, 0, 0) c110 , (a, 0, −a)
112 1/2 ω110 , 1/2
√
and notice that the conic at u and the conic at v meet at the point S = (− 2/2, 0, S = c00 − 2c01 + 2c02 =
c00 − c10 + c20 /2 1/2
√
2/2) and
.
There is no need to perform Möbius transformations, since the weights already satisfy
ωu = ω00 − 2ω01 + ω02 = 1,
ωv = ω00 − 2ω10 + ω20 =
1 2
,
418
A. Cantón et al. / Journal of Computational and Applied Mathematics 300 (2016) 400–419
but the other denominator is not determined,
ωw = ω20 − 2ω110 + ω02 =
5 2
− 2ω110 .
The control points and S define the planes p, q, r , t and their intersections,
√
√
2
U =
,
4
T = (1,
√
2 3 2 4
,
4
,
√
√
2, −
V =
2 2
,0 ,
√ √ 2, 2, 0),
except for W , which is a point at infinity with direction (1, −1, 1). This means that ΩW = 1, but the normalization term for W
−ω002 ωw + ω020 ωv + ω200 ωu = 2ω110 − 1 must vanish and hence ω110 = 1/2, ωw = 3/2 and the representative for W is the vector
√
W = −ω00 ωw P + ω02 ωv Q + ω21 ωu =
2 2
(−1, 1, −1) .
The coefficients
ΩU = 2,
ΩV = 1,
ΩW = 1,
λ = 2,
yield the expression for the bilinear form for the quadric,
Q = p2 + q2 +
r2 4
− 2pq − pr − qr + 2t 2 .
The normalized forms for the planes are
√ p=−
√
2 2
(x + z −
√
√ 2),
2 √ r = ( 2 − x + z ), 3
2 √ ( 2 − y − z ), 3
q=
√ t =
2
3
√
x+y−
2
2
,
and so the implicit equation for the surface in Cartesian coordinates is x2 + y2 + z 2 − 1 = 0. 11. Conclusions We have derived closed formulas in terms of control points and weights for several geometric elements of quadrics in rational Bézier form, both in triangular and tensor product representation. To our knowledge, these formulas have not been produced before. The main difference with other procedures for drawing geometric information from rational triangular patches [3] is the use of geometric entities such as tangent planes to the quadric and their intersections as ingredients for obtaining bilinear forms, and hence, implicit equations, for the surface. There are many ways of implicitising a parametric surface [23], but the use of linear forms with geometrical meaning instead of Cartesian coordinates simplifies this problem for quadric patches. Besides, these geometric entities appear naturally in the formulas for geometric elements because they are already present in the expressions for the bilinear forms for the quadric. The use of projective algebraic geometry allows us to perform calculations in a synthetic fashion, instead of resorting to Cartesian coordinates. Additionally we classify affine quadrics using one coefficient involving the weights of the patch. This can be done without implicitising the quadric patch [10,12], but the closed form for the implicit equations is what enables us to derive closed formulas for geometric elements. The results are obtained initially for Bézier triangles, but are also extended to quadric patches in tensor product form. Acknowledgment This work is partially supported by the Spanish Ministerio de Economía y Competitividad through research grant TRA2015-67788-P. References [1] H. Pottmann, A. Asperl, M. Hofer, A. Kilian, Architectural Geometry, Bentley Institute Press, Exton, 2007. [2] G. Farin, Triangular Bernstein–Bézier patches, Comput. Aided Geom. Design (ISSN: 0167-8396) 3 (2) (1986) 83–127.
A. Cantón et al. / Journal of Computational and Applied Mathematics 300 (2016) 400–419 [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19]
[20] [21] [22] [23]
419
T. Sederberg, D. Anderson, Steiner surface patches, IEEE Comput. Graph. Appl. 5 (1985) 23–36. W. Boehm, D. Hansford, Bézier patches on quadrics, in: G. Farin (Ed.), NURBS for Curves and Surface Design, SIAM, 1991, pp. 1–14. S. Lodha, J. Warren, Bézier representation for quadric surface patches, Comput.-Aided Des. 22 (9) (1990) 574–579. R. Dietz, J. Hoschek, B. Jüttler, An algebraic approach to curves and surfaces on the sphere and on other quadrics, Comput. Aided Geom. Design 10 (3–4) (1993) 211–229. R. Dietz, J. Hoschek, B. Jüttler, Rational patches on quadric surfaces, Comput.-Aided Des. 27 (1) (1995) 27–40. A. Coffman, A.J. Schwartz, C. Stanton, The algebra and geometry of Steiner and other quadratically parametrizable surfaces, Comput. Aided Geom. Design 13 (3) (1996) 257–286. W. Degen, The types of triangular Bézier surfaces, in: G. Mullineux (Ed.), The Mathematics of Surfaces VI, Clarendon Press, 1996, pp. 153–170. G. Albrecht, Determination and classification of triangular quadric patches, Comput. Aided Geom. Design 15 (7) (1998) 675–697. G. Albrecht, Rational quadratic Bezier triangles on quadrics, in: F.-E. Wolter, N. Patrikalakis (Eds.), Computer Graphics International, 1998. Proceedings, IEEE, Los Alamitos, CA, 1998, pp. 34–40. G. Albrecht, Geometric invariants of parametric triangular quadric patches, Int. Electron. J. Geom. 4 (2) (2011) 63–84. J. Sánchez-Reyes, M. Paluszny, Weighted radial displacement: A geometric look at Bézier conics and quadrics, Comput. Aided Geom. Design 17 (3) (2000) 267–289. G. Albrecht, An algorithm for parametric quadric patch construction, Computing 72 (1–2) (2004) 1–12. G. Albrecht, M. Paluszny, M. Lentini, An intuitive way for constructing parametric quadric triangles, Comput. Appl. Math. (2015) 1–23. A. Cantón, L. Fernández-Jambrina, E. Rosado-María, Geometric characteristics of conics in Bézier form, Comput.-Aided Des. 43 (11) (2011) 1413–1421. G. Albrecht, Rational Triangular Bézier Surfaces - Theory and Applications, in: Habilitationschrift, Fakultät für Mathematik, TU München, ShakerVerlag, Aachen, 1999. G. Farin, Curves and Surfaces for CAGD: A Practical Guide, fifth ed., Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, ISBN: 1-55860-737-4, 2002. A. Cantón, L. Fernández-Jambrina, E. Rosado María, M. Váquez-Gallo, Implicit equations of non-degenerate rational Bézier quadric triangles, in: J.-D. Boissonnat, A. Cohen, O. Gibaru, C. Gout, T. Lyche, M.-L. Mazure, L.L. Schumaker (Eds.), Curves and Surfaces, in: Lecture Notes in Computer Science, vol. 9213, Springer International Publishing, ISBN: 978-3-319-22803-7, 2015, pp. 70–79. J.G. Semple, G.T. Kneebone, Algebraic Projective Geometry, Oxford University Press, London, 1952. W. Boehm, Some remarks on quadrics, Comput. Aided Geom. Design 10 (3–4) (1993) 231–236. U. Fink, Biquadratische Bézier-Flächenstücke auf Quadriken (Master’s thesis), Fakultät Mathematik der Universität Stuttgart, Mathematisches Institut der Universität Stuttgart, 1992. T. Sederberg, D. Anderson, R. Goldman, Implicit representation of parametric curves and surfaces, Comput. Vis. Graph. Image Process. 28 (1) (1984) 72–84.