Changing Views on Curves and Surfaces
arXiv:1707.01877v2 [math.AG] 11 Nov 2017

Kathlén Kohn, Bernd Sturmfels and Matthew Trager
Abstract
Visual events in computer vision are studied from the perspective of algebraic geometry.
Given a sufficiently general curve or surface in 3-space, we consider the image or contour
curve that arises by projecting from a viewpoint. Qualitative changes in that curve
occur when the viewpoint crosses the visual event surface. We examine the components
of this ruled surface, and observe that these coincide with the iterated singular loci of
the coisotropic hypersurfaces associated with the original curve or surface. We derive
formulas, due to Salmon and Petitjean, for the degrees of these surfaces, and show how
to compute exact representations for all visual event surfaces using algebraic methods.

1

Introduction

Consider a curve or surface in 3-space, and pretend you are taking a picture of that object
with a camera. If the object is a curve, you see again a curve in the image plane. For a
surface, you see a region bounded by a curve, which is called image contour or outline curve.
The outline is the natural sketch one might use to depict the surface, and is the projection
of the critical points where viewing lines are tangent to the surface. In both cases, the image
curve has singularities that arise from the projection, even if the original curve or surface is
smooth. Now, let your camera travel along a path in 3-space. This path naturally breaks
up into segments according to how the picture looks like. Within each segment, the picture
looks alike, meaning that the topology and singularities of the image curve do not change.
The appearance of a solid object under a continuously varying viewpoint was studied in
the 1970s by Koenderink and van Doorn [20]. Their motivation came from visual perception in psychology and artificial intelligence. Koenderink offers a detailed discussion in his
remarkable book on Solid Shape [19]. On the mathematical side, the topic was studied in
singularity theory by Arnol’d and others [2, 18, 30]. In that setting, the transitions between
locally stable views are the non-generic singularities from catastrophe theory. These catastrophes have been classified for projection-generic surfaces. The catalogue consists of the
following six visual events. The first three names are due to René Thom [39]:
(L) Local events: lip, beak-to-beak, and swallowtail.
(M) Multi-local events: tangent crossing, cusp crossing, and triple point.

1

In the 1980s, visual events became a research topic in computer vision [6, 24, 26, 32]. Chapter 13 in the textbook by Forsyth and Ponce [14] offers an introduction in that context. The
motivation in computer vision was to give a description of all possible appearances of a solid
object using a finite number of stable views, or aspects. The overall structure of aspects and
events is encoded in the aspect graph, in which vertices correspond to aspects, and edges
correspond to visual events between stable views. Although these ideas never found much
practical use, several algorithms for computing aspect graphs of algebraic surfaces were proposed. Test implementations involved both numerical and symbolic methods. Ponce and
Kriegman [32] and Rieger [34] studied the case of orthographic projections of parametric
algebraic surfaces. Methods for implicit algebraic surfaces were introduced by Petitjean et
al. [26] for orthographic projections, and by Rieger [35] for perspective projections. All
examples shown in these articles are very special low-degree surfaces. We here revisit this
literature, now 25 years old, and develop it further for today’s applied algebraic geometry.
Our model for the object to be viewed is a smooth variety X of dimension one or two in
complex projective space P3 . We assume that X is defined over R and the real locus XR is
Zariski dense in X. Taking a picture of XR is modeled by the linear projection π : P3 99K P2
with center z (for Zentrum). This defines a curve Cz (X) in the image plane P2 . If X is
a curve, then Cz (X) is the closure of the image of X under π. If X is a surface, then
Cz (X) is the branch locus of π restricted to X. This is the closure of the set of points in P2
whose corresponding viewing lines are tangent to X. Even though X is smooth, the curve
Cz (X) has many singular points. For a surface viewed from a general viewpoint z, the only
singularities in the contour are nodes and cusps. For a space curve, the image curve has only
nodes. As the center z changes, the structure of its singularities is locally constant. At some
point, a transition occurs, and the singularity structure changes. The visual event surface
V(X) is the Zariski closure in P3 of the set of these transition points. This definition can be
extended to singular curves and surfaces by excluding the role of singular points on X.
The visual event surface V(X) is usually reducible. If X is a general curve, then V(X)
has three irreducible components. If X is a general surface, then V(X) has five irreducible
components. These arise from the six events in (L) and (M) above. We shall explain the
geometry of these irreducible components, and we discuss how to compute them in practice.
An important caveat for applications is the distinction between real and complex points.
Algebraic methods do not distinguish between them. They apply to any complex curve or
surface X in P3 . For any particular X that is defined over R, it can happen that some visual
events are not seen on its real points, i.e., they might live in the set X\XR of complex points.
The focus in this paper lies on curves and surfaces that are general in the sense of algebraic
geometry. Thus, for a surface X in P3 of degree d, we assume that its equation is general
among homogeneous polynomials of degree d in four variables. For a curve X in P3 of degree
d and genus g, we assume that it is a general point in the Hilbert scheme of such curves.
We now briefly describe the organization and main results in this article. Section 2 is
devoted to ruled surfaces in P3 and to its subclass of developable surfaces. We introduce
effective representations of ruled surfaces, and we show how to compute with these. This
is relevant because all visual event surfaces are ruled. Their irreducible components are the
ruled surfaces in the bottom rows of Figures 1 and 2. These arise as iterated singular loci of
2

Chow and Hurwitz threefolds in Gr(1, P3 ), and of dual varieties in (P3 )∗ .
In Section 3 we develop the geometry of visual event surfaces for curves in P3 . The three
irreducible components are the tangential surface, edge surface and trisecant surface. These
represent the three Reidemeister moves on the image curve, as shown in Figure 3. We present
case studies that show the computation of visual event surfaces for curves up to degree six.
Section 4 concerns the visual event surface V(X) of a general surface X in P3 . The
six events in (L) and (M) are depicted in Figure 4, which we discuss in detail. These
events are translated into the algebraic setting, where they correspond to the five irreducible
components of V(X). Their degrees are listed in Theorem 4.1. These formulas were known
classically: they appear in paragraphs 597, 598, 599, 608 and 613 of Salmon’s book [36].
Modern proofs were given by Petitjean [25]. In Section 5 we present new proofs, based on
intersection theory in algebraic geometry, as seen in the textbook by Eisenbud and Harris [12].
Section 6 is devoted to practical methods for computing and representing the visual
events associated with a surface X in P3 . This is a non-trivial matter because the degrees
of the ruled surfaces in the output are very high, as seen in Table 2. For instance, if X is a
quintic, then the degrees of the irreducible components of V(X) range between 260 and 930.

2

Ruled Surfaces and Developable Surfaces

An irreducible surface in P3 is ruled if it is covered by straight lines. These lines are parameterized by some curve C, and they are known as the generators of the surface. A first
example are smooth quadratic surfaces in P3 . These possess two rulings of lines over C. We
refer to the book by Edge [11] for many classical results on ruled surfaces. In this section we
develop algebraic tools for computing and representing ruled surfaces in practice.
Ruled surfaces arise naturally when taking pictures of an object in 3-space. We encounter
them because all components of a visual event surface V(X) are ruled. Indeed, every general
point z on V(X) determines a line of sight that has a special intersection with the curve or
surface X. Every point on the line shares this property with z and hence lies in V(X).
A key player is the Grassmannian of lines in P3 , here denoted Gr(1, P3 ). This is a 4dimensional variety, embedded in P5 via Plücker coordinates. Every line is associated with
a sextuple (p12 : p13 : p14 : p23 : p24 : p34 ) given by the 2 × 2-minors of a 2 × 4-matrix whose
kernel is the line. The Plücker coordinates satisfy the quadratic Plücker relation
p12 p34 − p13 p24 + p14 p23 = 0.

(1)

The coordinate ring of Gr(1, P3 ) is the polynomial ring in the six unknowns pij modulo the
principal ideal generated by (1). We can also represent a line in P3 by its dual Plücker
coordinates (q12 : q13 : q14 : q23 : q24 : q34 ). These are the 2 × 2-minors of a 2 × 4-matrix
whose rows are points that span the line. Primal and dual Plücker coordinates are related
by qij = σ(ijkl) pkl , where i, j, k, l are distinct indices, and σ(ijkl) is the sign of the permutation
(ijkl). Every line satisfying p34 6= 0 has the parametric representation

z(t) = −p34 : tp34 : p14 − tp24 : tp23 − p13 .
(2)
3

Consider now an irreducible curve C in Gr(1, P3 ) which has degree d in P5 . We write IC for
its prime ideal in the coordinate ring. The union of all lines on C is a ruled surface SC in P3 .
Lemma 2.1. The ruled surface SC is irreducible and it has degree d in P3 . Conversely, every
irreducible ruled surface in P3 arises in this way from some irreducible curve C ⊂ Gr(1, P3 ).
Proof. This is one of the basic facts derived in Edge’s book [11, Chapter I, §26].
The defining polynomial of

0
−p12

−p13
−p14

the surface SC ⊂ P3 can be computed from the equations
  
 
p12
p13 p14
x1
0
x2 
0
0
p23 p24 
 ·   =  .
(3)
0
−p23
0
p34  x3 
−p24 −p34 0
x4
0

We add these four bilinear forms to the ideal IC , and then we saturate with respect to the
irrelevant ideal hp12 , p13 , p14 , p23 , p24 , p34 i of P5 . The resulting ideal is prime, and it describes
the incidence correspondence of points on lines that are in the curve C. Now, by eliminating
the unknowns pij , we obtain a principal homogeneous prime ideal in R[x1 , x2 , x3 , x4 ]. The
generator of this ideal is the polynomial of degree d that defines the desired surface.
This computation can be reversed. Given a surface S in P3 , we can compute the Fano
scheme of all lines on S. This lives in Gr(1, P3 ). Its ideal in R[p12 , p13 , p14 , p23 , p24 , p34 ] is
obtained by substituting (2) into the equation of S, extracting the coefficients of the resulting
polynomial in t, and saturating their ideal by hp34 i. The Fano scheme is usually empty or
consists of points. However, if it is a curve C, then the surface is ruled and S = SC .
The dual projective space (P3 )∗ consists of all planes in P3 . Homogeneous coordinates
on
P4
3 ∗
3
(P ) are denoted (y1 : y2 : y3 : y4 ). This point y represents the plane {x ∈ P : i=1 yi xi =
0}. Given an arbitrary subvariety X in P3 , its dual X ∨ ⊂ (P3 )∗ is the Zariski closure of the
set of all planes y that are tangent at a smooth point of X. Typically, the dual S ∨ of a
surface of degree at least two will be a surface in (P3 )∗ . However, it can happen that S ∨ is
a curve. In that case, S is a developable surface. Each developable surface S is encoded by
its dual curve S ∨ since we can recover the surface by the biduality relation S = (S ∨ )∨ .
Theorem 2.2. Every developable surface S is a ruled surface, i.e., it satisfies S = SC for
some curve C in Gr(1, P3 ). For a curve C in Gr(1, P3 ), the corresponding ruled surface SC
is developable if and only if all tangent lines of C in P5 are contained in the Plücker quadric.
Proof. For the first statement see [11, Chapter V, §344]. The second is [4, Prop. 12.4.1].
A developable surface S = SC that is not a cone has three distinct encodings as a curve.
First, there is the curve C in the Grassmannian Gr(1, P3 ). Second, there is the dual curve
S ∨ in (P3 )∗ . We saw how to recover S from these encodings. Finally, there is the edge of
regression E(S) which lies on the surface S in P3 . Points in E(S) are planes in (P3 )∗ that
intersect the curve S ∨ with multiplicity three. The surface S is the tangential surface of
E(S), i.e., it is the union of lines that are tangent to E(S) (see [29, page 111]). This also
verifies that S is indeed a ruled surface. The curves E(S) and S ∨ are also related by a
4

biduality relation; namely, S ∨ is the set of planes in P3 that intersect E(S) with multiplicity
three [27, Thm. 5.1]. Moreover, the tangent lines of E(S) and S ∨ are dual to each other.
This situation degenerates when the surface S is a cone, which means that its dual S ∨ is a
plane curve. In that special case, the edge of regression E(S) is the vertex of the cone S.
We illustrate the three curve encodings of a developable surface with a simple example.
Example 2.3. Let S be the surface of degree six in P3 that is defined by the polynomial
f = 16x32 x33 − 27x21 x43 + 6x1 x22 x23 x4 − 27x42 x24 + 48x21 x2 x3 x24 − 16x31 x34 .
This is the surface in [37, §3, eqn. (9)]. We verify that S is developable by computing the
ideal of its dual variety S ∨ ⊂ (P3 )∗ . This shows that S ∨ is a smooth rational quartic curve:
y2 y3 − 4y1 y4 , y33 + 4y2 y42 , y1 y32 + y22 y4 , y23 + 4y12 y3 .

(4)

The curve C in the Grassmannian Gr(1, P3 ) that encodes the ruling of S = SC has the ideal
IC =

2p14 − p23 , p224 + 3p13 p34 , p13 p24 − 9p12 p34 , p223 − 16p12 p34 , p213 + 3p12 p24 .

This ideal defines the Fano scheme of S in P5 . Finally, the edge of regression E(S) is the
rational quartic curve {(s4 : s3 t : st3 : t4 )} in P3 . The ideal of this curve equals
x2 x3 − x1 x4 , x33 − x2 x24 , x1 x23 − x22 x4 , x32 − x21 x3 .

(5)

This curve has S as its tangential surface. Note that (4) is isomorphic to (5). This reflects
the isomorphism between (9) and (10) in [37]. All of these computations can be reversed.
This example shows how various objects can serve as a representation of the surface S. ♦
Many of the ruled surfaces SC we shall encounter in later sections have the property that
their defining polynomial f is extremely large and impossible to compute symbolically. In
such cases, the curve C in Gr(1, P3 ) ⊂ P5 is more manageable, and we can often compute
generators for its ideal IC . This encoding of the ruling enables us to carry out computations
with the surface SC . For example, suppose SC has degree d and consider a general line L in
P3 . We may wish to compute the d points in the intersection SC ∩ L. This problem arises
in our computer vision application when the camera travels along L. The real intersection
points with the visual event surfaces are precisely the visual events we are interested in.
Fix two points (a1 : a2 : a3 : a4 ) and (b1 : b2 : b3 : b4 ) on L, and parameterize L by
xi = sai + tbi

for i = 1, 2, 3, 4.

(6)

To compute SC ∩ L from IC , we substitute (6) into (3), we add the resulting four bilinear
forms to IC , we saturate with respect to hp12 , . . . , p34 i, and we then eliminate the six Plücker
coordinates. The result is the principal ideal in R[s, t] that is generated by the binary form

f sa1 + tb1 , sa2 + tb2 , sa3 + tb3 , sa4 + tb4 .
(7)
Thus, even when f is unknown, we can compute its specialization (7) directly from IC .
5

When S is developable, the specialization (7) can also be obtained from the ideal I(S ∨ ).
Let J be a Jacobian matrix for the ideal I(S ∨ ) in R[y1 , y2 , y3 , y4 ]. This matrix has four
columns. Let Jx be the matrix obtained from J by adding one more row, namely the vector
(x1 , x2 , x3 , x4 ) in (6). We now add the 3 × 3-minors of Jx to the ideal I(S ∨ ), we saturate with
respect to the ideal of 2 × 2-minors of J, and then we eliminate the unknowns y1 , y2 , y3 , y4 .
The result is the desired principal ideal (7) in R[s, t]. See Example 6.6 for an application.
These strategies can be adapted to compute the plane curve that is obtained as the
intersection of a ruled or developable surface S with a fixed plane H in P3 . For event
surfaces, this corresponds to restricting the camera movement to a plane, or to assuming
that all projections are orthographic (which means that the viewpoint lies on the plane at
infinity). It is sufficient to parameterize the points on H by writing xi = sai + tbi + uci in (7).
Associated ruled surfaces. The ruled surfaces of interest to us arise from an arbitrary
curve or surface X in P3 . They represent families of planes and lines that intersect X with
prescribed multiplicities and are shown in the bottom rows of Figures 1 and 2. For a general
curve or surface X in P3 , the rows of these diagrams correspond to codimension in (P3 )∗ or
Gr(1, P3 ). The shown subvarieties consist of lines and planes that intersect X with various
multiplicities m. A solid edge from Y1 to Y2 means that Y2 is an irreducible component of
the singular locus of Y1 . A dashed edge just means that Y2 is contained in Y1 . Below the
ambient spaces (P3 )∗ and Gr(1, P3 ) we see the coisotropic hypersurfaces studied by Gel’fand,
Kapranov and Zelevinsky in [15, Sec. 4.3.B]. See also [21, 38]. These codimension one loci are:
• the dual surface X ∨ in (P3 )∗ ,
• the Chow threefold Ch(X) in Gr(1, P3 ), consisting of lines that meet the curve X,
• the Hurwitz threefold Hur(X) in Gr(1, P3 ), of lines that are tangent to the surface X.
Every irreducible hypersurface in Gr(1, P3 ) is defined by one equation in Plücker coordinates,
which is unique up to scaling and modulo the Plücker quadric. In the two cases above, this
equation is called Chow form resp. Hurwitz form of X. As we shall see in Sections 3 and
4, the irreducible components of the visual event surface of X are (iterated) singular loci of
the coisotropic hypersurfaces associated to X. The developable components are dual to the
singular curves in the dual surface X ∨ . The non-developable components are parameterized
by the singular curves in the singular locus of the Chow or Hurwitz threefold of X.
We first consider a general smooth curve X in P3 . The left diagram in Figure 1 depicts the
landscape in (P3 )∗ . The dual surface X ∨ consists of planes that meet X with multiplicity 2.
The singular locus of X ∨ is the union of two irreducible curves, whose points are osculating
planes (m = 3) and bitangent planes (m = 2 + 2). The symbols that denote our loci, like
T p (X) and E p (X), will be explained in Sections 3 and 4. The right diagram in Figure 1
shows the landscape in the Grassmannian Gr(1, P3 ). We refer to [22, Thm. 1.1 and Sec. 7]
for precise statements and proofs, also for the right diagram in Figure 2. The singular locus
of the Chow threefold Ch(X) is the surface Sec(X) in Gr(1, P3 ) of secant lines, i.e., lines that
meet X twice. The singular locus of Sec(X) is the curve D` (X) of trisecant lines. The curve
T ` (X) of tangent lines is contained in Sec(X) but it does not belong to the singular locus.
6

Gr(1, P3 )
m=0

(P3 )∗

Ch(X)

m=1

m=1

X∨

Sec(X)

m=2

m=1+1

T p (X)

E p (X)

D` (X)

T ` (X)

m=3

m=2+2

m=1+1+1

m=2

Figure 1: Loci of planes and lines that meet a curve X with assigned multiplicities.
In Figure 2, we consider various loci associated with a general smooth surface X in P3 .
The dual surface X ∨ is singular along two irreducible curves. The nodal component E p (X) of
its singular locus is the set of all bitangent planes, and the cuspidal component P p (X) is the
set of all planes that intersect X with multiplicity three at a point. The Hurwitz threefold
Hur(X) is singular along two irreducible surfaces. Its nodal component Bit(X) contains all
bitangent lines, and its cuspidal component PT(X) comprises all principal tangents, i.e.,
lines that meet X with multiplicity three. The latter was denoted Infl(X) in [22]. These
surfaces contain three special curves F ` (X), C ` (X) and T ` (X), indicating lines that meet
X with multiplicity 4, or 3+2, or 2+2+2. For instance, 2+2+2 refers to tritangent lines.
Sections 4, 5 and 6 are devoted to the ruled surfaces in P3 that are represented by these
curves.
Gr(1, P3 )
m=1

Hur(X)
m=2

(P3 )∗
m=1

X∨

PT(X)

Bit(X)

m=3

m=2+2

m=2

P p (X)

E p (X)

F ` (X)

C ` (X)

T ` (X)

m=3

m=2+2

m=4

m=3+2

m=2+2+2

Figure 2: Loci of planes and lines that meet a surface X with assigned multiplicities.
For each of the five curves at the bottom of Figure 2, there is also an associated curve
on X. It consists of the points on X where the special intersection occurs. For example,
7

the curve associated with E p (X) is the locus of points on X that lie on bitangent planes.
These are the contact points on a curved object when it is rolled on a table. Our favorite
terminology for this curve is due to Cayley: he calls it the node-couple curve. For P p (X)
and F ` (X), the special contact occurs at a single point, and we can give a more detailed
description. At a general point x, the surface has two principal tangents. These are the
tangent lines of the nodal curve obtained by intersecting X with its tangent plane at x. The
same lines are the intersection of the tangent plane with the Hessian quadric at x defined by
 2 
∂ f
T
.
y · Hf (x) · y = 0, where y = (y1 : y2 : y3 : y4 ) and Hf =
∂xi ∂xj
Exceptional situations occur at flecnodal and parabolic points x. At a flecnodal point,
one of the two principal tangents has intersection multiplicity four. Such a line is called
a flecnodal line. At a parabolic point, the Hessian matrix Hf (x) drops rank, and the two
principal tangents degenerate to a double line. At these points, the intersection of X with
its tangent plane has a cusp at x. The locus of all parabolic points is the curve given by
the intersection of X with the Hessian surface {det(Hf ) = 0}. Over the real numbers, the
parabolic curve is the boundary between the elliptic and hyperbolic regions on X, where the
two principal tangents are respectively both complex or both real.
The curve P p (X) is the set of tangent planes at parabolic points, and the curve F ` (X)
is the set of flecnodal lines at flecnodal points. The parabolic and flecnodal curves always
intersect tangentially, at special points known as godrons (or cusps of the Gauss map).
Interestingly, the node-couple curve also passes through the godrons, and has the same
tangent as the parabolic and flecnodal curves [7, p. 170].
Remark 2.4. A formal study of the singular loci of the families of lines and planes described
in this section presents many technical challenges. This is the topic of [22]. For example,
in the course of examining parabolic surfaces, we discovered a small error in [3, Section 4],
where Arrondo et al. consider the incidence variety for principal tangents of X:

Y2 = (x, L) ∈ X × Gr(1, P3 ) : L intersects X at x with multiplicity at least 3 .
Lemma 4.1 b) in [3] states that the surface Y2 is singular at points (x, L) for which x is
parabolic. This is incorrect. A general cubic surface X has a degree 12 curve of parabolic
points. However, the incidence variety Y2 is smooth. This is shown by direct computation.

3

Views of Curves

In this section we study the visual events for a general curve X in P3 of degree d and genus
g. In particular, X is smooth and irreducible. The three visual events correspond to the
three Reidemeister moves that are familiar from knot theory. They are shown in Figure 3.
The three components of the visual event surface of a space curve X are as follows:
1. The tangential surface T (X), also known as the tangent developable, is the union of all
tangent lines to X. It represents viewpoints z such that the plane curve Cz (X) has a
cusp. When z crosses T (X), a node on Cz (X) transitions from being real to complex.
8

type_of_moves.jpg 758×449 pixels

07/05/16 05:43

Figure 3: Changing views of a curve correspond to Reidemeister moves. The viewpoint z
crosses the tangential surface (left), edge surface (middle), or trisecant surface (right).
2. The edge surface E(X) is the union of all secant lines that are edges. An edge is the
line spanned by two points on X whose tangent lines lie in a common plane. This
surface represents viewpoints z such that the plane curve Cz (X) has a tacnode. When
z crosses E(X), a pair of nodes transitions between being real and being complex.
3. The trisecant surface D(X) is the union of all lines that are spanned by triples of
collinear points on X (the symbol D stands for drei). This represents viewpoints z
such that Cz (X) has a triple point. When z crosses D(X), the real curve Cz (X)
experiences a triangle crossing, but the real singularity structure is unchanged.
The following classical theorem characterizes the expected degrees of these ruled surfaces.
Theorem 3.1. For a general space curve X of degree d and genus g, the degrees of the
tangential surface T (X), the edge surface E(X) and the trisecant surface D(X) are as follows:

deg T (X) =
2(d + g − 1),
deg E(X) =
2(d − 3)(d + g − 1),

(d−1)(d−2)(d−3)
− (d − 2)g.
deg D(X) =
3
http://agnijomaths.com/images/knots/type_of_moves.jpg

Page 1 of 1

Proof. The degree of the tangential surface T (X) is the Riemann-Hurwitz number 2d+2g−2.
This coincides with the degree of the dual surface X ∨ . See [29, page 111] for a geometric
derivation and [17] for computational examples. The formula for the degree of the edge
surface E(X) appears in [33, Theorem 2.1]. The proof given there is based on De Jonquiéres’
Formula. The degree of the trisecant surface D(X) is due to Berzolari who first found it in
1895. One finds Berzolari’s formula in Bertin’s article [5] on the geometry of D(X).
Table 1 summarizes the conclusion of Theorem 3.1 for space curves of degree d at most
six. The genus g ranges from 0 to Castelnuovo’s bound. Note that, for fixed d and increasing
9

d
3
4
4
5
5
5
6
6
6
6
6

g
0
0
1
0
1
2
0
1
2
3
4

deg(T (X))
4
6
8
8
10
12
10
12
14
16
18

deg(E(X))
0
6
8
16
20
24
30
36
42
48
54

deg(D(X))
0
2
0
8
5
2
20
16
12
8
4

Table 1: Degrees of the components of the visual event surface of a space curve
g, the degree of D(X) decreases while that of the others increases. In particular, there is no
trisecant surface for twisted cubic curves and elliptic quartic curves (cf. [5, Proposition 1]).
The edge surface E(X) is of importance in convex geometry because the algebraic boundary of the convex hull of a real affine curve XR consists of E(X) and the tritangent planes
of X. This was shown by Ranestad and Sturmfels in [33, §2], and in [33, §3] they describe
a method for computing E(X) when X is rational. This theme was picked up by Seigal and
Sturmfels in their study of real tensor decompositions [37]. According to [37, §3], the real
rank two boundary of X is the union T (X) ∪ E(X), so it is part of the visual event surface
of X. The study of curves in the present section is thus a further development of [33, 37].
Consider now the projection πz : X ⊂ P3 99K P2 from a center z ∈ P3 \X. The target
P2 has two intrinsic realizations. These live in the ambient spaces Gr(1, P3 ) and (P3 )∗
respectively. The first is the surface α(z) of all lines in P3 that contain z. The second is the
plane z ∨ of all planes in P3 that contain z. Basic projective geometry yields the following
characterizations of the image curve Cz (X) in these intrinsic realizations of the image plane.
Proposition 3.2. The image Cz (X) of our curve X is projectively equivalent to the curve
α(z) ∩ Ch(X) in the Grassmannian Gr(1, P3 ). The dual curve (Cz (X))∨ in (P2 )∗ is projectively equivalent to the curve z ∨ ∩ X ∨ in the dual projective space (P3 )∗ .
In computer vision, the term visual cone is used for the union of all lines in the pre-image
of a set in P2 . The visual cone of a curve is a developable surface in P3 . The dual of the visual
cone associated with Cz (X) is the plane curve z ∨ ∩ X ∨ . Hence, Proposition 3.2 describes the
curves in Gr(1, P3 ) and (P3 )∗ that encode this visual cone, as discussed after Theorem 2.2.
Our task in this section is to solve the following computer algebra problem. Given a
general space curve X, compute the ruled surfaces T (X), E(X) and D(X). Here the input
is either the ideal of X, or a parametric representation of X. The output is the defining
polynomial f of the surface SC in P3 . If the polynomial f is too large, we compute the ideal
of the curve C in Gr(1, P3 ) or, when SC is developable, the ideal of the dual SC∨ in (P3 )∗ .

10

We use the symbols T ` (X), E ` (X) and D` (X) to denote the curves in the Grassmannian
Gr(1, P3 ) that represent the surfaces T (X), E(X) and D(X). The degrees of these curves in
P5 are the numbers in Theorem 3.1. Two of the curves appear on the lower right in Figure 1.
The surfaces T (X) and E(X) are developable, so they can also be represented by their
dual curves in (P3 )∗ . We use the same notation as the left diagram in Figure 1:
T p (X) := T (X)∨

and

E p (X) := E(X)∨ .

Here the index “p” stands for planes. The earlier used upper index “`” stands for lines. The
trisecant surface D(X) is ruled but not developable, so it has no associated curve in (P3 )∗ .
Many space curves arising in applied contexts lie in the zero set of a quadratic polynomial.
A generic curve has this property when its genus g is maximal with respect to the Castelnuovo
bound [16, Thm. 6.4, page 351]. We now focus on that special case. Later in this section
we address our computational task for general curves that are not on a quadric.
Let X be a general curve on a smooth quadric Q in P3 . Any line L in P3 that intersects
the quadric Q in three points must lie on Q. Hence L lies in one of the two rulings of Q.
Remark 3.3. If d ≥ 4 and (d, g) 6= (4, 1) and X lies on a quadric Q, then the trisecant
surface D(X) coincides with the quadric surface Q, taken with an appropriate multiplicity.
To derive that multiplicity, and to set the stage for computing T (X) and E(X), we
perform a linear change of coordinates in P3 so that the equation of Q equals x1 x4 = x2 x3 .
Thus we identify Q with the Segre surface P1 × P1 . We fix affine coordinates ((1 : s), (1 : t)).
Corollary 3.4. If X has bidegree (a, b) on Q = P1 × P1 ⊂ P3 , then the degrees of the tangential surface T (X), the edge surface E(X) and the (non-reduced) trisecant surface D(X) are

deg T (X) =
2ab,
deg E(X)  = 2ab(a+ b −3),
deg D(X) = 2 a3 + 3b .
Proof. The affine polynomial f (s, t) that defines X has degree a in s and degree b in t. Our
curve X has degree d = a+b and genus g = (a−1)(b−1). Indeed, it is a basic fact from toric
geometry that the genus g is the number of interior lattice points of the Newton polygon,
which is a rectangle of size a × b. Moreover, a general curve X in P3 of that degree and genus
lies on a quadric, so we can apply Theorem 3.1. We substitute d = a+b and g = (a−1)(b−1)
into the formulas given there. This yields the formulas in Corollary 3.4.


We now see that the “appropriate multiplicity” in Remark 3.3 is a3 + 3b . The two
summands correspond to the two rulings of Q. Each
 line in the first ruling meets X in a
points, so it counts as a trisecant with multiplicity a3 , and ditto with b for the second ruling.
We shall present algorithms for computing T (X) and E(X) from the affine polynomial
f (s, t) that defines X in P1 × P1 . Recall that a change of coordinates is required in order to
apply our method in situations when X is given by its ideal in R[x1 , x2 , x3 , x4 ]. We illustrate
this point, and later our algorithms, for the case when a = 3, b = 2 and hence d = 5, g = 2.
11

Example 3.5. Let X be the bicanonical embedding of a genus 2 curve. It has degree 5 in
P3 . The curve is arithmetically Cohen-Macaulay. Its ideal is given by the 2 × 2-minors of


`11 `12 q1
.
(8)
`21 `22 q2
The `ij are linear forms and the qi are quadratic forms, found by computing syzygies of X.
Assuming `11 , `12 , `21 , `22 to be linearly independent, we change coordinates and write this as




x1 x3 q1 (x1 , x2 , x3 , x4 )
1 t g1 (s, t)
=
.
x2 x4
q2 (x1 , x3 )
s st g2 (t)
Here, the polynomial g1 has bidegree (2, 2) in (s, t), the polynomial g2 has degree 2 in t, and
we used column operations to eliminate x2 and x4 from q2 . One of the 2 × 2-minors of this
2 × 3-matrix is the equation of bidegree (3, 2) that defines our curve in the affine plane:
f (s, t) = g2 (t) − sg1 (s, t).
Conversely, every polynomial of bidegree (3, 2) in (s, t) has a matrix representation (8). ♦
To compute the tangential surface T (X) from f (s, t), we form the 3 × 4-matrix


1
s
t
st
∂f
∂f
where fs =
M =  0 −ft fs sfs − tft  ,
and ft =
.
∂s
∂t
x1 x2 x3
x4
The first two rows of M are linearly independent, and they span the tangent line at the point
of X corresponding to (s, t). The second row is the image of the tangent direction (−ft , fs )
of the affine curve {f = 0} under the linear map given by the Jacobian of C2 → C3 , (s, t) 7→
(s, t, st). Another point (x1 : x2 : x3 : x4 ) lies on that tangent line in P3 precisely when
rank(M ) = 2. The following ideal is generated by five polynomials in R[s, t, x1 , x2 , x3 , x4 ]:
h f i + h 3 × 3-minors of M i.

(9)

Our argument implies the following method for finding the tangential surface of degree 2ab:
Proposition 3.6. Eliminating the unknowns s and t from the ideal (9) yields a principal
ideal in R[x1 , x2 , x3 , x4 ]. Its generator is the polynomial defining the tangential surface T (X).
Example 3.7. Let d = 5, g = 2 as in Example 3.5, and fix the curve X ⊂ P1 × P1 defined by
f = s3 t2 + s3 + t2 + s + t + 1

(10)

The polynomial that defines the tangential surface T (X) has degree 12. It looks like this:
6 6
11
12
11
10 2
9 3
8 4
7 5
93x12
1 +310x1 x2 +341x1 x2 +558x1 x2 +1054x1 x2 +744x1 x2 +837x1 x2 + · · · +216x2 x4 +108x4 .

This polynomial has 432 monomials, out of the 15
= 455 possible ones of degree 12.
♦
3

12

We now consider the edge surface E(X). Its degree is 2ab(a+b−3). We shall compute its
dual representation E p (X). Planes in P3 correspond to curves of bidegree (1, 1) in P1 × P1 :
y1 + y2 s + y3 t + y4 st = 0.

(11)

We solve for s, substitute into f (s, t), and clear denominators. The result is a polynomial
in one variable t of degree a + b. We seek the condition that this has two double roots,
corresponding to m = 2 + 2 in Figure 1. This condition defines the curve E p (X) in (P3 )∗ .
Example 3.8. Let d = 5, g = 2 as before in Example 3.5. Fix the curve X in Example 3.7.
We shall compute the dual curve E p (X) to the edge surface. The moving curve (11) has five
intersection points with the fixed curve f = 0 in (10). Their t-coordinates are the roots of
c0 + c1 t + c2 t2 + c3 t3 + c4 t4 + c5 t5 = 0,

(12)

where the ci are quadratic polynomials in y1 , y2 , y3 , y4 . Regarding the coefficients as unknowns, we pre-compute the ideal ∆(2,2) (5) ⊂ R[c0 , c1 , c2 , c3 , c4 , c5 ] whose variety consists of
quintics (12) with two double roots. The ideal ∆(2,2) (5) has codimension 2 and degree 12. It
is generated by 10 quintics in the ci , as seen in the row labeled λ = 221 in [23, Table 1]. Let
I be the ideal obtained from ∆(2,2) (5) by replacing the ci with the quadrics in y1 , y2 , y3 , y4
that represent the specific curve X, and then saturating by the irrelevant ideal hy1 , y2 , y3 , y4 i.
The variety of I is the curve E p (X) in (P3 )∗ . The ideal I has 14 minimal generators, all of
degree 10, with large integer coefficients. This is the dual representation of the edge surface.
Computing E(X) by directly dualizing E p (X) rarely terminates in practice. It is easier
to intersect E(X) with lines or planes, as explained in Section 2, around (6) and (7).
♦
We now consider curves X that need not lie on a quadric Q. Let us first assume that
X is the image of a variety Y in a higher-dimensional space Pd under a linear projection
α : Pd 99K P3 . This allows us to preprocess Y , especially if the Chow form of Y is known.
This approach works well when X is rational.
Here Y is the rational normal curve in Pd ,

which is parameterized by 1 : t : t2 : · · · : td . Let α : Pd 99K P3 be the linear projection
that maps Y onto our curve X. We write A for the 4 × (d + 1) matrix that represents α.
We first explain the computation of the tangential surface T (X). Let s be an unknown
and let Q be the skew-symmetric 4×4-matrix obtained from (3) by substituting to dual
Plücker coordinates. We form the ideal in R[s, q12 , q13 , . . . , q34 ] that is generated by the
Plücker quadric q12 q34 − q13 q24 + q14 q23 and the eight entries of the 4 × 2 matrix

T
1 s s 2 s3 s4 · · ·
sd
Q·A·
.
0 1 2s 3s2 4s3 · · · dsd−1
Eliminating s and saturating with respect to the qij now yields the ideal of the curve T ` (X).
From this we can compute the defining polynomial of T (X) via (3). The edge surface E(X)
can be computed similarly. This was also discussed in [33, §2] and in [37, §3].
We now compute the trisecant surface D(X) of a rational curve X of degree d in P3 .
The Chow form of Y is the resultant of two binary forms of degree d. We write this as the
13

determinant of the Bézout matrix B(r). This is a symmetric d × d-matrix whose entries are
linear forms in the Plücker coordinates rij of (d − 2)-planes in Pd . For the formula we refer to
equation (1.18) on page 402 in Section III.12.1 of [15]. The Bézout matrix for d = 6 equals


r12
r13
r14
r15
r16
r17
r13 r14 + r23
r15 + r24
r16 + r25
r17 + r26 r27 


r14 r15 + r24 r16 + r25 + r34 r17 + r26 + r35 r27 + r36 r37 

B(r) = 
r15 r16 + r25 r17 + r26 + r35 r27 + r36 + r45 r37 + r46 r47 


r16 r17 + r26
r27 + r36
r37 + r46
r47 + r56 r57 
r17
r27
r37
r47
r57
r67
We shall use the following fact that is well-known in computer algebra; see [1, page 1228].
Lemma 3.9. The minors of the Bézout matrix B(r) having size d−k+1 define an irreducible
variety of codimension k in the Grassmannian of (d − 2)-planes in Pd . General points q on
this variety represent pairs of univariate polynomials of degree d that have k common zeros.

The second exterior power ∧2 A of the matrix A is a matrix of format 6 × d+1
. We write
2
p = (p12 , p13 , p14 , p23 , p24 , p34 ) for the Plücker coordinates of a line in P3 . The preimage of the
line p under the projection α is the (d − 2)-plane in Pd with Plücker coordinates r = p · ∧2 A.
Proposition 3.10. If the 4×(d+1)-matrix
A is sufficiently general, then the ideal of (d−2)×

(d−2)-minors of the matrix B p · ∧2 A defines the curve D` (X) of degree 2 d−1
in P5 .
3
Proof. We use Lemma 3.9. Intersecting the curve X with two planes in P3 amounts to
solving two univariate polynomials of degree
 d. The Chow form of X is the determinant
of the specialized Bézout matrix B p · ∧2 A . The corank of that matrix is the number of
common zeros. That number is 3 when the intersection of the two planes is a trisecant
line

of X. Thus, the line p is in the trisecant curve D` (X) precisely when B p · ∧2 A has rank

≤ d − 3. By Lemma 2.1 and setting g = 0 in Theorem 3.1, the degree of D` (X) is 2 d−1
.
3
For an illustration consider rational curves X of degree d = 6. Then A is a 4 × 7 matrix,

and ∧2 A is a 6 × 21 matrix. The ideal of 4 × 4-minors of the 6 × 6-matrix B p · ∧2 A
is minimally generated, modulo the Plücker relation, by 45 quartics. After saturating with
respect to the irrelevant maximal ideal hp12 , p13 , p14 , p23 , p24 , p34 i, we obtain the prime ideal
IC of the curve C of trisecants. The ideal IC has degree 20 and is generated by 10 cubics.
The success of this computation relied on writing the Chow form of X as a determinant
of a matrix whose entries are linear in Plücker coordinates. Eisenbud, Schreyer and Weyman
[13, §4] proved that such a formula exists for all curves. See [13, Proposition 4.2] for a derivation of the Bézout matrix B(r) from the perspective of Ulrich sheaves, and [13, Example
4.6] for an extension to hyperelliptic curves. Whenever we have such matrices explicitly, we
get the surface D(X) by imposing the corank 3 constraints. Such matrix formulas for Chow
forms can also be derived for curves X in P3 that arise by intersecting certain nice varieties.

14

Example 3.11. Let X be the curve in P3 defined by the 3 × 3-minors of the 3 × 4-matrix


x1 + x4
x2 − x1
x3 − x2 x3 + x 4
x1 + x4
x2 − x1 x2 + x3  .
M (x) =  x4 − x3
x3 − x2 x2 − x3 + x4 x1 + x4
x1
This curve has (d, g) = (6, 3). By computing syzygies, we can represent every curve of
degree 6 and genus 3 via such a matrix with linear entries. This follows from the HilbertBurch Theorem. Let Y be the variety of 3 × 4-matrices of rank ≤ 2. The Chow form of Y
is the determinant of the following 6 × 6-matrix in dual Plücker coordinates for lines in P11 :


r11,12
r11,13

r11,14
r
 12,13
r
12,14
r13,14

r11,22 + r21,12
r11,23 + r21,13
r11,24 + r21,14
r12,23 + r22,13
r12,24 + r22,14
r13,24 + r23,14

r11,32 + r31,12
r11,33 + r31,13
r11,34 + r31,14
r12,33 + r32,13
r12,34 + r32,14
r13,34 + r33,14

r21,22
r21,23
r21,24
r22,23
r22,24
r23,24

r21,32 + r31,22
r21,33 + r31,23
r21,34 + r31,24
r22,33 + r32,23
r22,34 + r32,24
r23,34 + r33,24

r31,32
r31,33 

r31,34 
.
r32,33 
r32,34 
r33,34

(13)

This matrix appears in [15, page 472]. We now replace the Plücker coordinates rij,kl by linear
forms in the six coordinates qij = ai bj −bi aj for lines in P3 . For instance, r11,12 = q12 +q14 −q24 ,
r11,13 = −q12 + q13 + q24 − q34 , r11,14 = q13 + q14 − q34 , . . .. These linear forms are obtained by
setting rij,kl = M (a)ij M (b)kl − M (b)ij M (a)kl where a = (a1 , a2 , a3 , a4 ) and b = (b1 , b2 , b3 , b4 ).
The trisecant curve D` (X) is defined in Gr(1, P3 ) ⊂ P5 by the 4×4-minors of the resulting
matrix (13). Saturating by hq12 , q13 , q14 , q23 , q24 , q34 i yields the prime ideal of D` (X):
2 − q q − q 2 + q q − 2q q + 2q q + 2q q ,
I = hq14 q23 − q13 q24 + q12 q34 , q13 q23 − q23
14 24
12 34
13 34
14 34
23 34
24
2 − q q + q q − 3q q − q q − q q + 2q q +3q q +q q −2q 2 ,
q12 q23 − q23
12 24
13 24
14 24
23 24
12 34
14 34
23 34
24 34
34
2 +q q +q 2 −q q −2q q −q q +q 2 , q 2 −q 2 −q q −2q q +q q +2q q ,
q14
14 24
12 34
14 34
23 34
14 24
13 34
14 34
23 34
24
34
13
23
2 + q q + 2q q + 2q q + 2q q − 2q 2 ,
q12 q14 − 2q14 q24 − q23 q24 − 2q24
12 34
14 34
23 34
24 34
34
2 − q q − q q − 2q q − q q + 3q q + 2q q − 2q 2 i.
q12 q13 + 2q13 q14 − q23
12 24
13 24
14 24
23 24
23 34
24 34
34

From this, we easily find the octic equation of the trisecant surface D(X):
x71 x3 − 2x41 x32 x3 + x1 x62 x3 + 2x51 x2 x23 + 2x41 x22 x23 + 2x31 x32 x23 − 2x21 x42 x23 + · · ·

This polynomial uses 136 of the 165 = 8+3
monomials of degree eight.
3

♦

The past few pages were devoted to specialized techniques that exploit the structure of a
given curve X. Such techniques can be designed for all entries in Table 1. However, equally
important are general purpose methods that work for all curves. We close this section by
discussing the latter. The curve X is given by its ideal I = hf1 , f2 , . . . , fk i in R[x1 , x2 , x3 , x4 ].
The edge surface E(X) was already discussed in [33, 37]. We therefore focus on the other
two ruled surfaces in Theorem 3.1. The easier among them is the tangential surface T (X).
At any given point p on the curve X, the tangent line is defined by the linear equations
 
 x 
 ∂f1
∂f1
∂f1
∂f1
0
1
(p)
(p)
(p)
(p)
∂x1
∂x2
∂x3
∂x4



 ..
..
..
..  · x2  = 0

(14)
 .
.
.
.  x 
0 .
3
∂fk
∂fk
∂fk
∂fk
(p) ∂x2 (p) ∂x3 (p) ∂x4 (p)
x4
0
∂x1
15

To find the polynomial F defining T (X), we take a vector of variables p = (y1 , y2 , y3 , y4 ), and
we augment I with the constraints (14). This gives an ideal in R[x1 , x2 , x3 , x4 , y1 , y2 , y3 , y4 ].
From that ideal, we saturate and eliminate the variables y1 , y2 , y3 , y4 . The output is hF i.
The trisecant surface D(X) will be represented by its curve D` (X) ⊂ Gr(1, P3 ). To
compute this, we parameterize the line in P3 as in (2). Suppose for now that our curve is a
complete intersection: X = {f1 = f2 = 0}. We want the univariate polynomials f1 (z(t)) and
f2 (z(t)) to have three common roots, i.e., their greatest common divisor (GCD) has degree
≥ 3. This can be expressed using subresultants [1]. The vanishing of all subresultants of
order i = 0, . . . , r −1 for two polynomials in t means that their GCD has degree at least r. In
our case, we form the ideal given by the subresultant coefficients of f1 (z(t)) and f2 (z(t)) of
order 0, 1 and 2 (together with the Plücker relation). The ideal of the trisecant curve D` (X)
is obtained by saturating by the ideal of the leading coefficients of f1 (z(t)) and f2 (z(t)).
This approach generalizes to the case when X is not a complete intersection. Indeed, if
X is defined by f1 , . . . , fk , then we can use the same strategy to impose that s1 f1 (z(t)) +
· · · + sk−1 fk−1 (z(t)) and fk (z(t)) have three roots in common for any choice of s1 , . . . , sk−1 .
We conclude this section with an example that illustrates the last row of Table 1.
Example 3.12. Let X be the smooth curve of degree 6 and genus 4 in P3 defined by
x21 + x22 + x23 + x24 = x31 + x32 + x33 + x34 = 0.
The above method easily yields the equation of degree 18 for the tangential surface T (X):
6 4 4 4
7 11
6 12
6
12 5
12 5
12 4 2
4x12
1 x2 − 12x1 x2 x3 − 12x1 x2 x4 + 21x1 x2 x3 + · · · + 13770x1 x2 x3 x4 + · · · + 24x3 x4 + 4x3 x4 .

This polynomial has 1094 terms. Its largest coefficient is underlined. A compact encoding
is given by the 11 quadratic generators of the ideal of T ` (X). It is also easy to compute the
quartic surface D(X), and it takes a little longer to compute the degree 54 curve E ` (X). ♦

4

Views of Surfaces

We now turn to the visual events for a general surface X in projective 3-space P3 . The six
visual events associated with X were mentioned in the Introduction in items (L) and (M).
We shall explain these events and how they give rise to the following five irreducible surfaces:
1. The flecnodal surface F(X) is the union of all lines L with contact of order 4 at a point
of X. In other words, the equation of X restricted to L has a root of multiplicity 4.
2. The cusp crossing surface C(X) is the union of all lines L with contact of order 3 + 2 at
two points of X, i.e., the equation for X ∩ L on L has a triple root and a double root.
3. The tritangent surface T (X) is the union of all lines L with contact of order 2 + 2 + 2
at three points of X, i.e., the equation for X ∩ L on L has three double roots.
4. The edge surface E(X) is the envelope of the bitangent planes of X. It is the union of
all bitangent lines arising from these planes. This surface was denoted (X [2] )∨ in [33].
16

5. The parabolic surface P(X) is the envelope of all tangent planes that have contact of
order 3 with X. It is the union of all principal tangents at parabolic points [26, §A.1.2].
The following theorem characterizes the structure of the visual event surface for X in P3 .
Theorem 4.1. For a general surface X of degree d in P3 , the visual event surface V(X)
decomposes into the five components listed above. The degrees of these surfaces are:

deg F(X) =
2d(d − 3)(3d − 2),
[36, §597] and [25, Prop. 4.5]
deg C(X)  =
d(d − 3)(d − 4)(d2 + 6d − 4),
[36, §598] and [25, Prop. 4.12]
deg T (X) = 13 d(d − 3)(d − 4)(d − 5)(d2 + 3d − 2), [36, §599] and [25, Prop. 4.10]
deg E(X)  =
d(d − 2)(d − 3)(d2 + 2d − 4),
[36, §613] and [25, Prop. 4.16]
deg P(X) =
2d(d − 2)(3d − 4).
[36, §608] and [25, Prop. 4.3]
We first learned these degree formulas from Petitjean’s article [25]. We then discovered
that all five formulas already appeared in Salmon’s 1882 book [36]. The precise pointers to
both sources are given above. In Section 5 we present new proofs that are self-contained,
except for pointers to the textbook [12]. We here derive the first assertion in Theorem 4.1,
that is, we justify the five irreducible surfaces. See the end of this section.
The five ruled surfaces in Theorem 4.1 are encoded by the curves shown in the last row
in Figure 2. The surfaces E(X) and P(X) are developable, and are the duals of the singular
loci shown on the left in Figure 2. The remaining three surfaces T (X), C(X) and F(X)
arise from the curves in the Grassmannian Gr(1, P3 ) seen on the right of that diagram.
The curves of lines and planes from Figure 2 capture both the local and multi-local features of the surface X. This is an advantage compared to the traditional approach for
studying the appearance of surfaces based on differential geometry and singularity theory.
In the computer vision literature [6, 26, 31, 32, 34], prominent local features of a surface
were defined in terms of the euclidean Gauss map and the asymptotic spherical image. These
are maps from the surface to the unit sphere S2 , taking a point on XR to its normal direction, or to the direction of one of its principal tangents. In our algebro-geometric setting,
the role of S2 is played by the dual surface X ∨ ⊂ (P3 )∗ and the principal tangent surface
P T (X) ⊂ Gr(1, P3 ). These surfaces carry much more information than the unit sphere S2 .
Consider now the projection πz : X ⊂ P3 99K P2 from a center z ∈ P3 \X. The following
result, analogous to Proposition 3.2, describes intrinsic realizations of the contour Cz (X).
Proposition 4.2. The contour Cz (X) of our surface X is projectively equivalent to the curve
α(z) ∩ Hur(X) in the Grassmannian Gr(1, P3 ). The curve (Cz (X))∨ in (P2 )∗ that is dual to
the contour is projectively equivalent to the curve z ∨ ∩ X ∨ in the dual projective space (P3 )∗ .
We now describe the singularities of the curve Cz (X) that arises by projecting X from
z. Given a point u ∈ Cz (X), we write Lu = πz−1 (u) ∈ Gr(1, P3 ) for its fiber under πz . For a
general viewpoint z, the plane α(z) intersects the Hurwitz threefold Hur(X) transversely:
• If Lu is a general point of Hur(X), then u is a smooth point of the curve Cz (X).
• If Lu is a general point of Bit(X) ⊂ Hur(X), then u is a simple node of Cz (X).
17

• If Lu is a general point of PT(X) ⊂ Hur(X), then u is a simple cusp of Cz (X).
These singularities exist for any viewpoint z, since α(z) always intersects the surfaces
Bit(X) and PT(X) in Gr(1, P3 ). It is also interesting to learn (e.g. from [31]) that if Lu is
a (non-principal) tangent line at a parabolic point, then u is a flex point of Cz (X). We are
interested in higher order singularities seen in the image curve for special viewpoints:
(T ) If Lu is a tritangent line, then u is a triple point. This is a triple point event.
(C) If Lu is a principal bitangent, then Cz (X) has a smooth branch and a cuspidal branch
that meet at u. This is a cusp crossing event.
(F) If Lu is a flecnodal line, then u is the limit of two cusps and a node, i.e., an infinitesimal
change of the viewpoint produces two cusps and a node. This is a swallowtail event.
(E) If Lu is a bitangent line on a bitangent plane, then u is a tacnode. It is obtained as the
limit of two smooth branches coming together at u. This is a tangent crossing event.
(P) If Lu is the principal tangent at a parabolic point p, then, over the real numbers, two
behaviors are possible: either u is an isolated node, which corresponds to a lip event,
or u is a tacnode, obtained as the limit of two cusps, which is a beak-to-beak event.
The triple point, cusp crossing, and tangent crossing events are multi-local. The six
visual events are shown in Figure 4. Detailed renderings of these pictures are ubiquitous in
the relevant computer vision literature. For instance, see [26, Figures 5 and 6], and Figures
13.20 through 13.25 in the textbook [14]. For a fixed general surface X in P3 , the locus
of exceptional viewpoints consists of the five ruled surfaces F(X), C(X), T (X), E(X) and
P(X). These were defined both in Figure 2 and at the beginning of Section 4.
We now briefly explain how to distinguish the two possible local behaviors (lip versus
beak-to-beak) of the contour when the viewpoint z belongs to the parabolic surface P(X).
As argued in Section 2, the parabolic surface P(X) is a developable surface, since it is dual
to the curve P p (X) in (P3 )∗ . In particular, all principal tangents at parabolic points are the
tangents of the edge of regression curve, denoted by E(P(X)). This allows us to associate
each parabolic point x with another point ex , where the principal tangent at x is tangent
to E(P(X)). In real projective 3-space, the complement of {x, ex } in that line has two
connected components. The distinction between lip and beak-to-beak is made by which of
these two components the viewpoint z belongs to. This was shown in [30, Theorem 4.10].
We next offer an informal discussion that should provide an intuitive understanding of our
five event surfaces. The following are some real life situations where these events can actually
be observed. We encourage our readers to look at the world from multiple viewpoints, and
to then spot the six pictures of Figure 4. Do look carefully at the objects that surround you.
We first note that cuspidal and nodal singularities of image contours are stable features,
which are visible in most surfaces. Nodes occur whenever occlusions create discontinuities in
the contour. Cusps only appear for non-convex objects. For instance, they can be observed
on the folds of a piece of cloth. From an exceptional viewpoint, it is possible that several
18

Figure 4: The catalogue of visual events for the projections of a smooth surface from a viewpoint
that moves. The local events (left, from top to bottom) are lip, beak-to-beak, swallowtail. The
multi-local events (right, from top to bottom) are tangent crossing, cusp crossing, triple point.
Reprinted from [24] with permission of Springer.

of these singularities occur along the same visual ray. This gives rise to a multi-local visual
event (cusp crossing, tangent crossing, or triple points). Try it with a napkin or towel.
The three local events on the left in Figure 4 are more complicated. Videos of these
events and their corresponding ruled surfaces are available at
www.mis.mpg.de/nlalg/videos/changingviews
It takes some practice to discover the local events in the real world. Here are some
concrete examples that we found helpful:
• Lip event: If we observe a small hill from a high aerial viewpoint (say, from a hot air
balloon), then all points on the ground are visible. The hill does not generate an image
contour. However, as we descend closer to the ground, the profile of the hill suddenly
becomes visible in the contour. This qualitative change of appearance is a lip event.
• Beak-to-beak. Observe a glass bottle from the bottom, with your eye close to the base.
You see a part of the contour generated by the convex region where the sectional diameter of the bottle decreases. Now, tilt the bottle slowly towards its upright position. At
some point, you see a complete path from the base to the top of the bottle. Previously
your view had been blocked. This is a beak-to-beak event. Contrary to the lip event,
the contour does not disappear at the transition point, but it breaks into two pieces.
• Swallowtail. The traditional drawing of a (transparent) torus presents two swallowtails.
We see both cuspidal and nodal singularities in the contour [34, Fig. 2]. As we rotate
the torus, a visual event occurs, and these singularities disappear. Try it with a bagel.
19

After having presented an intuitive descriptions of visual events, we now sketch a formal
argument which shows that the list of visual events in Theorem 4.1 is indeed exhaustive.
Proof sketch for the first part of Theorem 4.1. Let u ∈ Cz (X) and Lu := πz−1 (u). Platonova
[30, Main Theorem] characterizes all possible local singularities in the contour curve. In
particular, she shows in the case Lu ∈ PT(X) that u is not a simple cusp on its branch of
the contour curve if and only if Lu is either a flecnodal line or the unique principal tangent
at a parabolic point. Hence, we only have to characterize the possible multi-local events. We
argued above that tritangent lines and principal bitangent lines do not yield simple nodes
in the contour. The final observation is that a line Lu with contact order exactly two at
exactly two distinct points of the surface X projects to a simple node u if and only if Lu is
not contained in a bitangent plane to X which is tangent at the same two points as Lu .

5

Intersection Theory

In this section we derive the degrees of E p (X), P p (X), P(X) and F(X), and we sketch the
relevant ideas for E(X), C(X) and T (X). We found Petitjean’s proofs in [25] to be lengthy
and hard. They require a full understanding of Colley’s multiple point theory [8, 9], and
several of the steps are left out. By contrast, the derivations in Salmon’s book [36] are
inspiring but they lack the rigor of 20th century intersection theory.
The exposition that follows refers to the textbook by Eisenbud and Harris [12]. We believe
that students of that book will find this section to be useful as supplementary reading.
We have discussed that the surfaces E(X) and P(X) are represented by their dual curves
in (P3 )∗ . These are the irreducible components in the singular locus of the dual surface X ∨ .
Proposition 5.1. The degrees of the curves dual to the edge and parabolic surface of a
general surface X of degree d ≥ 4 or d ≥ 3, respectively, are
 1
deg E p (X) = d(d − 1)(d − 2)(d3 − d2 + d − 12) and
2


deg P p (X) = 4d(d − 1)(d − 2).

Proof. We count the bitangent and parabolic planes that contain a general point z ∈ P3 .
Consider the branch curve Cz (X) ⊂ P2 . A bitangent plane to X containing z maps onto a
bitangent line of Cz (X). A tangent plane to X at a parabolic point that contains z maps
onto a flex line of Cz (X). These correspond, respectively, to the nodes and the cusps of the
dual curve Cz (X)∨ in (P2 )∗ . We use Plücker’s formula [10, Thm. 1.2.7]: for an irreducible
plane curve of degree D with ν nodes, κ cusps and no other singularities, its dual has degree
D(D − 1) − 2ν − 3κ. The genus is 12 (D − 1)(D − 2) − ν − κ, by the degree-genus formula.
The ramification curve of the projectionP
πz has degree d(d − 1) since it is defined by the
∂f
equation f of X and its derivative g(x) := 4i=1 zi ∂x
. Hence Cz (X) has degree d(d − 1) as
i
∨
2 ∗
well. The degree of the dual curve (Cz (X)) ⊂ (P ) equals the degree of the dual surface
X ∨ (see [22, proof of Thm. 4.3] for details). This common degree is d(d − 1)2 .
We denote by ν1 the number of nodes in Cz (X), which is the number of bitangent lines
to X passing through the general point z. The number κ1 of cusps in Cz (X) is the number
20

of principal tangents to X passing through z. The set of points x ∈ X that P
have such a
∂g
principal tangent through z is the zero locus of the polynomials f , g and h(x) := 4i=1 zi ∂x
=
i
T
zHf (x)z . Hence, κ1 = d(d − 1)(d − 2). Plücker’s formula for Cz (X) tells us that
d(d − 1)2 = deg((Cz (X))∨ ) = deg(Cz (X)) (deg(Cz (X)) − 1) − 2ν1 − 3κ1
= d(d − 1) (d(d − 1) − 1) − 2ν1 − 3κ1 .
Thus the number of nodes of the branch curve Cz (X) equals ν1 = 21 d(d − 1)(d − 2)(d − 3).
We can also apply Plücker’s formula to the dual plane curve Cz (X)∨ to derive
d(d − 1) = deg(Cz (X)) = deg((Cz (X))∨ ) (deg((Cz (X))∨ ) − 1) − 2ν2 − 3κ2

= d(d − 1)2 d(d − 1)2 − 1 − 2ν2 − 3κ2 ,

(15)

where ν2 = deg(E p (X)) and κ2 = deg(P p (X)), as argued above. The dual curves Cz (X) and
(Cz (X))∨ have the same geometric genus. By the degree-genus formula, it is
1
1
(d(d−1) − 1)(d(d−1) − 2) − ν1 − κ1 = (d(d−1)2 − 1)(d(d−1)2 − 2) − ν2 − κ2 . (16)
2
2
Solving the equations (15) and (16) for ν2 and κ2 leads to the formulas in Proposition 5.1.
This proof was entirely classical. By contrast, we derive the degrees of the visual event
surfaces using modern intersection theory [12]. At the heart of intersection theory lies the
Chow ring. For any irreducible projective variety Y and any c ∈ {0, . . . , dim Y }, we denote
by CHc (Y ) the free abelian group generated by the set of irreducible closed subvarieties of Y
with codimension c, modulo rational equivalence. We call elements in CHc (Y ) codimension-c
cycles. The rational equivalence class of a subvariety Z ⊂ Y is denoted by [Z]. We denote
the class of a point in Y by ∗ ∈ CHdim Y (Y ), whenever this is well-defined.
Theorem/Definition 5.2. [12, Thm-Def 1.5]
If Y is a smooth projective variety, then there
Ldim
is a unique product structure on CH(Y ) = c=0 Y CHc (Y ) which satisfies the condition:
If two subvarieties Z1 , Z2 ⊂ Y are generically transverse, then [Z1 ][Z2 ] = [Z1 ∩ Z2 ].
By generically transverse we mean that every irreducible component of Z1 ∩ Z2 contains a
point where Z1 and Z2 are transverse. This makes CH(Y ) into an associative commutative
graded ring, called the Chow ring of Y .
Example 5.3. [12, Theorem 2.1] The Chow ring of projective 3-space is CH(P3 ) = Z[h]/hh4 i,
where h ∈ CH1 (P3 ) is the (rational equivalence) class of a plane in P3 .
♦
Example 5.4. [12, Theorem 3.10] The Chow ring of the Grassmannian Gr(1, P3 ) is a graded
Z-algebra with Hilbert function (1, 1, 2, 1, 1). The graded components are the free Z-modules
CH0 (Gr(1, P3 )) = Z · [Gr(1, P3 )], CH1 (Gr(1, P3 )) = Zγ1 ,

CH2 (Gr(1, P3 )) = Zγ12 ⊕ Zγ2 ,

CH3 (Gr(1, P3 )) = Zγ1 γ2 , CH4 (Gr(1, P3 ))
21

= Z∗,

where γ1 represents the threefold of all lines that meet a given line, and γ2 represents the
surface of all lines that lie in a given plane. The multiplicative structure is given by
γ13 = 2γ1 γ2 ,

γ22 = ∗ ,

γ12 γ2 = ∗ ,

γ14 = 2 ∗ .

Further, the class γ12 − γ2 represents the surface of all lines passing through a given point. ♦
Example 5.5. [12, Proposition 9.10] The universal line Φ = {(x, L) ∈ P3 × Gr(1, P3 ) |
x ∈ L} is a 5-dimensional smooth projective variety. The Chow ring of this variety equals
CH(Φ) = CH(Gr(1, P3 ))[H]/hH 2 − γ1 H + γ2 i. Here, the class H ∈ CH1 (Φ) represents the
preimage of a plane in P3 under the projection Φ → P3 onto the first factor.
♦
Proposition 5.6. For a general surface X of degree d ≥ 4, the degrees of the flecnodal
surface F(X) and the flecnodal curve F on X are


deg F(X) = 2d(d − 3)(3d − 2) and deg F = d(11d − 24).
Proof. Let XΦ4 ⊂ Φ be the incidence variety of pairs (x, L) such that the line L has contact
of order at least 4 at the point x ∈ X. The degree of the flecnodal surface F(X) is the
number of intersections of F(X) with a general line. This is the number of pairs (x, L) ∈ XΦ4
such that L meets a general line. In particular, we have [XΦ4 ] · γ1 = deg(F(X))∗ in CH(Φ).
We shall compute [XΦ4 ] ∈ CH4 (Φ) via Chern classes. The top Chern class cr (E) ∈ CHr (Y )
of a vector bundle E of rank r on a smooth variety Y with a global section σ : Y → E is the
class of the vanishing locus of σ. This definition is independent of the chosen global section.
Fix any vector bundle E on Φ and any integer m ∈ N. By [12, Theorem 11.2], there is a new
m
vector bundle JΦ/Gr(1,P
3 ) (E) on Φ whose fiber at (x, L) is the space of all germs of sections
of E|{(y,L)∈Φ} modulo those that vanish to order ≥ m + 1 at (x, L). This is called the bundle
of relative principal parts or the relative jet bundle. We shall compute its top Chern class.
Let now E be the pullback to Φ of the line bundle OP3 (d). A global section of E is given
by the homogeneous polynomial in x1 , x2 , x3 , x4 of degree d that defines X in P3 . Restricting
this polynomial to the line L gives a global section of E|{(y,L)∈Φ} . That global section vanishes
at (x, L) if and only if L has contact of order at least m + 1 at x ∈ X. Hence, the top Chern
m
class of JΦ/Gr(1,P
3 ) (E) is the class of the subvariety of all pairs (x, L) in Φ such that L has
3
4
contact of order at least m + 1 at x ∈ X. In particular, c4 (JΦ/Gr(1,P
3 ) (E)) = [XΦ ].
m
In addition, we see from Theorem 11.2 in [12] that JΦ/Gr(1,P
3 ) (E) agrees locally with



E ⊕ E ⊗ ΩΦ/Gr(1,P3 ) ⊕ E ⊗ Sym2 ΩΦ/Gr(1,P3 ) ⊕ · · · ⊕ E ⊗ Symm ΩΦ/Gr(1,P3 ) ,

(17)

where ΩΦ/Gr(1,P3 ) is the relative cotangent bundle, which has rank 1 in our case. We compute
m
the top Chern class of JΦ/Gr(1,P
3 ) (E) from its representation (17). From [12, p. 395] we have
m
c1 (Sym ΩΦ/Gr(1,P3 ) ) = m(γ1 − 2H) in CH1 (Φ). Since the equation f of X gives a global
section of E, we further have c1 (E) = dH in CH1 (Φ). The top Chern class of the tensor
product of two line bundles is the sum of their top Chern classes [12, Prop. 5.17]. Hence
c1 (E ⊗ Symi ΩΦ/Gr(1,P3 ) ) = (d − 2i)H + iγ1
22

in CH1 (Φ) for i = 0, 1, 2, . . . , m.

Finally, Whitney’s sum formula [12, Theorem 5.3] says that the top Chern class of a direct
sum of vector bundles is the product of the top Chern classes of the summands. This implies
m
cm+1 (JΦ/Gr(1,P
3 ) (E))

=

m
Y

((d − 2i)H + iγ1 )

in CHm+1 (Φ).

i=0

We have H 4 = 0, by Example 5.3 and H 3 γ12 = ∗, since exactly one line meets two general
lines and passes through a given point. Finally, H 2 γ13 = 2∗ and Hγ14 = 2∗, since exactly two
lines meet four general lines in P3 . Putting these pieces together, we get the desired formula
Q
3
deg(F(X))∗ =
[XΦ4 ] · γ1 = c4 (JΦ/Gr(1,P
= γ1 3i=0 ((d − 2i)H + iγ1 )
3 ) (E)) · γ1
= (6d3 −44d2 +72d) H 3 γ12 + (11d2 −36d) H 2 γ13 + 6dHγ14 = 2d(d − 3)(3d − 2)∗ .
An analogous computation yields the degree
of the flecnodal curve F on the surface X. We
Q3
4
find that deg(F )∗ = [XΦ ] · H = H i=0 ((d − 2i)H + iγ1 ) = d(11d − 24) ∗ .
Proposition 5.7. The degree of the parabolic surface of a general surface X of degree d ≥ 3 is

deg P(X) = 2d(d − 2)(3d − 4).
Proof. We consider the incidence variety PΦ3 that consists of all pairs (x, L) in Φ with the
property that x is parabolic on X and L has contact order at least 3 at x ∈ X. Settheoretically, this is the intersection of the variety XΦ3 ⊂ Φ of pairs (x, L) such that L is a
principal tangent to X at x with the variety PΦ1 ⊂ Φ of pairs (x, L) such that x is parabolic
on X. Since codim Φ PΦ3 = 4 < 3 + 2 = codim Φ XΦ3 + codim Φ PΦ1 , we cannot simply multiply
their classes in CH(Φ) to get the class of PΦ3 .
We shall compute all relevant classes in CH(ΦX ), where ΦX is the variety of pairs (x, L) ∈
Φ with x ∈ X. The varieties XΦ3 and PΦ1 intersect with the expected codimension in ΦX ,
although this intersection is not transverse. It is difficult to describe the Chow ring of ΦX .
We find some generators and relations of CH(ΦX ) by taking pullbacks of elements in CH(Φ)
under the inclusion ΦX ,→ Φ. Recall that the pullback of a class [Z] under a nice enough
morphism f between varieties is [f −1 (Z)], by [12, Thm. 1.23]. We denote by E ∈ CH1 (ΦX )
the pullback of the hyperplane class H ∈ CH1 (Φ) and by Γi ∈ CH(ΦX ) the pullback of
γi ∈ CH(Φ) for i ∈ {1, 2}.
By definition, PΦ1 is the preimage of the parabolic curve P ⊂ X under the map ΦX → X.
The parabolic curve P is the intersection of X with the Hessian surface of degree 4(d − 2).
Thus, the class of P in CH(X) is 4(d − 2)e, where e ∈ CH1 (X) is the pullback of the
hyperplane class h ∈ CH1 (P3 ) under the inclusion X ,→ P3 . Since E ∈ CH1 (ΦX ) is also the
pullback of e ∈ CH1 (X) under the projection ΦX → X, we have [PΦ1 ] = 4(d−2)E ∈ CH1 (ΦX ).
We compute [XΦ3 ] in the Chow ring of Φ using the formula (17) with m = 2:
[XΦ3 ]

=

2
c3 (JΦ/Gr(1,P
3 ) (E))

2
Y

=
((d−2i)H +iγ1 ) = dH (d2 −6d+8)H 2 + (3d−8)Hγ1 + 2γ12 .
i=0

The right hand side lives in the Chow ring of the 5-dimensional variety Φ and we pull it back
to the Chow ring of its 4-dimensional subvariety ΦX . That pullback is the codimension-3
23

cycle dEβ, where β := (d2 − 6d + 8)E 2 + (3d − 8)EΓ1 + 2Γ21 ∈ CH2 (ΦX ). Since pullback
preserves codimension, [XΦ3 ] ∈ CH2 (ΦX ) cannot be equal to dEβ ∈ CH3 (ΦX ). Instead [12,
Theorem 13.7] tells us that dEβ = [XΦ3 ] · c1 (NΦX /Φ ) ∈ CH3 (ΦX ), where NΦX /Φ is the normal
bundle of ΦX in Φ. By [12, Prop.-Def. 6.15], we have c1 (NΦX /Φ ) = dE and dEβ = dE[XΦ3 ].
We cannot yet say that [XΦ3 ] = β in CH2 (ΦX ) because multiplication with E has nontrivial kernel. However, since E is a factor of [PΦ1 ], we conclude that [XΦ3 ][PΦ1 ] = 4(d − 2)Eβ
in the Chow ring of ΦX . Since a general point on X has two principal tangent lines, the
intersection multiplicity of the varieties PΦ1 and XΦ3 is 2. Therefore, by [12, Theorem 1.26],
we have [PΦ3 ] = 21 [XΦ3 ][PΦ1 ] = 2(d − 2)Eβ in CH(ΦX ). As in the case of flecnodal lines, the
degree of the parabolic surface P(X) is the number of points in the 0-dimensional cycle

[PΦ3 ] · Γ1 = 2(d − 2) (d2 − 6d + 8)E 3 Γ1 + (3d − 8)E 2 Γ21 + 2EΓ31 .
Finally, we use the pushforward of the inclusion i : ΦX ,→ Φ to express the above monomials
in the point class ∗ of CH(Φ). The pushforward f∗ of a proper morphism f maps [Z] to
0 if dim(f (Z)) < dim(Z), and otherwise to ν[f (Z)] where ν ∈ Z denotes the degree of
the restricted map f |Z : Z → f (Z). Using the push-pull formula [12, Theorem 1.23], we
derive i∗ (E 2 Γ21 ) = i∗ (i∗ (H 2 γ12 ) · [ΦX ]) = H 2 γ12 · i∗ ([ΦX ]) = dH 3 γ12 = d∗. Similarly, we get
i∗ (EΓ31 ) = 2d∗ and i∗ (E 3 Γ1 ) = 0. Hence, deg(P(X))∗ = i∗ ([PΦ3 ]·Γ1 ) = 2d(d−2)(3d−4)∗.
Proposition 5.8. The degree of the edge surface of a general surface X of degree d ≥ 4 is

deg E(X) = d(d − 2)(d − 3)(d2 + 2d − 4).
Proof sketch. We describe an idea for computing the degree of E(X) with a mix of classical
methods and intersection theory, similar to Petitjean’s approach [25, Prop. 4.14-4.16]. The
Gauss map γ : X → (P3 )∗ assigns to each point x ∈ X the tangent plane to X at x. The
preimage of E p (X) under γ is the node-couple curve C ⊂ X, and the restriction γ|C : C →
E p (X) is a 2-to-1 covering of E p (X). From this we get that γ∗ ([C]) = 2[E p (X)] in CH((P3 )∗ ).
We can compute the class [C] in CH1 (X) as follows. Let us denote by h∗ ∈ CH1 ((P3 )∗ ) the
class of a hyperplane in (P3 )∗ , and by e∗ ∈ CH1 (X) the pullback of h∗ under the Gauss map
γ. Since e ∈ CH1 (X) (which we defined as the pullback of the hyperplane class h ∈ CH1 (P3 )
under the inclusion j : X ,→ P3 ) generates CH1 (X), we know that e∗ = αe for some α ∈ Z.
The push-pull formula implies
γ∗ ((e∗ )2 ) = (h∗ )2 γ∗ ([X]) = (h∗ )2 · d(d − 1)2 h∗ = d(d − 1)2 ∗,
j∗ ((e∗ )2 ) = α2 j∗ (e2 ) = α2 h2 j∗ ([X]) = α2 h2 · dh = α2 d∗,
and thus α = d − 1. Hence, we have (d − 1)γ∗ (e) = γ∗ (e∗ ) = d(d − 1)2 (h∗ )2 and γ∗ (e) =
d(d − 1)(h∗ )2 . Writing [C] = δe for δ ∈ Z, we finally derive
2 deg(E p (X))(h∗ )2 = 2[E p (X)] = γ∗ ([C]) = δγ∗ (e) = δd(d − 1)(h∗ )2
and δ = (d − 2)(d3 − d2 + d − 12) by Proposition 5.1.

24

The numbers a and b of cusps and nodes of the curve C are given by [25, Prop. 4.15]:
a = 4d(d − 2)(d − 3)(d3 + 3d − 16),
1
b = d(d − 2)(d7 − 4d6 + 7d5 − 45d4 + 114d3 − 111d2 + 548d − 960).
2
Since the curve C does not have any other singularities, we can apply the intersection
theoretic genus formula: the geometric genus of C is given by the number of points in the
0-dimensional cycle 21 ([C]2 + KX [C]) plus the number 1 − a − b (cf. [12, Sec. 2.4.6]), where
KX = (d − 4)e is the canonical class (cf. [12, Sec. 1.4.3]):


j∗ ([C]2 + KX [C]) = δ 2 + δ(d − 4) j∗ (e2 ) = δ 2 + δ(d − 4) d ∗
and

1 2
genus(C) =
δ + δ(d − 4) d + 1 − a − b
2
= 3d6 − 15d5 + 27d4 − 104d3 + 340d2 − 336d + 1.
The map γ 0 : C 0 → E p (X)0 between the normalizations of C and E p (X) is exactly ramified
at the godrons, i.e., the points of tangency of the parabolic curve P and the flecnodal curve
F on X (see [28, pp. 229-231]). Thus, the number of those points is the number of points
in the 0-dimensional cycle 21 [P ][F ] = 12 · 4(d − 2)e · (11d − 24)e, which is 21 j∗ ([P ][F ]) =
2(d − 2)(11d − 24)j∗ (e2 ) = 2d(d − 2)(11d − 24)∗. We find the genus of E p (X) by applying
the Riemann-Hurwitz formula [16, Cor. 2.4] to γ 0 :
2 genus(C) − 2 = 2(2 genus(E p (X)) − 2) + 2d(d − 2)(11d − 24).
Hence, genus(E p (X)) = 21 (3d6 − 15d5 + 27d4 − 115d3 + 386d2 − 384d + 2). Finally, the degree
of the surface E(X) = (E p (X))∨ is the degree of the tangential
surface of the curve E p (X).

The latter degree equals 2 deg(E p (X)) + genus(E p (X))−1 − a = d(d − 2)(d − 3)(d2 + 2d − 4)
(see [27, Thm. 3.2]), since a is also the number of cusps on E p (X).
Proving the degrees of C(X) and T (X) is more technical. We will not include this here.
One method is Colley’s multiple point theory [8, 9]. Alternatively, one can write C(X) and
T (X) as the intersection of loci of (principal) tangents in the fiber product Φ ×Gr(1,P3 ) Φ or
Φ×Gr(1,P3 ) Φ×Gr(1,P3 ) Φ and remove extra components in the intersection by blowing these up.

6

Computing Visual Events

Theorem 4.1 gives the degrees of the irreducible components of the visual event surface when
X is a general surface of degree d in P3 . Table 2 below summarizes these degrees for d ≤ 7.
One notices that the degrees are now much larger than those for curves in Table 1.
The degrees in Table 2 pose a challenge because
a homogeneous polynomial in four

unknowns of degree δ can have as many as δ+3
terms.
For instance, if X is a quintic
3
surface then its flecnodal surface F(X) has degree δ = 260, so the expected number of terms
is δ+3
= 2997411. In this section we address this challenge. See Example 6.2 for a solution.
3
25

d
3
4
5
6
7

deg(F(X))
0
80
260
576
1064

deg(C(X))
0
0
510
2448
7308

deg(T (X))
0
0
0
624
3808

deg(E(X))
0
160
930
3168
8260

deg(P(X))
30
128
330
672
1190

Table 2: Degrees of the components of the visual event surface of a general surface
Throughout this section, we make use of the multiple root loci for binary forms. The ideals
of these varieties are defined by homogeneous polynomials in the coefficients c0 , c1 , . . . cd of
c0 td + c1 td−1 + c2 td−2 + · · · + cd−1 t + cd .
(18)
P
For a partition λ = (λ1 , . . . , λk ) ∈ Nk with ki=1 λi ≤ d, we write ∆λ (d) for the homogeneous
prime ideal in R[c0 , . . . , cd ] whose variety consists of polynomials (18) that have k complex
roots with multiplicities λ1 , . . . , λk . The varieties are called multiple root loci in [23]. For
example, ∆(4) (d) is the prime ideal for polynomials of degree d with one quadruple root.
Example 6.1. Let d = 4 in (18) and consider univariate quartics that have a single root of
multiplicity four. These quartics are the points on a rational normal curve in P4 . The prime
ideal of this curve is ∆(4) (4). It is generated by the six 2×2-minors of the 2×4-matrix


12c0 3c1 2c2 3c3
.
3c1 2c2 3c3 12c4
The variety of quintics (d = 5) with one root of multiplicity four is the tangential surface of
the rational normal curve in P5 . Its ideal is the complete intersection of three quadrics:
∆(4) (5) =

20c0 c4 − 8c1 c3 + 3c22 , 50c0 c5 − 6c1 c4 + c2 c3 , 20c1 c5 − 8c2 c4 + 3c23 .

(19)

Another multiple root locus was seen in Example 3.8. The ideal ∆(2,2) (5) is minimally
generated by 10 quintics. We used this to compute the edge surface of a degree 5 curve. ♦
We refer to [23, Table 1] for details on the ideals ∆λ (d). Some relevant instances are
listed in Table 3. Its entries are copied from [23, Table 1]. For instance, the entry 610 , 838
in the last column means that ∆(3,2) (7) is minimally generated by 10 sextics and 38 octics.
The ideals ∆λ (d) can be computed either by direct implicitization, or by using subresultants [1]. The i-th subresultant Si (h1 , h2 ) of two polynomials h1 (t) and h2 (t) is a polynomial of degree at most i whose coefficients are the determinants of particular minors of the
Sylvester matrix of h1 and h2 . The vanishing of Si (h1 , h2 ) for 0 ≤ i ≤ d − 1 means that the
greatest common divisor (GCD) of h1 and h2 has degree at least d. Moreover, if Sd (h1 , h2 ) is
not zero, it is exactly this GCD. If we let hd be the polynomial (18) and h0d be its derivative
with respect to t, then the condition that hd has roots withP
multiplicity λ = (λ1 , . . . , λk ) is
0
equivalent to the fact that the GCD of hd and hd has degree ki=1 (λi − 1) and has roots with
multiplicities λ0 = (λ1 −1, . . . , λk −1). This allows us to compute the ideal ∆λ (d) recursively.
26

Ruled surface
F(X)
C(X)
T (X)

Partition
λ = (4)
λ = (3, 2)
λ = (2, 2, 2)

d=4
26

d=5
23
428

d=6
2 , 33 , 41
41 , 53 , 631
445
1

d=7
420
10 38
6 ,8
678

Table 3: The ideals ∆(λ) (d) of multiple root loci relevant for visual events of surfaces
In what follows we assume that the ideals ∆λ (d) have been pre-computed for d ≤ 7.
We use these data to compute the curves F ` (X), C ` (X) and T ` (X) in the Grassmannian
Gr(1, P3 ). The correspondence between the three multi-local events F, C, T and the three
special partitions λ was seen on the right side in Figure 2, where λ was denoted by m.
Let f = f (x1 , x2 , x3 , x4 ) be the polynomial of degree d that defines the surface X. We
parameterize the line in P3 with Plücker coordinates q using a parameter t. For instance,
we can write (2) dually as z(t) = (q12 : tq12 : tq13 − q23 : tq14 − q24 ). We substitute z(t) into
the polynomial f , and we regard f (z(t)) as a univariate polynomial in t, written as in (18).
The coefficients ci are now homogeneous expressions of degree d in the Plücker coordinates
q. At this point, we substitute these expressions ci (q) into the generators of ∆λ (d). The
result is an ideal in the Plücker coordinates q that defines the desired curve set-theoretically.
The same method can be applied when local coordinates on the Grassmannian Gr(1, P3 ) are
preferred. In this case, we parameterize the line in P3 by z(t) = (1 : t : α + tγ : β + tδ).
Example 6.2. Let d = 5 and consider the smooth quintic surface X defined by
f = x51 + x52 + x53 + x54 + (x1 + x2 + x3 + x4 )5 + x1 x2 x3 x4 (x1 + x2 + x3 + x4 ).
We compute the curve F ` (X) in Gr(1, P3 ) that represents the flecnodal surface. Its prime
ideal has degree 260 and is generated by 10 sextics plus the Plücker quadric (1). This
computation was done with the method above, starting from the ideal ∆(4) (5) in (19). ♦
Let us shift gears and focus on the local events P and E, seen on the left in Figure 2. We
start with the parabolic surface P(X). Let X be defined by a polynomial f ∈ R[x1 , x2 , x3 , x4 ].
The ideal I(P ) of the parabolic curve P is defined by f and the determinant of the Hessian
matrix Hf . Consider the incidence variety of the parabolic curve and its tangent planes,
that is {(x, Tx (X)) | x ∈ P } ⊂ P3 × (P3 )∗ . We compute the ideal
 of the incidence variety by
∂f /∂x1 ∂f /∂x2 ∂f /∂x3 ∂f /∂x4
adding the 2 × 2-minors of the matrix
to I(P ). We then saturate
y1
y2
y3
y4
the resulting ideal by hx1 , x2 , x3 , x4 i and afterwards eliminate x1 , x2 , x3 , x4 . This furnishes
the ideal of the dual curve P p (X) in (P3 )∗ , which encodes the developable surface P(X).
Proposition 6.3. If X is a general cubic surface, the curve P p (X) is a complete intersection
of a quartic and a sextic, obtained from the two basic invariants of ternary cubics.
Proof. A classical fact from invariant theory states that the ring of invariants for ternary
cubics is generated by a quartic and a sextic, and these vanish precisely when the cubic has a
cusp. We represent X as the blow-up of P2 at six points, namely as the image of the map to
P3 defined by four independent cubics f1 , f2 , f3 , f4 in x, y, z that vanish at these points. We
27

now consider the cubic y1 f1 + y2 f2 + y3 f3 + y4 f4 , where y1 , y2 , y3 , y4 are unknowns. Plugging
this cubic into the two basic invariants gives the condition for a plane to meet X in a cuspidal
curve. Hence that locus in (P3 )∗ is the complete intersection of a quartic and a sextic.
For a general parabolic point x of X, the Hessian matrix Hf (x) has rank three. Its kernel
represents a unique point px in P3 . We use the following simple fact to compute P ` (X).
Lemma 6.4. For x ∈ P , the point px lies on the unique principal tangent of X at x.
Proof. The relation x Hf (x) pTx = 0 holds. Euler’s relation shows that x Hf (x) is the gradient
vector of f at x. Hence px lies on the tangent plane to X at x. Furthermore, px belongs to the
principal tangent since px Hf (x) pTx is zero. Hence x and px span the principal tangent.
The curve P ` (X) ⊂ Gr(1, P3 ) is the collection of the lines spanned by a general parabolic
point x and the corresponding point px from Lemma 6.4. This allows us to compute the
ideal of P ` (X) in dual Plücker coordinates q12 , q13 , . . . , q34 . First, we recover the ideal I of
the incidence variety {(x, y) | x ∈ P, y ∈ ker Hf (x)} by adding the four entries of the column
vector Hf (x) · y to the ideal I(P ) = hf, det Hf (x)i. Secondly, we consider the map from the
coordinate ring of the Grassmannian to the quotient ring of I that maps Plücker coordinates
qij to the 2 × 2-minors of ( xy11 xy22 xy33 xy44 ). The kernel of this ring map is the ideal of the curve
P ` (X) ⊂ Gr(1, P3 ). This ideal is generated by 4 cubics and 6 quartics, plus the Plücker
quadric, in the unknowns q12 , . . . , q34 . One verifies computationally that the ideal defines a
curve of degree 30 in P5 for a cubic surface X. Of course, this curve is P ` (X).
Example 6.5. Let d = 3 and consider the Fermat cubic X defined by f = x31 +x32 +x33 +x34 .
We can easily compute the ideal of the curve P ` (X) as described above, and from this we
find the parabolic surface P(X). It decomposes into irreducible components of low degree:
(x0 + x1 ) · (x0 + x2 ) · (x0 + x3 ) · (x1 + x2 ) · (x1 + x3 ) · (x2 + x3 )
·(x20 − x0 x1 + x21 ) · (x20 − x0 x2 + x22 ) · (x20 − x0 x3 + x23 )
·(x21 − x1 x2 + x22 ) · (x21 − x1 x3 + x23 ) · (x22 − x2 x3 + x23 )
·(x31 + x32 + x33 ) · (x30 + x32 + x33 ) · (x30 + x31 + x33 ) · (x30 + x31 + x32 ).
This is one of the few cases where symbolic computation of the equation of P(X) is easy. ♦
Example 6.6. Let d = 3 and fix the cubic f = x31 + x32 + x33 + x34 + (x1 + 2x2 + 3x3 + 4x4 )3 .
It defines our surface X. Using the method above, we rapidly compute the ideal of P ` (X).
We demonstrate how to find the visual events of type P as the camera moves along a line.
Consider the line with parametric representation z(t) = (t : 1 : t − 1 : t + 1) in P3 . Let
Q be the skew-symmetric 4 × 4 matrix obtained from (3) by substituting to dual Plücker
coordinates. We add the four coordinates of z(t) · Q to the ideal of P ` , we then saturate
with respect to hq12 , . . . , q34 i, and thereafter we eliminate the unknowns qij . The result is
495403946635821355157683145728t30 + 4349505253226024309192581220352t29
+18437739306679654261938338946432t28 + 50562321054013553614808463278912t27
+ · · · · · · − 81509153943200707008t2 − 1885273424647073088t − 19650742648215232.
28

This polynomial has 30 distinct complex roots. Precisely 8 of them are real, namely


−1.01358602985259876, −1.011352289518814, −0.600974923580648806, −0.35014676100811994,
−0.2668550692437184, −0.191676056625314, −0.0811161566932513655, 0.378943747730770221 .

These 8 roots mark the visual events of type P as the viewpoint travels along the line z(t).
The univariate polynomial of degree 30 can also be computed from the dual curve P p . Let
g1 and g2 be the polynomials in y1 , y2 , y3 , y4 of degree four and six promised in Proposition
6.3. We augment the ideal I(P p ) = hg1 , g2 i by the 3 × 3-minors of the 3 × 4-matrix


∂g1 /∂x1 ∂g1 /∂x2 ∂g1 /∂x3 ∂g1 /∂x4
∂g2 /∂x1 ∂g2 /∂x2 ∂g2 /∂x3 ∂g2 /∂x4  .
t
1
t−1
t+1
We then saturate the resulting ideal by the ideal of the six 2 × 2-minors in first two rows,
and finally we eliminate x1 , x2 , x3 , x4 . This gives the same polynomial of degree 30 in t. ♦
We found that the computation of the edge surface E(X) is more challenging than that
of the parabolic surface P(X). Consider the case when X is a general quartic. Here, the
surface E(X) has degree 160, and hence so does the curve E ` (X) in Gr(1, P3 ). We succeeded
in computing the ideal of this curve only for quartics X that are singular or very special.
For instance, if X is the Fermat quartic then E(X) a surface of degree 80, with multiplicity
2. Since E(X) is developable, we could also try to use E p (X) as an encoding. Unfortunately,
the degree is then even higher. Namely, by Proposition 5.1, the dual curve E p (X) has degree
480 in (P3 )∗ . The computation of edge surfaces E(X) definitely requires further research.
Acknowledgments. This project started in May 2016 at the GOAL workshop in Paris. We thank
Mohab Safey El Din, Jean-Charles Faugère, Jon Hauenstein, and Jean Ponce for their help in the
initial stages. We are also grateful to Joachim Rieger for an inspiring discussion on singularity
theory, and to Emre Sertöz for helpful comments on intersection theory. Kathlén Kohn was funded
by the Einstein Foundation Berlin. Bernd Sturmfels received partial support from the US National
Science Foundation (DMS-1419018) and the Einstein Foundation Berlin. Matthew Trager was
supported in part by the ERC advanced grant VideoWorld, the Institut Universitaire de France,
the Inria-CMU associated team GAYA, and the ANR grant RECAP.

References
[1] J. Abdeljaoued, G.M. Diaz-Toca and L. Gonzalez-Vega: Minors of Bézout matrices, subresultants and the parametrization of the degree of the polynomial greatest common divisor,
International Journal of Computer Mathematics 81 (2004) 1223–1238.
[2] V. I. Arnol’d: Singularities of smooth mappings, Russian Math. Surveys 23 (1968) 1–43.
[3] E. Arrondo, M. Bertolini and C. Turrini: A focus on focal surfaces, Asian Journal of Mathematics 5 (2001) 535–560.

29

[4] M.C. Beltrametti, E. Carletti, G. Monti Bragadin and D. Gallarati: Lectures on Curves,
Surfaces and Projective Varieties: a Classical View of Algebraic Geometry, EMS Textbooks
in Mathematics, Vol. 9, European Mathematical Society, 2009.
[5] M-A. Bertin: On the singularities of the trisecant surface to a space curve, Matematiche
(Catania) 53 (1998) 15–22.
[6] K. W. Bowyer and C. R. Dyer: Aspect graphs: An introduction and survey of recent results,
International Journal of Imaging Systems and Technology 2 (1990) 315–328.
[7] A. Cayley: On the singularities of surfaces, The Cambridge and Dublin Mathematical Journal
VII (1852) 166–171.
[8] S. Colley: Lines having specified contact with projective varieties, Proceedings of the 1984
Vancouver Conference in Algebraic Geometry 6 (1986) 47–70.
[9] S. Colley: Enumerating stationary multiple points, Advances in Math. 66 (1987) 149–170.
[10] I.V. Dolgachev: Classical Algebraic Geometry: a Modern View, Cambridge Univ. Press, 2012.
[11] W.L. Edge: The Theory of Ruled Surfaces, Cambridge University Press, 1931.
[12] D. Eisenbud and J. Harris: 3264 and All That: A Second Course in Algebraic Geometry,
Cambridge University Press, 2016.
[13] D. Eisenbud and F-O. Schreyer: Resultants and Chow forms via exterior syzygies, Journal of
the American Mathematical Society 16 (2003) 537–579.
[14] D.A. Forsyth and J. Ponce: Computer Vision: A Modern Approach, 2nd ed., Pearson, 2012.
[15] I.M. Gel’fand, M.M. Kapranov and A.V. Zelevinsky: Discriminants, Resultants and Multidimensional Determinants, Birkhäuser, Boston, 1994.
[16] R. Hartshorne: Algebraic Geometry, Springer-Verlag, New York and Heidelberg, 1977.
[17] P. Johansen: The geometry of the tangent developable, Computational methods for algebraic
spline surfaces, Springer, Berlin, 2005, pp 95-106.
[18] Y. L. Kergosien: La famille des projections orthogonales d’une surface et ses singularités,
Comptes Rendus Acad. Sc. Paris Sér.I Math 292 (1981) 929–932.
[19] J. J. Koenderink: Solid Shape, MIT Press, 1990.
[20] J. J. Koenderink and A. J. van Doorn: The singularities of the visual mapping, Biological
Cybernetics 24 (1976) 51–59.
[21] K. Kohn: Coisotropic hypersurfaces in the Grassmannian, arXiv:1607.05932.
[22] K. Kohn, B.I.U. Nødland and P. Tripoli: Secants, bitangents, and their congruences, in Combinatorial Algebraic Geometry, Fields Institute, (eds. G. Smith and B. Sturmfels), to appear.
[23] H. Lee and B. Sturmfels: Duality of multiple root loci, Journal of Algebra 446 (2016) 499–526.
[24] S. Pae and J. Ponce: On computing structural changes in evolving surfaces and their appearance, International Journal of Computer Vision 43.2 (2001) 113-131.
[25] S. Petitjean: The complexity and enumerative geometry of aspect graphs of smooth surfaces,
Algorithms in algebraic geometry and applications (Santander, 1994), 317–352, Progr. Math.,
143, Birkhäuser, Basel, 1996.
[26] S. Petitjean, J. Ponce and D. Kriegman: Computing exact aspect graphs of curved objects:
Algebraic Surfaces, International Journal of Computer Vision 9 (1992) 231–255.

30

[27] R. Piene: Numerical characters of a curve in projective n-space, in Real and Complex Singularities, Oslo, (ed. P. Holm), 1976.
[28] R. Piene: Some formulas for a surface in P3 , in Algebraic Geometry, (ed. L.D. Olson), Lecture
Notes in Mathematics 687, Springer, Berlin, Heidelberg, 1978.
[29] R. Piene: Cuspidal projection of space curves, Mathematische Annalen 256 (1981) 95–119.
[30] O. A. Platonova: Projections of smooth surfaces, Journal of Mathematical Sciences 35.6 (1986)
2796-2808.
[31] J. Ponce and M. Hebert: On image contours of projective shapes, European Conference on
Computer Vision. Springer International Publishing, 2014.
[32] J. Ponce and D. J. Kriegman: Computing exact aspect graphs of curved objects: Parametric
surfaces, Department of Computer Science, University of Illinois at Urbana-Champaign, 1990.
[33] K. Ranestad and B. Sturmfels: On the convex hull of a space curve, Advances in Geometry
12 (2012) 157–178.
[34] J. H. Rieger: Global bifurcation sets and stable projections of nonsingular algebraic surfaces,
International Journal of Computer Vision 7 (1992) 171–194.
[35] J.H. Rieger: Computing view graphs of algebraic surfaces, Journal of Symbolic Computation
16 (1993) 259–272.
[36] G. Salmon: A Treatise on the Analytic Geometry of Three Dimensions, 4th ed., Dublin, 1882.
[37] A. Seigal and B. Sturmfels: Real rank two geometry, Journal of Algebra 484 (2017) 310–333.
[38] B. Sturmfels: The Hurwitz form of a projective variety, Journal of Symbolic Computation 79
(2017) 186–196.
[39] R. Thom: Structural Stability and Morphogenesis, W.A. Benjamin, 1972.

Authors’ addresses:
Kathlén Kohn, TU Berlin, Germany, kohn@math.tu-berlin.de.
Bernd Sturmfels, MPI Leipzig, Germany, and UC Berkeley, USA, bernd@mis.mpg.de, bernd@berkeley.edu.
Matthew Trager, Inria, École Normale Supérieure Paris, CNRS, PSL Research University, France,
matthew.trager@inria.fr.

31

