Parallel Coordinates Visual Multidimensional Geometry and Its Applications
Parallel Coordinates Visual Multidimensional Geometry and Its Applications
and
and
Alfred Inselberg
Foreword by Ben Shneiderman
CD-ROM
Alfred Inselberg
Tel Aviv University
School of Mathematical Sciences
69 978 Tel Aviv
Israel
[email protected]
Mathematics Subject Classification (2000): 15-xx, 51-xx, 62-xx, 62-09, 68-xx, 14J26, 14J29, 14J70: 15-01, 15A04, 15A06;
51-01; 51A05, 54-01; 68-01, 68P01, 68W01; 90-01, 90-08, 90C05, 90C29, 90C59
Foreword
The breakthrough idea of parallel coordinates has enchanted many people with its
cleverness and power. Al Inselberg, the source of that cleverness and power, finally
shares the depth and breadth of his invention in this historically important book.
I’ve been waiting impatiently for this exposition since I was captivated by
Inselberg’s lecture at the University of Maryland in 1979. He had already understood
the potential parallel coordinates has for generating insights into high-dimensional
analysis and information visualization. In the following decades he polished the
arguments, built effective software, and demonstrated value in important applica-
tions. Now a broad community of readers can benefit from his insights and effective
presentation.
I believe that Inselberg’s parallel coordinates is a transformational ideal that
matches the importance of René Descartes’ (1596–1650) invention of Cartesian
coordinates. Just as Cartesian coordinates help us understand 2D and 3D geometry,
parallel coordinates offer fresh ways of thinking about and proving theorems in
higher-dimensional geometries. At the same time they will lead to more powerful
tools for solving practical problems in a wide variety of applications. It is rare to
encounter such a mind-shattering idea with such historic importance.
While Inselberg’s insight and exposition opens the door to many discoveries,
there is much work to be done for generations of mathematicians, computer scien-
tists, programmers, and domain experts who will need to build on these innovative
ideas.
To understand and apply parallel coordinates, many further innovations are
needed. Those who can readily reshape their perceptual skills and realign their
cognitive frames will be well-equipped for this nontrivial task. I still struggle with
these novelties, which Inselberg has masterfully accomplished. In each of my dozen
meetings with Inselberg, he relieved me of my confusion and steered me closer to
clarity. There is a chance that those who learn parallel coordinates early in life
may be able to more easily see higher-dimensional spaces. More likely, master
teachers, inspired interface designers, and gifted domain experts will enable future
generations to grasp these profound ideas as if they were entirely natural, just as
we see Cartesian coordinates.
I encourage readers to read each paragraph carefully and make sure they fully
grasp the ideas. Inselberg has made this possible by his lucid and often charming
vi Foreword
prose, filled with intriguing historical references and clever quips. The computer
scientists, programmers, dataminers, and information visualization experts may
want to jump ahead to Chapter 10 which has practical examples and numerous
screen shots. The recent additional insights from Inselberg’s students and followers
give a hint of the thousands of papers that are likely to be inspired by this work. More
importantly, the applications of parallel coordinates could contribute to solving
some of the complex multidimensional problems of our time. I hope every reader
will strive to put these ideas to work in making a better world.
Ben Shneiderman
University of Maryland, College Park
May 2008
0
Contents
Foreword . . . . . . . . . . . . . . . . . . . . . . . . . v
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . xv
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . xxiii
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . 1
2.1 Preliminaries . . . . . . . . . . . . . . . . . . . 7
2.1.1 In the Beginning ... . . . . . . . . . . . . 7
2.2 ♣ FT-1 Why Projective Geometry? . . . . . . . . . 9
2.2.1 Projective Plane Model . . . . . . . . . . . 10
2.2.2 Axioms for Projective Geometry . . . . . . . 13
2.2.3 Principle of Duality . . . . . . . . . . . . 16
2.3 ** Finite Geometries . . . . . . . . . . . . . . . . 19
2.3.1 Seven-Point Geometry . . . . . . . . . . . 19
2.3.2 Finite Geometry with 13 Points . . . . . . . . 21
2.4 ♣ FT-2 Analytic Projective Geometry . . . . . . . . 22
♣ FT-2e . . . . . . . . . . . . . . . . . . . . 24
2.4.1 Homogeneous Coordinates on a Line . . . . . 25
2.5 The Fundamental Transformations of Projective Geometry . 26
2.6 More on Homogeneous Coordinates . . . . . . . . . . 29
2.6.1 Linearizability of Projective Transformations . . 29
2.7 ** The Linearized Projective Transformations . . . . . . 31
2.7.1 Projective Transformations in the Plane P2 . . . 32
2.7.2 Projective Transformations in P3 . . . . . . . 33
2.8 ** Coordinate System Rotations . . . . . . . . . . . 36
2.9 ** Analytic Proofs . . . . . . . . . . . . . . . . . 39
viii Contents
7 Curves . . . . . . . . . . . . . . . . . . . . . . . . . 195
Preface
guidance for its use at the relevant sections in the text. Projective geometry theorems,
dualities, transformations, and properties of representations are understood quickly
and enjoyably.
Course Organization
Much has been learned from the teaching experience. Reasonably well prepared
and motivated students enjoyed and absorbed the material readily, contributing
new results and ideas. After some experimentation, the course outline that proved
most successful is the presentation of a course overview in the first two to three
hours, including some demonstrations. This motivates the subject with problems
and examples and also shows why, due to the 2-D point ↔ line duality, parallel
coordinates need to be considered in the projective rather than the Euclidean plane.
The development as given in the chapter sequence can then be safely followed.
Demonstrations with the ILM in the CD as well as several applications are always
well received. The instructor can organize group projects that provide such demon-
strations. Some of the ones already given are available over the Internet. Also,
there is an increasing collection of software commercially or freely available that
is suitable for class demonstrations and use.
3
I am indebted to Chao-Kuei Hung for this wonderful idea.
Preface xix
** Syllabus
– Representing lines by (N −1) points with two indices, parallel lines, general
representation, the 3-point collinearity property; demos.
xx Preface
– Network visualization and analysis with -coords; Yaron Singer and Ohad
Greenspan.
– To see C2 : visualizing complex-valued functions; Yoav Yaari.
• Time permitting, students can choose to lecture on various topics in visualiza-
tion, e.g., Internet visualization, fluid flow, visualizing the function of neural
networks, detecting network intrusions, etc.
Prerequisites
The course attracted students from mathematics, computer science, engineering,
statistics, management, data mining, and a wide variety of sciences (physics,
chemistry, biology, etc.), geography, social sciences, and even linguistics. They
ranged from second year to advanced doctorate students. Background in linear
algebra is important for those who want to master the subject. Programming skills
including some computer graphics are helpful though not necessary.
0
Acknowledgments
I first proposed parallel coordinates in 1959 when I was a graduate student at the
University of Illinois (Champaign-Urbana). Two topologists, Professors D. Bourgin
and S.S. Cairns, encouraged me to pursue the idea, but it took me many years to
take their advice seriously. Later, I had the pleasure and priviledge to collaborate
with Bernie Dimsdale4 at the IBM Los Angeles Science Center (LASC), who made
many important contributions and left his imprint throughout this work. Also at
LASC, Alex Hurwitz’s numerous contributions, suggestions, and ideas as well as
Juan Rivero’s application to the phase space for nonlinear differential equations
benefited the early development.
From the students, starting in 1978 Moti Reif was bravely the first to do
his graduate research on parallel coordinates (convexity algorithms) [110]; John
Eickemeyer discovered among other things the “superplanes” [47]; Avijit Chatterjee
developed Eickemeyer’s results further for the visualization of polytopes in N-space
[23]; Misha Boz made many contributions over the years, and together with
Bernie Dimsdale, we did the first successful implementation of the collision avoid-
ance algorithms [104]; Steve Cohan [31] and Paolo Fiorini developed applications
to robotics [60]; Jim Adams (circa 1981), Alex Hurwitz, and later Tuval Chomut
pioneered the first successful implementation of parallel coordinates for exploratory
data analysis (EDA) [30] as well as contributing to the convexity algorithms with
Moti Reif; Chao Kuei Hung derived an elegant characterization of developable
surfaces in terms of their tangent planes [93], [108] (see [94] for updated results);
Lou Ann Colby investigated dualities between rigid transformations; Richard
Addison later improved the implementation of the collision avoidance algorithms;
and Greg Wong together with John Eickemeyer under Alex Hurwitz’s leadership
developed and implemented further substantial improvements; Tova and Shlomo
Avidan made innovative improvements on the data mining application [5], [103];
Tanya Matskewich and Yaakov Brenner did a very sophisticated and useful char-
acterization of proximity for flats [131] that developed into a full chapter; Nadav
Helfman [81] further developed the application to decision support; Adi Shlomi
designed and wrote much of the software in the ILM. Liat Cohen solved the exercises
and also contributed many ideas and improvements. David Adjiashvili wrote the
4
A long-term associate of John von Neuman.
xxiv Acknowledgments
Bertin’s book [14] is the early classic in information visualization. The field
has been blossoming since then as attested by the volumes [22] and [11] containing
organized collections of important papers, the seminal source on data mining [57],
and the wonderful texts of Colin Ware emphasizing perception and design [182],
Chaomei Chen’s [25] work on a range of cognitive social and collaborative activities,
and the comprehensive expository collection of methodologies by Robert Spence
[164].
I have been supported and introduced to a variety of good problems by several
friends and colleagues, especially (listed in alphabetical order) by George Bekey,
Ronald Coiffman, Julia Chung, Alon Efrat, Marti Hearst, Peter Jones, Pei Ling Lai
[109], [124], Khosrow Motamedi, Karl Müller, David McIlroy, Niko Shlamberger
and Ana Trejak, Randall Smith of GM Research, and Fred Warner. I am especially
grateful to John Nacerino of EPA in Las Vegas for his guidance and steadfast
encouragement. His initiative and efforts enabled the distribution of the parallel
coordinates software to academic researchers. Since 1990 the IEEE annual visua-
lization conferences have been an excellent forum in which to learn and present
ideas as well as receive valuable suggestions and criticism. In this community the
following colleagues were especially helpful: Dan Bergeron [185], Ed Chi [28],
Georges Grinstein, Beth Hetzler, Helwig Hauser, Daniel Keim, Chaim Lefkovits,
Ted Mihalisin, Tamara Munzer, Alex Pang, Catherine Plaisant [160], Bill Ribarsky,
Bernice Rogowitz, Holly Rushmeier, Lloyd Treinish, Bob Spence and Lisa Tweedie
[175], John Stasko, Theresa-Marie Thyne, Matt Ward, and Pak C. Wong, who
together with R.D. Bergeron wrote the first survey of the field [185] among their
other contributions. I learned a great deal from Ben Shneiderman’s [159] [160],
[11] fundamental insights and encyclopedic contributions to visualization, and also
from Marti Hearst’s [112], [80] courses, varied interests and stimulating ideas in
information visualization, user interfaces, and text mining. Of great benefit has been
the interaction with the statistics and statistical graphics communities, especially
with Daniel Asimov, Andreas Buja, Jogesh Babu, Dianne Cook [34], Larry Cox,
Daniela Di Benedetto [33], Michael Friendly [62], Heike Hoffman, Catherine
Hurley, Moon Yul Huh [91], Sigbert Klinke, Carlo Lauro [125], Jungi Nakano
[139], Francisco Palumbo et al. [125], David Scott, Valentino Tontodonato [170],
Ritei Shibata et al. [123], Deborah F. Swayne [168], Martin Theus, Luke Tierney,
Simon Urbanek, Antony Unwin [176], Bill Venables, Ed Wegman [184], Adalbert
Wilhelm, Lee Wilkinson and Graham Wills.
Special thanks for their help and encouraement are due to several of my col-
leagues in Israel: Yoav Benjamini, Iddo Carmon, Daniel Cohen-Or, Ronen Feldman,
Camil Fuchs, Dony Gat, Hillel Gauchman, David Gilat, David Levin, Mark Last,
Leonid Polterovich, Eugenii Shustin and Jacob Zahavi.
xxvi Acknowledgments
Over the years, many managers at IBM, among them Lew Leeburg, Baxter
Armstrong, Homer Givin, Jim Jordan, John Kepler, Kevin McAuliffe, Abe Peled,
Bernie Rudin, Arvid Shmaltz, and John Wolff, supported, encouraged and in many
ways helped with this effort.
With patience Ann Kostant, Laura Held, Alicia de los Reyes, and their staff
from Springer most capably encouraged, cajoled, corrected and produced this book.
Special thanks are due Chao-Kuei Hung, who read the whole manuscript and pro-
vided invaluable ideas and corrections. To all these friends and others whom I may
have inadvertently omitted, I offer my profound gratitude. I am especially grateful
to my family for their unswerving multidimensional encouragement, inspiration,
patience, and precious sense of humor; without them I would have never finished.
1
Introduction
For various classes of problems, visual models are constructed that provide insight
through images [132] about the problem. This is an extension of Hamming’s 1962
adage that “the purpose of computing is insight, not numbers.” While the develop-
ment of software and hardware tools has been impressive, concepts broadening
the applicability of visualization have lagged behind. Scientifi visualization for
applications having a physical or geometric basis (e.g., electromagnetic fields,
geography, fluid flow) has blossomed. Yet progress has been slower in information
visualization for fields not endowed with such structure, as in finance, process con-
trol, and communications, where many variables are involved, further complicating
their visual expression.
5
If one takes as an informal but meaningful definition of visual as “affected by light stimulation to
the eyes,” and if the quantity of neurons in the cortex is used as a baseline, then the 50% figure is
the one often quoted by experts. I am grateful to Prof. Enio Mingolla, of Boston University, and
Prof. Simo Vanni, of Helsinski University of Technology, who together with other experts confirmed
this information.
6
Resulting from the axis’ tilt.
7
As an interesting aside, there is strong evidence suggesting that even 3-D perception depends greatly
on our 2-D cognition (see [20], for example).
8
In his combinatorial topology course, Prof. S.S. Cairns lamented the absence of multidimentional
visualization tools, prompting me to share the idea with the class.
1.2 ♣ FT-1 How? 3
Fig. 1.1. In this way, a one-to-one correspondence between points in RN and planar
polygonal lines with vertices on the parallel axes is established.
In principle, a large number of axes can be placed and be seen parallel to each
other. The representation of points is deceptively simple, and much development
with additional ideas is needed to enable the visualization of multivariate relations
or equivalently multidimensional objects. Specifically, the representation of an
M-dimensional object, 2 ≤ M, will be obtained from its (M − 1)-dimensional
subsets. For example, the representation (i.e., image) of a line is obtained from
the polygonal lines representing points on the line, and this turns out to be their
envelope.9 Next, the representation of a plane in R3 is obtained from the represen-
tation of the lines, rather than the points, it contains. This leads to a recursion that
turns out to work spendidly, but we are getting ahead of ourselves. The recursive
construction algorithm is properly considered in Chapter 5 on hyperplanes.
Parallel coordinates (abbreviated -coords) transforms the search for multivari-
ate relations in a data set into a pattern-recognition problem. This is the core reason
for the widespread use in exploratory data analysis (EDA) (also called “visual data
mining”) and the inclusion in software packages starting with EDA (Chomut [30]),
[59], (Hinterberger [156]), Spotfire (Christopher Ahlberg and Ben Shneiderman
[3]), ExplorN (Bolorforoush, Carr et al.), WinViZ (Eickemeyer), VisDB ([119]),
Xmdv ([181]), XGobi ([167]), Strata ([155]), PVE (Adams, Hurwitz, Inselberg,
Chatterjee [9]), and many others. This type of application [101] hinges on:
9
Chapter 6 contains a short intuitive introduction to the theory of envelopes.
1.2 ♣ FT-1 How? 5
and others acknowledged earlier. For data mining, the grand vision is the creation
of algorithms whose input is a massive data set and output 2-dimensional patterns;
the “graph” of multivariate relations discovered in the data and, as described in
Chapter 10, this goal is now within our grasp.
The next chapter provides background in geometry. Readers may skim through
it, referring to specific topics as the need arises. Prior to that, some exploration on
the Internet is worth doing with queries such as:
• Visualization
• Multivariate + Visualization
• Multidimensional + Visualization
• “Scientific Visualization”
• “Information Visualization” or Infovis
• “Parallel Coordinates”
• “Parallel Coordinates + Applications”
• Visualization + Applications
• “Parallel Coordinates” + a specific application.
This page intentionally left blank
2
Geometry Background
2.1 Preliminaries
2.1.1 In the Beginning ...
The Nile’s flooding in Egypt used to destroy landmarks and position markers, raising
the need for reliable measurements and originating the development of geometry
Geo-ω (for land) metry (for measure-μτρια).10 The Rhind Papyrus, which is
in the British Museum, was written by an Egyptian priest named Ahmes about
1,800 B.C.E. It treats the measurement of planar regions and solids. It contains the
2
remarkable approximation of π ≈ 16 9 = 3.1604. The contemporary Babylo-
nians, as well as Chinese, used 3 for the value of π. The value of 3 for π is also
mentioned in the Hebrew scriptures (see I Kings 7:23). A rabbi called Nehemia (p. 5
[74]) proposed the value of 22 7 for π, but apparently it was not accepted. By the
way, only in 1789 was it first proved by J. Lambert that π is an irrational number
and in 1882, F. Lindemann proved that π is transcendental (i.e., it is not the root of
any algebraic equation with rational coefficients). For more enjoyable folklore on
π the reader is referred to [12].
It is fair to consider the Egyptians more as surveyors, who used a collection of
geometrical formulas, mostly approximations, rather than geometers. For proper
attribution, deductive geometry was accomplished by the Greeks, probably begin-
ning with Thales of Miletus (≈ 640–545 B.C.E.), who was familiar with Egyptian
10
This story was reported by Proclus in the fifth century C.E., who wrote the early history of geometry.
Exercises
1. To get a feel for the Mohr–Mascheroni result, using compass only write (and
prove) an algorithm for:
(a) constructing 3 collinear points,
(b) given a segment OA construct a point B such that OB is twice as long as
OA,
(c) bisecting a segment,
(d) trisecting a segment,
(e) given a circle C and two points determining a line l, construct the point
of intersection C ∩ l (be careful here, the line l is not given, but only two
points on the line l are. This is what makes the problem hard).
(f) constructing the point of intersection between two lines (hard).
For a short exposition on the geometry of compasses see [145, (pp. 23–25)] and [36, (pp. 145–151)],
11
quoted in [38].
2.2 ♣ FT-1 Why Projective Geometry? 9
We begin the formal aspects with an excursion into projective geometry, but why?
There are two important concepts and tools that we will need and that are also
widely used in many other fields and applications. They are:
• duality and
• homogeneous coordinates (see [146] for applications of homogeneous coordi-
nates to computer graphics).
Both of these are projective concepts and can be properly understood only in
this context. The experience is quite broadening and will get us “unglued” from the
narrow mindset of Euclidean geometry. For example, entirely new notions, such
as finite geometries, arise naturally. Projective geometry was initially motivated by
the fine arts. The Italian architect Brunelleschi in 1425 first proposed a geometrical
theory of perspective that was formalized by Alberti a few years later. It included
the idea of “points at infinity” and influenced art in a profound way, as shown by
contrasting prior “flat” paintings such as Martini’s Annunciation with those where
“depth” is perceived, such as Leonardo’s Last Supper and Raphael’s Athens, shown
in the chapter on projective geometry by Morris Kline [140, vol. 1, 622–641].
In the absence of photography, realism in drawings had not only artistic but also
great practical value.
12
See also the delightful short paper by Hudson [90].
10 2. Geometry Background
Primitives
• points - P, Q, A
• lines -
, r, s
• planes - π, α, β
• incidence relation - P is incident to
, or P is on
.
Of course, incidence and
containment are not equi-
valent, since P is incident
to
if and only if
is inci-
dent to P ; P ∈
is true and
∈ P is not.
We start with the Eucli-
dean space R3 and add Figure 2.3. Ideal points and augmented lines.
something new. Let π ⊂ R 3
be a plane. To each line
⊂ π we associate an ideal point (“point at infinity”) L∞
such that distinct intersecting lines have distinct ideal points while parallel lines
have the same ideal point. Effectively, then, ideal points signify direction. Since no
distinction is made between the “+” and “−” directions for each line
, one and not
two L∞ need to be appended.
On occasion, the notation Pm∞ is used for ideal points, with m being the slope
of the corresponding direction. The points of R3 are called regular to distinguish
them from the “ideal” ones. Proceeding, we call the pair (
, L∞ ) an augmented
line. Then for r, s ⊂ π,
P ordinary point ⇐⇒ r not s,
(r, R∞ ) ∩ (s, S∞ ) =
R∞ ⇐⇒ r s.
13
The subscript m, in the notation of an ideal point, indicates the corresponding direction, and it is
included only when the direction is relevant.
14
We use homogeneous coordinates only with real values so there is no need to use RP2 as seen
elsewhere, the R distinguishing the real projective plane from others.
2.2 ♣ FT-1 Why Projective Geometry? 13
Figure 2.5. On the left, figure for Exercise 4; and on the right, figure for Exercise 5.
intervals; one containing the ideal point and its complement being the “ordinary”
interval of the Euclidean line.
A very basic though often unfamiliar property of P2 is that it is not orientable.
That is, it is not possible to assign a consistent sense of left and right ([18] p. 372).
This matter arises in various topics in our development, and we shall learn how to
cope with it when the need arises.
Exercises
1. Show that lines are mapped into great semicircles by stereographic projection.
2. Show that stereographic projection preserves angles (i.e., is isogonal)
3. How are circles mapped by stereographic projection?
4. On a piece of paper, as shown in Fig. 2.5 (left), there is a point R and portions of
two lines intersecting at some point T outside the paper. Using only a straight-
edge (ruler), draw the line joining the points R and T (Hint: Use Desargues’s
theorem). From [13, vol. I, p. 119].
5. Given two points R and T and a short ruler, as shown in Fig. 2.5 (right), not
long enough to reach both points, draw the line joining R and T (Hints: Use the
result of the previous exercise and slide the ruler along a line segment.) From
[13, vol. I, p. 119].
Proof. We need to show that p∞ satisfies the axioms for lines, namely axioms 3
and 4.
Let (
, L∞ ) be any augmented line on (π, p∞ ). Since p∞ is the collection
of all ideal points on the augmented plane, (
, L∞ ) ∩ p∞ = L∞ , so axiom 3 is
satisfied.
Let (π
, p
∞ ) be an augmented plane not containing p∞ ; therefore π
is not
to π. Hence π ∩ π
=
⇒ (π, p∞ ) ∩ (π
, p∞
) = (
, L ), where L is the ideal
∞ ∞
point associated with
.
Two excellent references for projective geometry are [7] and [39].
Exercises
1. Show that the ideal points satisfy the axioms of points.
2. Show that augmented lines satisfy the axioms of lines.
3. Show that augmented planes satisfy the axioms of planes.
4. Show that the ideal plane π∞ satisfies the axioms of a plane.
proved by Pappus in the third century C.E. Using the notation ·, instead of ∩,
for intersection Pappus’s theorem states that for any distinct points Ai on a line
r and any distinct points Bi on a line s, where i = 1, 2, 3, the points Ci , where
Ci = Aj Bk · Ak Bj for j = k = i, are always on a line p. The dual theorem
is obtained simply by interchanging the words point ↔ line. In our notation it is
2.2 ** Finite Geometries 19
equivalent to switching lowercase ↔ capital letters as follows: for any distinct lines
ai on a point R and any distinct lines bi on a point S, where i = 1, 2, 3, the lines ci ,
where ci = aj bk · ak bj for j = k = i, are always on a point P . No further proof
is needed!
Figure 2.15. “Pictures” for 13-point geometry. There are four “lines” on each point and vice versa.
On the right, the points are indicated in bold numbers and lines in italics.
and ∀ points X ∈ {A, . . . G}. The lines/curves joining the • in the picture have
no significance other than showing the association of the points belonging to a
particular line.
2.3 ** Finite Geometries 21
↓ lines 1 2 3 4 5 6 7 8 9 10 11 12 13 ← points
1 1 2 3 4
2 1 5 6 7
3 1 8 9 10
4 1 11 12 13
5 2 5 8 11
6 2 6 9 12
7 2 7 10 13
8 3 5 9 13
9 3 6 10 11
10 3 7 8 12
11 4 5 10 12
12 4 6 8 13
13 4 7 9 11
Figure 2.16. Incidence matrix for the 13-point geometry.
Exercises
1. Prove the 3-D dual shown in Fig. 2.12, i.e., that three noncollinear planes are
on a point, using only the projective 3-D space axioms.
2. The second axiom may be weakened to 2a: “If p and q are distinct lines, there
is at least one point on on both lines.” Prove that with axiom 2 replaced by 2a
above, the resulting set of points and lines also satisfies the projective plane
axioms.
3. Prove that in a finite geometry with n points on any line there are n2 − n + 1
points (or lines) altogether.
4. Construct diagrams for the geometries with n = 5 and 6 points and try to
generalize. This is hard: you may want to look up a topic in combinatorics
called “Latin squares.”
22 2. Geometry Background
Figure 2.17. Homogeneous coordinates. Correspondence between points P in the x1 x2 -plane and
lines p through the origin in 3-D.
P = (a1 , a2 ) ∈ x1 x2 -plane
is established. Since p can be identified by any one of its points (ka1 , ka2 , k) for
k = 0, the correspondence can be alternatively written as
That is, (k1 a1 , k1 a2 , k1 ) and any other multiple (k2 a1 , k2 a2 , k2 ) for k1 = k2 rep-
resent the same point, since they both lie on the same line p. These triples are the
point coordinates of P .
Let us return to Fig. 2.17 and imagine the point P moving farther away from
the origin but always in the direction with slope m = aa21 approaching the ideal
point in this direction. The point coordinates of P are (a1 , a2 , 1) or (1, m, a11 ), and
as a1 → ∞ the ideal point is represented by the triples (ka1 , ka2 , 0) for k = 0.
The important realization is that the 0 in the third component identifies ideal points.
This system is called homogeneous coordinates, allowing the representation both
ordinary and ideal points, something that cannot be done with Cartesian coordinates;
it has other nice properties as well.
Appealing to duality, a line x can be represented as an ordered triple of real
numbers that is distinguished from a triple representing points using capitals for the
coordinates themselves and “[ ]” instead of “( )” as
again with the convention that [kX1 , kX2 , kX3 ], ∀k = 0, represents the same line.
These triples are called line coordinates. So (1, 2, 3) represents a point and [1, 2, 3]
a line. Actually, this is quite reasonable, for consider a line described in Cartesian
coordinates by
A1 x1 + A2 x2 + A3 = 0. (2.1)
X · x = x · X = x1 X1 + x2 X2 + x3 X3 = 0.
y1 X1 + y2 X2 + y3 X3 = 0,
z1 X1 + z2 X2 + z3 X3 = 0,
w1 X1 + w2 X2 + w3 X3 = 0.
y2 y3 y3 y1 y1 y2
, (2.4)
z2 z3 z3 z1 , z1 z2
.
+ 0 1 × 0 1
0 0 1 0 0 0 .
1 1 0 1 0 1
Now we collect all triples (x1 , x2 , x3 ) except (0, 0, 0) and label them:
Note that each point is on two lines; for example A is on the lines having X3 = 0.
Similarly, other finite geometries can be coordinatized using the appropriate algebra
Jp of integers modulo p, that is, the set of integers {1, 2, . . . , p − 1} with addition
and multiplication analogously defined (see a book on modern algebra). To clarify,
let us use J3 to coordinatize the 13-point geometry. Excluding (0, 0, 0), there are
26 triples (a1 , a2 , a3 ), ai ∈ J3 , with the multiples k(a1 , a2 , a3 ), k = 0 ∈ J3 , also
representing the same point. The only multiple of interest is 2(a1 , a2 , a3 ), which
equals (a1 , a2 , a3 ) for ai ∈ J3 , yielding 13 distinct triples. Similarly, with J4 there
63 nonzero triples whose multiples by 2 or 3 are the same in that algebra, yielding
21 distinct triples, which can therefore serve as the homogeneous coordinates of
the 21-point geometry (Exercise 3 below).
p(A, B, C, D, . . . ) ∧ p
(A
, B
, C
, D
, . . . ).
P
The two lines are said to be in perspective with respect to the point P , which
may be indicated above the ∧ symbol. Of course, there is the dual concept, shown
in Fig. 2.20, of two points P , P
being in perspective with respect to a line p
denoted by
P (a, b, c, d, . . . ) ∧ P
(a
, b
, c
, d
, . . . ).
Proof. We give an elementary proof in the Euclidean plane, leaving the projective
aspects for the exercises. With reference to Fig. 2.21,
IP·AC areaAPC AP·CP sin(APC)
IP·BC areaBPC BP·CP sin(BPC)
(A, B; C, D) = IP·AD
= areaAPD
= AP·DP sin(APD)
,
IP·BD areaBPD BP·DP sin(BPD)
or
sin(APC) · sin(BPD)
(A, B; C, D) = ± . (2.5)
sin(BPC) · sin(APD)
28 2. Geometry Background
P P Pn−1
p1 ∧1 p2 ∧2 . . . ∧
pn .
Exercises
1. Show that the 24 distinct permutations of four symbols A, B, C, and D result
in exactly six different values of the cross-ratios as formed from these four
symbols (corresponding to four points on a line)
2. Prove Theorem 2.5.1 when the perspectivity is with respect to an ideal point.
3. Prove Theorem 2.5.2 in the Euclidean plane and also with a perspectivity with
respect to an ideal point.
4. Prove Theorem 2.5.3 in the Euclidean plane and also with a perspectivity with
respect to an ideal point.
s and s
(as in Fig. 2.21, see lines p and p
), four points and their corresponding
single homogeneous coordinates indicated by (), P : (p), Q : (q), R : (r), X : (x)
are chosen to form the cross-ratio
(p − r)(q − x)
(P , Q; R, X) = .
(p − x)(q − r)
Similarly, the cross-ratio
(p
− r
)(q
− x
)
(P
, Q
; R
, X
) =
(p
− x
)(q
− r
)
is formed with the corresponding points P
: (p
), Q
: (q
), R
: (r
), X
: (x
) on
s
. By the cross-ratio invariance, under a projectivity, we have
(P , Q; R, X) = (P
, Q
; R
, X
), (2.6)
yielding
ax + b
x
= . (2.7)
cx + d
The a, b, c, d are given in terms of the coordinates p, q, r, p
, q
, and r
, and their
actual values are immaterial to the development. This is a linear fractional transfor-
mation, also called a Möbius transformation, completely specifying the projectivity
s ∧ s
. Reverting back to the ratio obtained from the homogeneous coordinates, i.e.,
x = x1 /x2 and x
= x1
/x2
, we obtain from (2.7),
x1
ax1 + bx2
= . (2.8)
x2 cx1 + dx2
Then rewriting the homogeneous coordinates of a point on a line in terms of two
components as X = (x1 , x2 ), see Fig. 2.18, we get
x
1 ax1 + bx2
k ,1 = ,1 .
x2
cx1 + dx2
k(x1
, x2
) = (ax1 + bx, cx1 + dx2 ),
kx1
= ax1 + bx2 , kx2
= cx1 + dx2 (2.9)
2.6 ** The Linearized Projective Transformations 31
T = T4 ◦ T3 ◦ T2 ◦ T1 ,
= , i = 1, 2, . . . , n, (2.10)
b1i x1
+ b2i x2
+ · · · + bN,i xN
+b
(N +1),i
=
i , xj
= , j = 1, 2, . . . , (n + 1).
x(N+1) x(N +1)
are homogeneous
coordinates.
T (x) = ax (2.11)
32 2. Geometry Background
is linear and is called scaling when a > 0, a = 1; then it is a contraction for a < 1
and a stretching, or magnificatio , when a > 1. For complex a = r(cos θ + i sin θ),
the result is a rotation of x by an angle θ about the origin as well as a scaling by r.
By contrast, translation
T (x) = x + a (2.12)
and inversion or perspective
1
T (x) = (2.13)
x
are not linear, and for these the linearization, accomplished via homogeneous
coordinates, enables the transformations to be expressed in matrix form. This is
of importance in such applications as computer graphics and geometric modeling.
The rotation P
= PR(θ) by an angle θ about the origin is
⎛ ⎞
cos θ sin θ 0
PR : (x1
, x2
, c) = (x1 , x2 , c)⎝ − sin θ cos θ 0 ⎠. (2.15)
0 0 1
= P
T2 (t12 , t22 ), the result is P
= xi + ti1 + ti2 .
The matrices commute with respect to multiplication, as they should, since the
result of successive translations does not depend on their order.
The composition of scalings, rotations, and translations is obtained by the
multiplication of the corresponding matrices. In addition, the matrices are sparse
(i.e., they have many zeros), and the computational advantage is tremendous.
Let the matrices for the rotation about the xi -axes by an angle θ be denoted by
PRi (θ), i = 1, 2, 3. The rotation about x3 is given by
⎛ ⎞
cos θ sin θ 0 0
⎜ − sin θ cos θ 0 0 ⎟
PR3 : (x1
, x2
, x3
, c) = (x1 , x2 , x3 , c)⎜
⎝
⎟, (2.18)
0 0 1 0 ⎠
0 0 0 1
and is a direct extension of the 2-D rotation. The two other rotation matrices are
⎛ ⎞
1 0 0 0
⎜ 0 cos θ sin θ 0 ⎟
PR1 (θ) = ⎜ ⎝ 0 − sin θ cos θ 0 ⎠ ,
⎟
0 0 0 1
⎛ ⎞ (2.19)
cos θ 0 − sin θ 0
⎜ 0 1 0 0 ⎟
PR2 (θ) = ⎜ ⎝ sin θ 0 cos θ
⎟.
0 ⎠
0 0 0 1
34 2. Geometry Background
Denote the perspective transformation matrix by V [πper , Cper ], where πper and
Cper are the perspective plane and center respectively. For the setup in Fig. 2.23,
P
= PV[x3 = 0, (0, 0, −d)], and explicitly,
2.7 ** The Linearized Projective Transformations 35
⎛ ⎞
1 0 0 0
⎜ 0 1 0 0 ⎟
(x1
, x2
, 0, w) = (x1 , x2 , x3 , c)⎜
⎝ 0
⎟, (2.22)
0 0 1/d ⎠
0 0 0 1
with the relation between c and w emerging next. The perspective image of an
ideal point P = (1, x2 /x1 , x3 /x1 , 0), called a vanishing point, is the ordinary point
P
= (x1
, x2
, 0, x3 /d) = (dx1 /x3 , dx2 /x3 , 0, 1). Hence
x3 x1 x2
w= + c, x1
= , x2
= , x3
= 0.
d w w
All projective transformations can now be performed successively by matrix mul-
tiplication. The matrix of the perspective transformation, unlike those of other
projective transformations, is singular, confirming that an object cannot be uniquely
retrieved from its perspective image.
with d the directed distance of π from O. It is an easy matter to verify that the
directed distance p of π from the point P = (p1 , p2 , p3 ) is given by
With reference to Fig. 2.25, the coordinate system x1 , x2 , x3 is rotated about the
origin O to the system x1
, x2
, x3
, all points remaining stationary with a point P
having two sets of coordinates (x1 , x2 , x3 ), (x1
, x2
, x3
). Our task is to find the
relationship between them. Letting the direction cosines of the xi
axes with respect
to xi be cos αi , cos βi , cos γi for i = 1, 2, 3 respectively, we obtain
x2
x3
: x1 cos α1 + x2 cos β1 + x3 cos γ1 = 0,
xj
xk
: x1 cos αi + x2 cos βi + x3 cos γi = 0, i = j = k. (2.29)
xi
= x1 cos αi + x2 cos βi + x3 cos γi . (2.30)
For consistency with Section 2.7, (2.30) and (2.31) are rewritten in homogeneous
coordinates and in matrix form:
⎛ ⎞
cos α1 cos β1 cos γ1 0
⎜ cos α2 cos β2 cos γ2 0 ⎟
(x1
, x2
, x3
, 1) = (x1 , x2 , x3 , 1)⎜ ⎟
⎝ cos α3 cos β3 cos γ3 0 ⎠ , (2.32)
0 0 0 1
⎛ ⎞
cos α1 cos α2 cos α3 0
⎜ cos β1 cos β2 cos β3 0 ⎟
(x1 , x2 , x3 , 1) = (x1
, x2
, x3
, 1)⎜ ⎟
⎝ cos γ1 cos γ2 cos γ3 0 ⎠ . (2.33)
0 0 0 1
From the vector and matrix form, the generalization to RN is direct, with a
slight change in notation denoting the direction angle between the xi axis and a
directed line
⊂ RN by αi and the unit vector in the direction of
:
N
N
ˆ = êi cos αi , cos2 αi = 1. (2.35)
i=1 i=1
1 1 1 1 1 1
a =
, , = [0, 1, −1].
0 0 0 1 1 0
For a point A
= (a, a1 , a2 ) ∈ a
, where A = A
, the collinearity of P , A, A
and
(2.3) yield
a a1 a2
1 1 1 = 0,
1 0 0
which shows that a1 = a2 . Since these values are arbitrary, we can take A
=
(a, 1, 1). Similarly, we obtain the line coordinates b
= [1, 0, −1], c
= [1, −1, 0]
and the point coordinates B
= (1, b, 1), C
= (1, 1, c). Let r be the line determined
by A and B. Then
0 0 0 1 1 0
r= , , = [0, 0, 1].
1 0 0 0 0 1
40 2. Geometry Background
1 1 a 1 a 1
r =
, , = [1 − b, a − 1, ab − 1].
b 1 1 1 1 b
= (1 − a, b − 1, 0).
2.9 ** Analytic Proofs 41
S = BC · B
C
= s ∩ s
= (0, 1 − b, c − 1),
T = AC · A
C
= t ∩ t
= (a − 1, 0, 1 − c).
showing that R, S, and T are always collinear, proving Desargues’s theorem in the
projective plane.
P = c1 A + c2 A
. (2.36)
P = A − A
. (2.37)
P = B − B
, P = C − C
. (2.38)
Then
A − B = A
− B
. (2.39)
A − B = A
− B
= R = AB ∩ A
B
. (2.40)
42 2. Geometry Background
Continuing, we obtain
C − A = C
− A
= T = AC ∩ A
C
, B − C = B
− C
= S = BC ∩ B
C
.
(2.41)
Altogether,
R + S + T = A − B + C − A + B − C = 0, (2.42)
Open the ILM: set Chapter = Geometry and click on “Lock Guides.”
The display shows Desargues’s theorem with the three intersection
points R, S, T collinear.
Click and move any of the red triangle vertices along the lines.
The three points R, S, T remain collinear.
Exercises
1. Provide an analytic proof of Pappus’s theorem.
2. Generalize and find the representation of the ideal elements of (R3 , p∞ ) in
terms of ordered quadruples.
3. Generalize the representation of the ideal elements of PN in terms of ordered
(N + 1)-tuples.
Figure 2.28. Ellipse (point-curve) and hyperbola (line-curve). Projective conics are ellipses.
Figure 2.29. Ellipse (left), parabola (center), and hyperbola (right) in the projective plane model.
Figure 2.30. Pascal’s theorem (a) and its dual, Briachnon’s theorem (b).
Briachnon proved the result depicted in Fig. 2.30 in 1806, which turned out to be
the dual of Pascal’s theorem.
where not all components are zero. Dually, a hyperplane π is represented by the
(N + 1)-tuple
where again not all components are zero, these being the hyperplane coordinates
of π. The on relation as before is defined by the inner product of the coordinates,
i.e.,
N +1
P on π ⇐⇒ xi Xi = 0.
i=1
46 2. Geometry Background
Exercises
Show that the set of all linear fractional transformations (i.e., the projective
transformations) with the composition operation form a group.
The group of projective transformations has important special cases that form sub-
groups of transformations, i.e., subsets that are groups. With slight changes in the
notation, consider the case of translations, for which the b’s in the denominator of
(2.10) are zero except for the last one, i.e.,
x
= xA + c,
with row vectors denoted in bold, e.g., x, and A is an N × N matrix. In general, a
mapping
L:D→D
is a linear transformation if it preserves linear combinations, i.e.,
L(ax + by) = aL(x) + bL(y).
A general affin transformation can be written as
T (u) = L(u) + c,
2.11 ** Geometries and Invariants 47
x
= xA + c
and consider the case where the matrix has the property AAT = λ2 I , where λ is
real and T denotes the transpose of a matrix. This is the similarity group. First take
the case c = 0. The square of the length, |x|, of x is given by x · x = xxT and is
called the norm of x. For the similarity transformation x
= xA, we have
x
· x
= (xA) · (xA) = λ2 x · x.
Effectively, |x| has been amplified by ±λ. For two vectors x, y, under similarity we
obtain
x
· y
= λ2 x · y x · y = |x| · |y| cos(x, y),
|x
| · |y
| cos(x
, y
) = λ2 |x| · |y| cos(x, y).
Therefore, x⊥y ⇐⇒ x
⊥y
, and in general, cos(x
, y
) = cos(x, y). So under
similarity, the ratio of distances and angles between vectors is preserved, or
|x
| |x|
= .
|y | |y|
d(x
, y
) = [(x
− y
) · (x
− y
)T ]1/2 = [(x − y)AAT (x − y)T ]1/2
x
= x + c
form the rigid motions, which are the invariants of Euclidean geometry.
To recapitulate, as pointed out by Klein, the above geometries are projective
geometries with additional conditions. For example, affine geometry is obtained by
selecting any line in a projective geometry and considering only the transformations
leaving that line invariant. This line plays the role of the ideal line and can be
safely ignored. The reader is referred to [163], [157] for background and history
of N-dimensional geometry, and to [152], [18] for learning more about the various
geometries. Aspects of differential geometry, starting with a short chapter on the
theory of envelopes, are covered later in the study of curves and surfaces.
3
: x2 = mx1 + b, (3.1)
15
See section on duality in Chapter 2.
Figure 3.2. In the plane, parallel coordinates induce a point ←→ line duality.
m → 1,
¯ → ∞ in a constant direc-
tion. This is further clarified in Fig. 3.3,
showing that the lines representing points
of a line with m = 1 are parallel with
slope b/d. This is why a line with m = 1
is represented by the ideal point in the
direction with slope b/d. Use of the pro-
jective plane allows the inclusion of lines
with m = 1 to complete the one-to-one
correspondence between lines and points
↔
¯ as given by (3.1) and (3.2).
From now on, the x1 x2 and xy Figure 3.3. Lines representing points
planes are considered as two copies of the on the line x2 = x1 + b.
3.1 The Fundamental Duality 51
It is clear that lines with m = 1 are represented by the ideal points (d, b, 0). The
horizontal position of
¯ depends only on the slope m, as illustrated in Fig. 7.11.
Specifically, for vertical lines
: x1 = c, m = ∞ and
¯ is at y = c on the y-axis,
while for horizontal lines,
: x2 = a (i.e., m = 0),
¯ is at x = a (on the x-axis).
Lines with negative slope are represented by points between the parallel axes, lines
with 0 < m < 1 by points to the right of the X̄2 -axis, and lines with 1 < m by
points to the left of the X̄1 -axis. This explains why the representation of a point
P is taken as the whole line P̄ , rather than a segment, for the intersection of the
line P̄ with points P ∈
may lie outside the strip between the axes. It is clear that
parallel lines having the same slope are represented by points on the same vertical
line, a property that turns out to be very useful. Therefore, the ideal point Pm∞ is
represented by the vertical line x = 1−m 1 shown in Fig. 3.5 and represents all the
lines with slope m.
For complete generality, we use the line description
: a1 x1 + a2 x2 + a3 = 0, (3.4)
52 3. ♣ FT-1 The Plane with Parallel Coordinates
Figure 3.4. The horizontal position of
¯ depends only on the slope m of
. See (3.4) and (3.5) for
the case m = ±∞.
Figure 3.5. Under the duality, parallel lines map into points on the same vertical line. In the
projective plane model, the great semicircles representing the lines share the same diameter, since
the lines have the same ideal point.
3.1 The Fundamental Duality 53
¯
In turn, this specifies a linear transformation between the triples
and
:
¯ = A
,
= A−1
,
¯
For the other half of the duality, using homogeneous coordinates we look carefully
into the point–line P → P̄ correspondence illustrated in Fig. 3.6. The point P =
(p1 , p2 , p3 ) = (p1 /p3 , p2 /p3 , 1), p3 = 0, is represented in the xy plane by the
line P̄ with slope (p2 − p1 )/dp3 . Hence
P̄ : (dp3 )y = (p2 − p1 )x + d p1 ,
so that
Figure 3.6. A point P = (p1 , p2 , p3 ) = (p1 /p3 , p2 /p3 , 1), p3 = 0, is represented by a line P̄ .
The ideal point Pm∞ = (p1 , p2 , 0) = (1, p2 /p1 , 0) has direction with slope m =
p2 /p1 . Therefore, P̄m∞ = [(p1 − p2 ), 0, −dp1 ] = [1 − m, 0, −d], which is the
vertical line at x = d/(1 − m), as expected (see also Fig. 7.11). Considering
P and P̄ as column vectors, we can write the above correspondence as a linear
transformation:
P̄ = BP, P = B −1 P̄ ,
with
⎡ ⎤ ⎡ ⎤
−1 1 0 0 0 1/d
B=⎣ 0 0 −d ⎦ , B −1 = ⎣ 1 0 1/d ⎦ . (3.8)
d 0 0 0 −1/d 0
So, in -coords there is a fundamental point ↔ line duality, formalized by (3.5)
and (3.7). Curiously, for d = 1, AT = B −1 . Altogether, then, we have the
A B
transformations line
−→
¯ point and point P −→ P̄ line. We can continue
A B ¯¯ ¯¯ That
with
−→
¯ −→
, but in general, the line
is not the same as the line
.
is, B(A
) =
, and likewise, A(BP) = P (see Exercises 2, 3). By the way, the
matrices A, B are quite sparse (i.e., have many zeros), and since usually d = 1, the
computation to and from -coords is not too costly.
3.1 The Fundamental Duality 55
Figure 3.7. Motivation for the notation X̄i of the axes; note the position of the x̄i . Two lines
x1 = a, x2 = b on the point P (left) whose images are two points ā, b̄ on the line P̄ (right). The
axis X̄1 represents the ideal point in the vertical direction (hence x̄2 is on it) and X̄2 in the horizontal
(with x̄1 on it).
point-curve ↔ point-curve
16
As explained in the chapter on envelopes.
56 3. ♣ FT-1 The Plane with Parallel Coordinates
Exercises
1. Verify (3.2). Hint: the lines Āi , i = 1, 2, are on the points (0, ai ), (d, mai + b)
of the xy plane and
¯ = Ā1 ∩ Ā2 .
2. Apply
→
¯ →
¯¯ → · · · . Does the pattern repeat? That is, do we have
A B
in the direction of increasing x (i.e., to the right) until the line’s slope is 1 when
¯ passes through the ideal point and “returns” to the Euclidean plane now, to the
left of the X 1 -axis but still moving to the right. Dually, a translation of point A
in the positive direction along a line
(taken for convenience coincident with the
x1 -axis) corresponds to the rotation of the line Ā in the clockwise direction. The
corresponding dualities in higher dimensions, which we will meet in due course,
are especially useful.
2. Circle inversion, denoted by C 1 , with respect to the circle centered at 21 , 0
2
and radius 21 . We know that the vertical line P̄m∞ at x = 1/(1 − m) represents
all lines with slope m. The tangent from the point
¯o = P̄m∞ ∩x-axis, Fig. 3.11,
touches the circle at the point
¯1 whose x-coordinate is 1/(1 + m). So the
3.2 Transformations under the Duality 59
Figure 3.12. (a) Square, (b) 3-D cube, (c) 5-D hypercube, all with edges of unit length.
The family of lines orthogonal to those with slope m is found with the composition
R 1 C 1 (P̄m∞ ) = P̄ ∞1 .
2 2 −m
∞ from 1 , 0
The x-distances a, b (shown in Figures 3.10 and 3.11) of P̄m∞ and P̄−m 2
are
(1 − m) 1+m
a=− , b=− ,
2(1 + m) 2(1 − m)
3.3 A Preview 61
3.3 A Preview
A glimpse of what lies ahead is seen in Fig. 9.1. In part (a) we see a square with unit
side in Cartesian and dually in parallel coordinates. Note that the edge AB is the point
represented by the intersection of the lines Ā with B̄ representing the corresponding
two vertices. The situation becomes more interesting in part (b), where a cube with
unit side and its image are shown. The collection of all vertices has coordinates that
are all possible ordered triples of 0’s and 1’s. Therefore the cube’s image consists
of two adjacent copies of the square’s image. Note the polygonal line indicated as
the image of the vertex E = (1, 0, 0), for example. It is clear that all vertices are
included in the image. Also, the connection with the square and the symmetry of
the cube are suggested, but not clearly understood, in the “double-square” image.
In due course, we will see that this image contains all the information about the cube,
namely, the edges and faces as well as the interior and exterior. Whereas we do not
know how to show a hypercube in 5-D or higher in Cartesian coordinates, there is no
problem doing so in parallel coordinates, as seen in part (c) of the figure, and with,
as we shall eventually show, all the information present. We will also see that the
images with repetitive patterns represent objects with high symmetry more general
than the hypercube. The reason this works is that our duality has nice generalizations
to higher dimensions, which is our next topic. Though the ensuing development is
carried out in the projective plane, it works out that we can still use all the Euclidean
notions of angle, distance, etc. as long as ideal elements are not involved.
Exercises
1. Draw in Cartesian and parallel coordinates a point P = (p1 , p2 ) and a line
before and after:
(a) the translation of the origin to the point (a1 , a2 ),
(b) the reflections about the x1 and x2 axes,
(c) the rotation of the axes about the origin by an angle θ,
(d) the composition of a translation followed by a rotation.
2. Given a family of lines L having slope m, generalize the transformations
in Section 3.2.2 to construct the family of lines Lθ at an angle θ with the
lines in L.
This page intentionally left blank
4
Multidimensional Lines
There are several point ↔ line dualities (such as the very useful Hough transform) in the
plane that do not generalize well for higher dimensions. This is because the natural duality
is point ↔ hyperplane in projective N-space PN with point ↔ line when N = 2. However,
in -coords there is a useful and direct generalization, which is the subject of this chapter.
At first the basic idea for lines in RN , rather than PN , is derived intuitively, paving the way
for the general case, which is treated subsequently (as in [106] and [107]).
each equation containing a pair of adjacently indexed variables. In the xi−1 xi plane,
the relation labeled
i−1,i is a line, and by our point ↔ line duality of Chapter 3, it
can be represented by a point
¯i−1,i . To clarify matters, the situation is illustrated
in Fig. 4.1 with an example in R5 . A straightforward extension of the 2-D duality
is that a point A = (a1 , a2 , a3 , a4 , a5 ) is in
when the polygonal line Ā is on
each of the points
¯12 ,
¯23 ,
¯34 ,
¯45 representing the four linear relations of (10.5)
for N = 5. Let Ā(i−1),i denote the (i − 1, i) portion (line) of Ā on the points
(ai−1 , 0), (ai , 0). Then Ā12 on
¯12 ⇒ (a1 , a2 ) satisfies the
12 relation, and suc-
cessively (a2 , a3 ), (a3 , a4 ), (a4 , a5 ) satisfy the
23 ,
34 ,
45 relations respectively.
Hence in -coords we can see a line
⊂ RN , as represented by N − 1 points
¯ with
two indices, and its points A ∈
represented by the Ā on all the
. ¯
Unless otherwise stated, from now on, the distance between each pair of adja-
cent axes is taken as one unit, as shown in Fig. 4.2. Since the y-axis is not coincident
with the X̄i−1 -axis, the x-coordinate of the point representing the line
i−1,i (see
(3.3) and Fig. 3.2) needs to be translated by (i − 2). That is,
1 bi
¯i−1,i = + (i − 2), ,
(1 − mi ) (1 − mi )
4.1 ♣ FT-1 Representing Lines in RN 65
Then
⎧
⎪
⎪
1,2 : x2 = m12 x1 + b21 ,
⎪
⎪
⎪
⎪
1,3 : x3 = m13 x1 + b31 ,
⎪
⎪
⎨
: ··· (4.3)
⎪
⎪
1,i : xi = m1i x1 + bi1 ,
⎪
⎪
⎪
⎪
⎪ ···
⎪
⎩
1,N : xN = m1N x1 + bN 1,
With the axes placed 1 unit apart, the distance between X̄i and X̄1 (which is
coincident with the y-axis) is i − 1. This brings the point
¯1,i between the axes
X̄1 , X̄i when m1i < 0, to the left of X̄1 when m1i > 1, and to the right of X̄i when
0 < m1i < 1. All the remarks about indexing pertain equally well to this or any
other representation of
.
4.1 ♣ FT-1 Representing Lines in RN 67
♣ FT-1e
Two-Point Form
The representation of a line
independent of parametrization can best be constructed
from two of its points. Starting with
ij : j xi − i xj + Di,j = 0, (4.8)
for all i, j ≤ N. When i and j are not both zero, (4.8) actually defines a line
that is represented by the point
where as usual, the distance between adjacent coordinate axes is 1. The relevant
transformations here are
where
⎛ ⎞
(i − 1) (j − 1) 0
Aij = ⎝ 0 0 −1 ⎠
1 1 0
70 4. Multidimensional Lines
and
⎛ ⎞
1 0 (1 − j )
(i − j )A−1
ij = ⎝ −1 0 (i − 1) ⎠ .
0 (j − 1) 0
There are still some important considerations missing, which are completed in
Section 4.1.4.
18
Two triangles in perspective from a point are in perspective from a line.
4.1 ♣ FT-1 Representing Lines in RN 71
Figure 4.6. The collinearity for the three points
¯i,j ,
¯j,k ,
¯i,k . The two indicated triangles (blue
and red) are in perspective with respect to the ideal point in the vertical direction. The y-axis is off
scale.
Lines in a Plane
An important special case is that for any line
in R3 , the three points
¯1,2 ,
¯1,3 ,
¯2,3 are always collinear. In turn, this provides an important corollary.
72 4. Multidimensional Lines
in a plane π ⊂ R3 .
In -coords, the three-point collinearity property applied to the three points
¯12 ,
¯13 ,
¯23 determines
a line L̄, and similarly,
determines the line L̄
. Denoting the intersection point by π̄123 = L̄ ∩ L̄
,
the line L̄
π : c1 x1 + c2 x2 + c3 x3 = c0 ,
Exercises
1. Consider a line
⊂ RN whose description, by a set of linear equations, contains
xi = ci , a constant, for some i.
(a) How would such a line be represented?
(b) Can such a line be represented by N − 1 indexed points?
2. Prove the property illustrated in Fig. 4.7
3. Given a line
and the N − 1 points
¯i−1,i , i = 2, . . . , N, provide an algorithm
for determining the point
¯ij , for any distinct pair i, j , and state its complexity;
see Fig. 4.4.
4. For lines such that some of the m’s are close to 1, their representation becomes
problematic. Find a transformation that can always convert points outside the
axes to equivalent points between the axes. Write an algorithm to perform this
transformation so that all points representing a line are between the axes. What
is the algorithm’s complexity?
♣ FT-2e
where 2A = [B ⊆ A] denotes the power set of a set A, the set of all subsets of A,
and RN is embedded in the projective N-space PN . The 2[1,2,... ,N] in the product
pertains to the indexing by subsets of [1, 2, . . . , N].
The answer to “how can RN be mapped into the plane R2 without loss of
information?” is found by examining the cardinality19 of the domain and range
19
Only elementary considerations are needed. For example, the sets of rational numbers and real num-
bers R have cardinalities ℵ0 and ℵ1 respectively. The comparison ℵ0 < ℵ1 signifies the nonexistence
of a one-to-one and onto mapping from the rationals to the reals. For more on the fascinating topic of
infinite sets and cardinal numbers see any good text on set theory.
74 4. Multidimensional Lines
Figure 4.8. A point P i = (p1i , p2i , . . . , pji , . . . , pNi ) represented by N points pji with one index.
of J . Let |A| denote the cardinality of a set A and recall that by taking the
finite product of a set with itself the cardinality remains invariant. For our specific
case,
|2R | = |2R | = ℵ2 .
2 N
|R| = |R2 | = |RN | = ℵ1 ⇒
With the domain and range having the same cardinality, the construction of a one-
to-one mapping J is possible; what is left is to actually do it. “The devil is in the
details,” as sages have told. The image J (B) of a set B ⊂ PN is given in terms
of the xy Cartesian coordinates superimposed on the parallel axes with J (B) =
J (C) ⇔ B = C. At this stage we can get a glimpse of the mapping’s recursive
construction algorithm, the recursion being on the dimensionality of the object
being represented.
Rather than using a polygonal line for P̄ i , for consistency with what follows,
the representation is also given in terms of indexed points in the xy plane.
Specifically, P i ∈ PN is mapped into (or represented by) N points with
one index, as shown in Fig. 4.8. Of course, this is completely equivalent to
its polygonal line representation, where the indexing sequence provides the
straight-line connectivity when needed.
4.1 ♣ FT-1 Representing Lines in RN 75
Nr + nr = N + 1.
Nr + nr = (N − 1) + 2 = N + 1.
S = (i1 , i2 , . . . , iM )
and 1 ≤ i1 < i2 < · · · < iM ≤ N , and let S̃ be the complementary set of indices.
For the example shown in Fig. 4.9, S = (1, 3, 4, 5, 8, 9) and S̃ = (2, 6, 7). Note
that two lines
1 and
2 are parallel if and only if
• S1 ≡ S2 = S and
• for all ir = is in S1 the
¯ir ,is have the same abscissa for both lines.
In other words, the
¯ir ,is for each pair ir is ∈ S lie on a vertical line as in the 2-D
case discussed in Chapter 3. Clearly, consideration of S˜i , i = 1, 2, is not needed,
since xi and xj constant implies that
is orthogonal to the xi xj plane.
20
Also cited in [54] is [137], which has a collection of different proofs for the same result.
4.1 ♣ FT-1 Representing Lines in RN 77
Figure 4.9. Tree with 5 as the root corresponds to x5 being the start variable. The isolated vertices
have indices S̃ = (2, 6, 7).
As in the previous cases, it is clear that the horizontal position of the point
¯i,j is
determined by the slope m . Specifically, for i < j ,
¯i,j is to the left of the X̄i -axis
j
i
j j
for mi > 1, between the X̄i - and X̄j -axes for mi < 0, and to the right of the
X̄j -axis for 0 < mi < 1. The construction of a point on
given
¯ is illustrated
j
78 4. Multidimensional Lines
in Section 4.1.5. Once a value is assigned to any variable with index in S via the
¯i,j ’s, all other variables with indices in S are known. Since variables in S̃ are also
known, all the N coordinates of a point on
are known.
Two-Point Form
The general two-point form representation, obtained in a completely analogous way,
is given by the following theorem:
Theorem 4.1.2 (Representation of a line
⊂ RN : Two-Point Form) Any line
in RN can be represented by N − 1 points, where M − 1 points (some possibly
ideal), one for each edge connecting variable i and variable j , are given by
¯i,j = (xi,j , yi,j ),
where for i = j the point coordinates are
(j − i)i − (i − 1)(i − j ) pi,1 pj,2 − pi,2 pj,1
xi,j = , yi,j = , (4.17)
i − j j − i
and for i = j , the ideal point (direction) is
xi,j = j − i, yi,j = pj,1 − pi,1 . (4.18)
In this case, pj,2 − pi,2 = pj,1 − pi,1 , and there N − M points given by
(k − 1, xk ), (4.19)
one for each k ∈ S̃. By the definition of
¯i,j , the three points (i − 1, xi ),
¯i,j ,
(j − 1, xj ) lie on a straight line, so that as a consequence of (4.17),
(i − 1 − xi,j )xj + (j − i)yi,j − (j − 1 − xi,j )xi = 0, (4.20)
and as a consequence of (4.18),
xi,j xj − xi,j xi = (j − i)yi,j . (4.21)
Once a value is assigned to any variable with index in S, then via the
¯i,j ’s all
other variables with indices in S are found. But variables in S̃ being constant are
also known, and so are all the N coordinates of a point. Given xi let λ satisfy the
equation
xi = λpi,1 + (1 − λ)pi,2 , (4.22)
which is always possible, since by hypothesis, pi,1 = pi,2 . It follows directly from
(4.17), (4.18), (4.20), and (4.21) that
xj = λpj,1 + (1 − λ)pj,2 . (4.23)
That is, any point so defined satisfies the definition and belongs to the straight line.
4.1 ♣ FT-1 Representing Lines in RN 79
Input: the adjacency data, the data structure, and an index k for which xk , the
start variable, is to be assigned a value vk .
Output: a list of N values, the coordinates of a point on a line.
1. for i = 1 to N mark all x’s new
2. put k on queue (Q), for vk on xk ← old
3. while Q not empty do
4. for adjacency array Ai for first i in Q
(a) while adjacency array not empty do
(b) for xj not old, j first in row 1
i. find the value of xj
ii. append j to Q
iii. xj ← old
iv. delete first column of A
(c) delete first index in Q
5. stop
The treatment of the queue Q is such that each variable is dealt with at most
once. The graph is connected, and via the adjacency data, each variable enters
the queue. Thus each variable is dealt with exactly once. Given the value of one
variable, there are N − 1 calculations required for the remaining variables. Now
each edge (i, j ) appears twice in the adjacency data, once in Ai and once in Aj .
Since there are N − 1 edges, this means that there are 2(N − 1) edge occurrences
in the algorithm. But once a variable is calculated, it is not calculated again. Hence
there are N − 1 calculations of variables with N − 1 bypasses, and the number of
calculations is O(N). The extension to the general case is obvious. It is also worth
noting that for the case (4.14), the adjacency set is implicit in the data structure, as
is of course the special cases of (4.1) and (4.3). The various aspects and nuances of
the above are illustrated and clarified with the following example.
An Example
To clarify matters, consider a line
⊂ R9 specified by two of its points whose
coordinates appear in the first three columns of Table 4.1. As already discussed, a
number of descriptions of the line in terms of linear equations involving pairs of
variables is possible. The detailed construction of the chosen set of
¯i,j is shown in
Fig. 4.10. First the polygonal lines representing the two points P1 and P2 are drawn.
Then the
¯i,j , corresponding to the choice of x5 for start variable, are obtained by
4.1 ♣ FT-1 Representing Lines in RN 81
Table 4.1. In the left three columns are the coordinates of two points specifying
a line
from which a set of eight
¯i,j is constructed. The data structure used in
the point construction algorithm, given in the next five columns, provides the
¯
and their locations. Note the values hi,j = 1 indicating finite and hi,j = 0 ideal
points. The points designating xk = constant (i.e., k ∈ S̃) have i = xi,j = 0.
Figure 4.10. Construction of the ¯i,j for the rooted tree in Fig. 4.9 and data in Table 4.1.
the intersection of pairs of thin dashed lines seen in the figure. For example, in order
to obtain
¯1,5 , the x1 and x5 coordinates of each point are joined. The intersection of
82 4. Multidimensional Lines
Figure 4.11. The ¯i,j and the construction of a new point P ∈ for x5 = −0.75.
these two lines is
¯1,5 . The corresponding rooted tree for the start variable x5 is the
one already shown in Fig. 4.9. Altogether, for this tree the points required are
¯1,5 ,
¯3,5 ,
¯1,4 ,
¯5,8 , and
¯3,9 . The last is an ideal point, since x9 = x3 = −1; hence
the slope is 1, and it is indicated in the figure as a direction. The corresponding
data structure appears in the rightmost five columns of the table. Here the number
of unconstrained variables is M = 5, and there are N − M − 1 = 3 constant
variables.
The
¯i,j together with the points
¯0,j , on the X̄2 -, X̄6 -, and X̄7 -axes, for the
constant xj are also shown in Fig. 4.11 together with the construction of a point
P ∈
for a given value of x5 . Recall that x5 , the start variable, corresponds to the
root of the tree. The construction can be easily modified for another choice of start
variable, possibly M = 5.
P1 = (a, a + b, . . . , a + (N − 1)b),
P2 = (c, c + d, . . . , c + (N − 1)d),
4.1 ♣ FT-1 Representing Lines in RN 83
That is, all the
¯i,j may be congruent (a situation that is revisited in Chapter 5).
Even without such unusual contigencies, the labeling of the points may cause
overcrowding in the figure. This suggests that a separate tabulation of the
¯i,j may be preferable to attempting to label these points directly on the
diagram.
Often, the
¯ are out of the scope of the picture. For such cases, two line segments
(portions of the polygonal lines representing two points on the line) may be shown
whose intersection (when extended) defines the
. ¯ The question arises whether it
is possible to recast the problem of line representation in such a way that “distant”
points are eliminated. A scheme is proposed that not only eliminates ideal points
from the representation but also has a number of other advantages.
Let us transform the variables by
xi
= ei xi , (4.25)
84 4. Multidimensional Lines
where ei = +1 for index i ∈ S̃. For the variables in S suppose that there is an edge
on the tree joining the vertices xi and xj ; the vertex for xj is either the root or lies
between the vertex for xi and the root. In this case, the linear equation is written as
j
xi = mi xj + bj .
The remaining ei are developed recursively. Starting at the root index i, set ei = +1
and visit the remaining nodes in order, setting e1 = +1 or −1 to ensure that the
j
slope m i of the line
j
xi = m i xj + bj
(4.26)
j j
j j
is negative, where m i = ei ej mi and b i = ei bi . Since the slope is negative, it
follows immediately that the x-coordinate of
¯
i,j is between i − 1 and j − 1, and
j
that the y-coordinate is less in absolute value than the absolute value of bi . With
everything nicely bounded, all the
¯i,j ’s can be placed within the frame of a picture.
Calculation of a point on the line proceeds as in the preceding algorithm for the
4.1 ♣ FT-1 Representing Lines in RN 85
Figure 4.13. The polygonal line for the point P now denoted by P
in the new system X̄i
.
X̄-system, followed by appropriate changes of sign and reflection in the X̄i -axis of
those coordinates for which ei is negative. Thus the algorithm is still of order O(N ).
Likewise, construction proceeds with the X̄
-system, followed by reflection in the
X̄i -axis of those coordinates for which ei is negative. However, while adjacency
data depend only on the underlying graph structure, the numbers ei are determined
by the signs of the slopes, and hence must be recalculated for each case. Evidently,
this does not alter the fact that the algorithm is of order O(N ). For the above example
it turns out that the numbers ei are successively 1, 1, 1, −1, 1, 1, 1, 1, −1. The data
structure is given in Table 4.2, where now no fifth column is needed. It is really a
simple matter to notice by inspecting Fig. 4.10 that only the points
¯1,4 and
¯3,9 do
not lie between their corresponding two axes. Hence only for the indices 4 and 9 is
ei = −1, as indicated.
Whereas the transformation (4.25) xi → xi
works well for a single line, its
application to several lines simultaneously can become problematic. Allowing dif-
ferent pairwise linear relations for each line greatly increases the prospect that their
index-point representation can be brought within the framework of the picture (see
exercises below). An elegant algorithm for the convenient display of several lines
was obtained by S. Cohen-Ganor for his course project and is presented in the last
chapter, entitled Recent Results.
86 4. Multidimensional Lines
i j xi,j yi,j
1 5 2.4 −0.7
3 5 3.2 −0.3
4 1 1.875 −0.5
8 5 5.5 0.25
9 3 5.0 0.5
0 2 2.0 0
0 6 −2.0 0
0 7 −0.5 0
Exercises
1. For the example of Section 4.1.5, choose a start variable other than x5 and
repeat the constructions. Namely,
(a) only four distinct kinds of trees are possible, see Fig. 4.14, and
(b) the numbers of distinct rooted trees (allowing permutation of vertex
labels) are those shown below each tree.
How many distinct (not rooted) trees are there?
3. The questions below pertain to the line representational problem of Sec-
tion 4.1.6 and the transformation (4.25).
Figure 4.14. The four kinds of distinct rooted trees with labeled vertices (i.e., 1, 2, 3, 4).
The number of trees allowing permutations of the vertex labels is listed below each tree type.
∃P =
∩
⇔ P̄i,i+1 ∩ P̄i+1,i+2 = (i, pi+1 ) ∀i = 1, . . . , N − 1, (4.27)
Figure 4.16. Intersection of two lines in 4-D for the base-variable line description.
This shows the collision, space (x1 , x2 , x3 ), and time T coordinates of two particles moving with
constant velocity whose trajectories
,
are described by the
¯T i ,
¯
T i .
4.2.2 Nonintersections
It is convenient to illustrate the situation in 4-D with the base-variable description
of a line
90 4. Multidimensional Lines
xi = vi T + so,i , i = 1, 2, 3. (4.30)
For an interesting interpretation, let T denote elapsed time and (x1 , x2 , x3 ) the space
coordinates of a particle moving with constant velocity V = (v1 , v2 , v3 ) and initial
position So = (so,1 , so,2 , so,3 ). The complete trajectory information of the particle
is provided by (4.30) and equivalently its three-point representation. The two sets
of triple points
¯T i and
¯
T i describe the trajectories of two moving particles, and
the construction in Fig. 4.16 shows an instance in which two particles collide; they
go through the same point in space at the same time; a time–space intersection.
Perhaps some of the power of the -coords representation can be appreciated from
this simple example.
Clearly, intersections in space (3-D and certainly higher) are very rare, so it
behooves us to study nonintersections. The intersection algorithm is also useful
to verify nonintersections as in illustrated in the sequence of Figures 4.17, 4.18,
and 4.19 with the representing points of two lines in 4-D. Pairs of
¯T i and
¯
T i are
connected with the three lines so formed not intersecting the T -axis at the same
value. The minimum distance D between the lines is recorded. Denote the line on
the points
¯T i ,
¯
T i by C̄i , its intersection with the T̄ -axis by
αi = T̄ ∩ C̄i , (4.31)
¯
¯
| → 0 as D → 0,
¯
¯
= [max αi , min αi ]. It appears that |I
,
and the interval I
,
which is reasonable, for we already know that |I
, ¯
¯
| = 0 when the two lines
intersect (D = 0). ♣ FT-3e
is knowing the time, and position, when two aircraft are the closest. Therefore, it
is appropriate for such applications to constrain the time and find the minimum
distance and position under that constraint. In that case, the minimum distance is
zero when there is a time–space collision. For if time is not constrained, there will
be two points Pm = (tm , x1 , . . . , xN−1 ) ∈
, Pm
= (tm
, x
, . . . , x
1 N −1 ) ∈
where the minimum distance occurs with tm = tm
that would not be the closest
distance between the two moving objects at the same time.
N
L1 (P , P
) = |xi − xi
|.
i=1
Now if P ∈
and P
∈
for the lines given by (4.28) and the base variable x1
is constrained to be the same for both points, then the distance is given by
4.2 Distance and Proximity Properties 93
N
N b N
|xi
|mi | x1 + =
i
L1 (x1 ) = − xi | = |mi ||x1 − αi |,
i=2 i=2
m i i=2
(4.32)
where the intercepts αi are defined in (4.29).
Theorem 4.2.1. The unique minimum value of L1 (x1 ) is attained at x1 = αi for at
least one i = 2, . . . , N.
I
N
= |mi |(αI +1 − αi ) − |mi |(αI +1 − αi )
i=2 i=I +1
I
N
− |mi |(αI − αi ) + |mi |(αi − αI )
i=2 i=I +1
4.2 Distance and Proximity Properties 95
I
N
= |mi |(αI +1 − αI ) − |mi |(αI +1 − αI )
i=2 i=I +1
I
N
= (αI +1 − αI ) |mi | − |mi | .
i=2 i=I +1
Therefore,
Since αI +1 − αI > 0, the sign of SI is determined by the slope of the line segment
over the interval (αI , αI +1 ).
Step 4. By Step 1,
I
N +1
I
N
TI = |mi | − |mi |, TI +1 = |mi | − |mi |.
i=2 i=I +1 i=2 i=I +2
That is, TI +1 is found by moving the term |mI +1 | from the negative to the positive
sum. Therefore, TI is monotone increasing with I . Hence from (4.33), if TI = 0,
the minimum of SI is attained at a single point. Further, for TI = 0, the minimum
is attained over an entire interval (αI , αI +1 ).
I
N
|mi | ≥ 0.5 |mi | (4.34)
i=2 i=2
is the value of i for αi where L1 (x1 ) attains its minimum. For this is the first value of
i for which the slope TI can change sign. This observation provides an algorithm for
finding the α∗i by construction. This provides a graphical construction for finding
the minimum described in Fig. 4.22.
Step 6. When some of the αi are equal, then by (4.33), there will be stationary
values of L1 (i.e., regions where it is constant) and that may or may not be at the
minimum; see Fig. 4.23.
Figure 4.22. Constructing the x1 = αI minimizing the L1 distance between two lines.
For comparison, the minimum L2 distance occurs at x1 = α ∗ . The bar chart on the right of the
X̄6 -axis shows the construction of the slopes TI . There the |mi | are added in the order 6, 2, 4, 3, 5
obtained from the order of increasing αi (as shown in the X̄1 -axis). The index I of the interval with
the median value of the N i=2 |mi | provides the correct x1 = αI . Here |m4 | dominates the sum,
yielding I = 4, so the minimum occurs at α4 .
Figure 4.23. Here the L1 and L2 minimum distances are identical occurring at the same value of
the constrained variable.
N
S: (xi − mi α − bi )2 = r 2 ,
i=1
and for P
∈
with x1 (P
) = α
and xi = xi
for the xi
of
(see 4.28), so we
obtain
N
S ∩
: (m
i α
+ bi
− mi α − bi )2 = r 2 .
i=1
= Mα 2 + M
α
2 − 2Cαα
+ B + 2(D
α
− Dα). (4.37)
N
N
N
M
= m
2
i , M= m2i , C= mi m
i ,
i=1 i=1 i=1
N
B= bi2 , bi = bi
− bi ,
i=1
N
N
D= bi mi , D
= bi m
i . (4.38)
i=1 i=1
r 2 = B + D
α
− Dα, α= , α
= , (4.40)
Q Q
where Q = MM
− C 2 ≥ 0 by the Cauchy–Schwarz inequality. When Q = 0
and B = 0, the lines are parallel and the constant square distance between them is
r 2 = B − D 2 /M. In R2 with m2 = m
2 , the minimum is r ≡ 0, since the lines
always intersect.
N
s2 mi 2 = (bj mk − bk mj )2 . (4.43)
i=2 2≤k<j ≤N
How does the minimum distance s vary as a function of the dimension N? Let
and
be two lines in RN+1 with P and P
respectively their closest points and
consider the projections
N ,
N on RN with closest points PN , PN
respectively.
In (4.42), denote the distance s for RN by sN and the corresponding α ∗ by αN ∗,
bi = Bi , mi = Mi , and
N
N
DN = Mi2 , CN = Bi Mi .
i=2 i=2
4.2 Distance and Proximity Properties 99
N 2
CN CN
2 ∗
sN = Bi2 − , αN =− . (4.44)
i=2
DN DN
2 2 (BN+1 DN − CN MN +1 )2
sN+1 − sN = ≥ 0,
DN (DN + MN
2
+1 )
N
L2 (x1 )2 = (mi )2 (x1 − αi )2 .
i=2
then
L1 2 (β) L1 2 (α)
L2 (α)2 ≥ L2 (β)2 ≥ ≥ . (4.46)
(N − 1) (N − 1)
From (4.45) and (4.46) we obtain upper and lower bounds for the minimum L2 (x1 )
in terms of the minimum of L1 (x1 ). It turns out that these bounds are tight, since
there exist cases in which these minima are equal for the same x1 . Still, it seems that
the L2 minimum distance does not lend itself easily to visualization in -coords as
the L1 distance does. Consider this a challenge!
Finding the minimum distance between lines raises the question of how to
measure the “closeness” — according to some criterion — between lines. This is a
matter of considerable interest in various applications such as computer vision and
geometric modeling. Gauging the “closeness” between things of the same kind is
really the subject matter of topology, whose original name was analysis situs. Later,
in Chapter 8, various topologies for lines, p-flats, and hyperplanes are studied in
depth.
Exercises
1. Write an algorithm for constructing a point on a line given the
¯ and state its
complexity.
2. Write an algorithm for constructing the representation of a line given two points
P1 , P2 on the line. Be careful and delimit the special cases.
3. Write an algorithm for constructing the intersection of two lines or verifying
nonintersection and state its complexity. Clarify the special cases.
4. Write an algorithm for constructing the constrained L1 minimum distance and
state its complexity. List all special cases in which the algorithm fails and why.
5. Prove (4.45). Hint: use induction on the dimension N.
6. Construct a case in which L1 (x1 ) has stationary portions. State conditions for
this to occur in general.
7. Construct a case in which the L2 (x1 ) and L1 (x1 ) minima are equal for the same
x1 .
8. Write an algorithm for minimizing (4.35) and state its complexity.
Figure 4.24. Path (left) and the full trajectory information (right) of an aircraft.
In -coords, the aircraft’s position can be found and displayed at any time.
the concluding section of the chapter. The reader interested on some nontechnical
background on ATC is referred to [76] and for an early description of the then
projected new system AAAS to [96].
where the xi are the space coordinates, T is time, V = (v1 , v2 , v3 ) is the velocity
vector, and S = (s1 , s2 , s3 ) is the initial position at T = 0. We already know that in
parallel coordinates the complete trajectory information is given by three stationary
points, which may be labeled21 T:1, 1:2, and 2:3. Using the T̄ (time)-axis as a clock,
the present position of the aircraft as well as where it was and where it will be at
any given time can be found and displayed as in Fig. 4.24. Recall that the horizontal
coordinate of the points representing the trajectory given by (4.47) is determined
only from the quantities mi , with m1 the velocity component in the x1 direction.
21
For brevity we omit the
¯ part from the notation whenever it is clear from the context.
102 4. Multidimensional Lines
Figure 4.25. Two aircraft flying on the same path, since their 1:2 and 2:3 points coincide.
They have a constant separation, with their velocities the same, since T:1 points have the same
x-coordinate.
With x3 the altitude, m2 is the tangent of what in aviation parlance is called the
heading, and the horizontal position of T:3 provides the vertical velocity.
Certain properties of the trajectories are immediately evident from the display.
Consider the situation in which aircraft are flying on the same path, as is often the
case in civil aviation. An example is shown in Fig. 4.25, where the points 1:2 and
2:3 are shared, since these are the points describing the path in -coords. Further,
it is evident that they have the same velocity, since the points T:1 have the same
horizontal coordinate. Otherwise, if one point is between the T̄ , X̄1 and the other
outside axes, their velocities must have opposite signs, and since they have the same
path, they are flying in opposite directions. If they are both between the axes or both
outside the axes, then the leftmost point corresponds to the greater velocity. Other
properties are also “visible.”
The time and positions at which the distance between two aircraft is mini-
mum is displayed in Fig. 4.26. This critical situation is accurately portrayed in
-coords, while in 3-D displays, not to speak of 2-D projections, it can appear
misleading. The possibility of transforming angular to lateral deviations is illustrated
in Fig. 4.27. This is important since our eyes can distinguish lateral deviations
better rather than angular deviations, such as those that may occur in the assigned
path. This is a “human factors” advantage which may be partially offset by the
nonlinear scale, a result of the denominator (1 − mi ) of the points that represent the
path.
4.2 Distance and Proximity Properties 103
The goal of ATC is to direct aircraft safely to their destination while minimally
interfering with their planned trajectories. This involves maintaining a minimum
104 4. Multidimensional Lines
separation between the aircraft; detecting impending conflict , which are violations
of the minimum separation; and resolving the conflicts by changing the trajectories
subject to certain constraints and priorities. The typical safety requirements in 3-D
(sometimes referred to as “separation standard”) involve horizontal and vertical
separations, as shown in Fig. 4.28. The protected airspace is a thin cylinder usually
2,000 feet high and diameter of 5 nautical miles. This shape is sometimes called
a “puck,” due to its similarity with the hockey puck. Conflict resolution is an
instance of the theoretical asteroid avoidance problem (AAP), which turns out
in general to be NP-hard [21]. In ATC, for a number of good reasons it is preferred
to resolve conflicts if possible without altitude changes. An algorithm for planar
(i.e., no altitude change) conflict detection and resolution in ATC (USA patent
# 5,058,024) was proposed in conjunction with the design competition for the new
ATC system (AAAS). It was tested on some complex groupings of flying aircraft
(“complex scenarios” for short) that were provided by the USA Federal Aviation
4.2 Distance and Proximity Properties 105
Administration [127]. We shall give the rudiments of the algorithm and then apply
it to one of the complex scenarios.
Given a set of aircraft considered as points moving with constant velocity, if the
minimum separation to be maintained is denoted by d, then the protected airspaces,
for the planar case, are circles with radius d/2 centered at each aircraft and moving
with the same velocity. The ensuing conflict and resolution analysis is done first
for a pair of circles and then for an arbitrary number of circles. There is no loss of
generality in reducing this to the point-circle configuration above (by shrinking one
circle to) a point (the aircraft itself) ACk with velocity Vk , while the circle Ci for the
aircraft ACi has double the original radius and velocity Vi , as shown in Fig. 4.29.
Here the velocities are assumed to be constant, as when the aircraft are flying after
having reached their cruising altitude. A line
, taken here for convenience to be
vertical, going through ACk is shown at the initial time t = 0. On
a vector fiel is
106 4. Multidimensional Lines
defined with the points on the line now being considered as “particles” endowed
with the same velocity Vk as ACk for t ≥ 0. It is clear that there exists exactly one
such particle, initially in position (k10 , bik
0 ), that just “scrapes” (i.e., is tangent to)
the circle Ci at time tbik . Similarly, there exists a unique particle initially in position
(k10 , fik
0 ) that exactly scrapes C from the front. The particles starting above b0
i ik
pass the circle safely from the back, particles below fik 0 pass in the front, while
those in the interval Iki = [fik 0 , b0 ] eventually intersect the circle. This provides
ik
the conflict detection, since for any aircraft on
, only those on Iki will be in conflict
with ACi . For lack of a better name, Iki is called the conflic interval of i with respect
to k. There is more information in Fig. 4.29 worth pointing out. The parallelogram
enclosing Ci has two sides parallel to Vi and two parallel to Vki , the velocity of
k relative to i. That is, an observer sitting on Ci will see the particles passing by
with velocity Vki . Only the particles entering this parallelogram will intersect Ci ,
and these are the particles on Iki . So the particle scraping the circle from the back
will be seen by such an observer traveling on the top (back) tangent to Ci and
touching it at the point Bj k . That, in fact, is the point where the back scrape will
occur. The intersection of this side with
occurs precisely at the point (k10 , bik 0 )
(why?), providing the particle responsible for the back scrape. Since this particle
has velocity Vk , the intersection of a line in this direction with the path of Bj k
(which has velocity Vi ) must be the position where the back scrape occurs, from
which, in turn, the time tbj k can be found. All this is easily seen by noticing that
the triangle so formed is similar to the triangle showing vector subtraction in the
upper left. The situation is exactly the same vis-a-vis the front scrape. In this way,
running through all the indices i = 1, . . . , N, i = k, the corresponding conflict
intervals can be found.
In -coords the paths of the particles on Iki are transformed into points. These
paths all being parallel, they are represented by points and will, in turn, correspond
to an interval, say Iki ¯ on a vertical line at x = 1 with m the slope of Vk . The
1−m
situation becomes more interesting when this is considered ∀i = 1, . . . , N, i = k.
Since m is still the same, all the corresponding Iki ¯ fall on the same vertical line.
Let us see how this works on one of the complex scenarios (# 8) from [127];
where 10 aircraft are involved. What makes it “interesting” is that 6 of these,
shown in Fig. 4.30, are flying at the same altitude and somewhat menacingly
toward each other; several impending conflicts are seen in Fig. 4.31. The corre-
sponding conflict intervals are shown in Fig. 4.32, showing the paths for the Back
scrapes and Front scrapes of the aircraft # 2, . . . , 6 and the times when they occur.
The times are computed from (4.47) or directly from its point representation in
-coords.
4.2 Distance and Proximity Properties 107
Figure 4.31. Conflicts, indicated by overlaping circles, within the next five minutes.
108 4. Multidimensional Lines
Conflic Resolution
Now the fun begins! Let us denote by k̄ the point representing the path of ACk .
Clearly, ACk is conflict with aircraft # i ⇔ k̄ ∈ Iki . For example, from Fig. 4.32
it is easily seen that aircraft # 1 is in conflict with # 2 and # 3 and no others. The
4.2 Distance and Proximity Properties 109
challenge is to resolve the conflicts with the allowable maneuvers, which in our case
are parallel offsets, which are commonly used en route. Such a maneuver consists
of:
1. a turn (left or right) that is bounded above, say, by a θMAX , that is, a turn that
is relatively “small,”
2. followed by a relatively short straight path; this is the “offset,”
3. then a second turn returning the aircraft to a path parallel to the original one
(i.e., the same heading). The new path is not allowed to be “too far” from the
original, i.e., the distance between the path is bounded above, say, by s.
4. At all times, the aircraft’s speed, i.e., |V |, is constant, that is, no slowdowns or
speedups are allowed even during the maneuvers.
The turn here is idealized in the sense that it is considered “instantaneous” in
time and occurs at a point in space. All this can be adjusted to more realistic models
based on the capabilities of various airplanes, policies for various airlines, and
air sectors, as well as many other constraints and priorities such as time-to-conflict
(“validation time”), all of which are beyond our scope here. The strategy for conflict
resolution then is to use parallel offset manuevers subject to the given constraints
in order to redirect the aircraft to conflict-free paths. The conflict intervals are well
suited for this task. Since eventually the new path is parallel to the original path, the
idea, when # j is in conflict with some aircraft, is to find the nearest conflict-free
path, say j¯
, and check to see whether under the constraints, the maneuvers allow
# j to reach this path prior to the scrape. That is, we want # j to behave like the
particle originally with path j
in a neighborhood of the scrape. Specifically, for
# 1 we see in Fig. 4.32 that a good candidate is the path of the particle causing the
back scrape 3B. This is found by taking the union of all conflict intervals containing
1̄, which is also an interval (from a basic theorem in topology) and examining
the closest endpoint. In general, the new interval’s endpoint may lie on conflict
intervals not included in the union, such as 3F ∈ I14 , in which case these intervals
are added to the union until a conflict-free path is found. This process terminates,
since there is a finite number of intervals. Then the closest endpoint is checked to
see whether it is feasible, that is, whether the aircraft in conflict, such as # 1 here,
can be redirected to the new path subject to the constraints. It is not difficult to apply
the maximum-offset constraint.
To see how equal-speed maneuvers can be achieved, refer again to Fig. 4.32,
where the turn-angle-to-maneuver-speed relation is illustrated. When ACk makes a
turn with angle α, an isosceles triangle is formed such that after the turn, the aircraft
traveling with speed |Vk | arrives at J at the same time as the particle originally at
fik0 , since they both travel with the same speed over an equal distance. Hence after
110 4. Multidimensional Lines
the point J, ACk , now in its new path, mimics the behavior of the particle, namely
the scrape, in the neighborhood of some circle. From this picture we can also see
that turns of more or less than α will reach the path of fik 0 sooner or later than
the particle, necessitating a slowdown or speedup by ACk to accomplish the same
scrape as the particle. Of course, a choice of lines other than the vertical provides
more and different options, and this is exploited in the implementation.
The general AAP is NP-hard, so even its specializations may have very high
complexity. Since conflict resolution requires a real-time solution, one way to handle
the need for fast response is by cascading the algorithm in various levels, which we
briefly outline below, of increasing complexity and power. Starting with the first
level (having the lowest complexity), the set of aircraft is processed by successive
levels until either a resolution is found or no resolution is found by the highest level,
though, in our experience, satisfactory resolutions were found at the lowest level.
It is, of course, even better to run the algorithms for the various levels in parallel.
The algorithm is greedy, and in testing, we found that different resolutions are found
by the various levels. Different resolutions (or no resolutions) may also be found
by reordering aircraft on input. Listing the aircraft in order of decreasing number
of conflicts they are involved in turns out to be a “good” ordering. Other ordering
heuristics, which also consider the time-to-conflict, have been tried with varying
success. When several resolutions for a conflict scenario are available, rating them
as to their “desirability” has turned out to be a very elusive and very interesting
problem.
In the simplest case (“simple rules”), an aircraft in conflict, say ACj , is placed
on the path found, as indicated above, satisfying all the constraints. This is repeated
with the updated (due to the repositioning of ACj ) conflict intervals. If this works
out for all the aircraft in the input list, a resolution is found; otherwise, the next level
is invoked. The computational worst-case complexity for this level is O(N 2 log N),
where N is the number of aircraft.
When the simple rules level finds no resolution for a particular aircraft ACk , a
sweep of the conflict intervals determines which aircraft prevented it (i.e., blocked
it) from being resolved, and there may be more than one. A criterion is applied
in order to choose the “most troublesome” aircraft blocking the resolution, tem-
porarily removing it and resolving the conflicts, if possible, using the simple rules.
Such potential conflict resolution is provisionally taken, and a resolution for the
remaining aircraft, including the one that was removed, is attempted. If successful,
the resolution spawns additional maneuvers for the blocking aircraft one at a time.
This backtracking can be nicely implemented with recursion.
The worst-case complexity of the recursion is exponential. In order to termi-
nate, the maximum number of times R that the removal of a blocking aircraft is
4.2 Distance and Proximity Properties 111
Figure 4.33. Conflict resolution with parallel-offset maneuvers. Three pairs of tangent circles.
allowed to take place is fixed a priori, yielding that the maximum complexity is
O(N R+1 log N). It was also found profitable to experiment with different reorder-
ing heuristics rather than invoke backtracking. Though frequently successful, no
clear scenario-independent criteria for the reordering were found. However, using
several particle lines rather than one led to resolutions for the vast majority of
scenarios tried using only the simple rules. For equal-speed maneuvers, every
particle line corresponds to a specific maneuver turn. In addition to the fact that
“idealized” turns are used here, we must also consider that a pilot cannot execute a
turn with absolute precision. So a certain tolerance, say θ, for the error is involved.
So placing the particle lines in multiples of θ and covering in this way the allowable
turn range (i.e. ±θmax ) is a way to check for all implementable resolutions without
an increase in the time complexity.
Let us illustrate all this with the chosen scenario shown in Fig. 4.30. To estimate
its difficulty in a practical way, an expert air traffic controller was asked to resolve
it. He could resolve only four of the aircraft without altitude change. Even that
required a great deal of time, and the solution was certainly not “real-time.” Our
algorithm was able to resolve all conflicts without altitude changes using only two
particle lines, the resolution being shown at two time frames in Figs. 4.33 and 4.34.
There are several instances of tangent circles. This is because the algorithm is built
to utilize the scrapes, which, in turn, result in minimally disturbing the aircraft from
their original paths. The figures should illustrate the difficulty in finding constrained
112 4. Multidimensional Lines
maneuvers that allow the circles to possibly touch but always exquisitely avoiding
overlapping.
As an interesting aside, notice from Fig. 4.32 that ∩6k=2 I1k = [4F, 6F]. So any
point on the interval [4F, 6F] represents a path that eventually intersects each one
4.2 Distance and Proximity Properties 113
of the circles. This is an instance of the one-shot problem (OSP), which in general
is NP-complete [133]. In 1989, another algorithm using particle fields on the whole
plane, rather than just particle lines, was derived (US patent # 5,173,861). It also
accomplished some resolutions with altitude changes; Fig. 4.35. It was reported22
that the US Air Force is testing the use of these algorithms for positioning several
aircraft flying in formation [64] and for conflict detection and resolution [162].
Exercises
1. In Fig. 4.32 most of the associated times with the scrapes increase, since the
point representing the scrape path is higher on the vertical line. Provide the
conditions needed for these times to increase or decrease monotonically.
2. Provide the formulation for using several line fields
(θ) at different angles
θ with the horizontal axis. Describe how you would efficiently construct the
corresponding conflic intervals and their functional dependence on θ.
3. Define a particle field on the whole plane, as was done only for
. Find the
allowable particle regions (i.e., the set of particles satisfying the constraints)
associated with:
(a) Maximum offset,
(b) Maximum angle,
(c) Conditions where the approach may fail.
4. Find the conditions for which the approach of “particle lines” fails.
5. Formulate the “one-shot problem” carefully. Describe conditions for which the
conflict intervals can be used interactively to find one-shot solutions.
22
I am grateful to D. Sobiski for this information.
This page intentionally left blank
This page intentionally left blank
5
Figure 5.1. A plane π in R3 represented by two vertical lines and a polygonal line.
This is a planar coordinate system with the polygonal line representing the origin.
Figure 5.2. A set of coplanar points in R3 with the two vertical lines pattern.
the one formed by lines parallel to a coordinate system, as shown in Fig. 5.1, is
represented by polygonal lines with a pattern specifying two vertical lines as shown
in Fig. 5.2.
About the time these patterns were being discovered, word got around, and we
were requested to visually explore for relations that may exist in a set of industrial
5.1 ♣ FT-1 Planes in R3 117
Figure 5.3. Industrial data with a “vertical line” pattern between R111 and R112 axes.
Figure 5.4. The portion between the R111 and R112 axes is magnified (left).
This suggest that there is linear relation between R111, R112, and an unknown parameter, as is also
indicated in the Cartesian coordinates plot on the right.
data consisting of several thousand records with eight variables. Part of this data
set is plotted in parallel coordinates and shown in Fig. 5.3. The pattern between
the R111 and R112 axes, which for clarity is magnified and shown in Fig. 5.4,
118 5. Planes, p-Flats, and Hyperplanes
resembles one of vertical lines formed in Fig. 5.2. Yet for this pattern to represent
a set of coplanar points, at least two, not one, vertical lines are needed, even for
the plane with minimal dimensionality in R 3 . Still, the variables R111 and R112
are linearly interrelated, and there must be another variable, say X, also linearly
related to R111 and R112, as is clear from Fig. 5.4 (see also the first exercise below).
All this suggested that an important variable was not being measured. With these
hints, a search was mounted and the missing variable was found. This, of course,
was a stroke of good fortune and an instance of a favorite stochastic theorem, i.e.,
“You can’t be unlucky all the time.” Let us return from our digression. Before this
is done, it is worth distinguishing the vertical line pattern between the R8 and R9
axes with that between the R111 and R112 axes. On the R8 axis and lower part of
the R9 axis, the data are equally spaced, while this is not the case with the last two
axes.
π : c1 x1 + c2 x2 + c3 x3 = c0 . (5.1)
At first the envelope of the family of lines parallel to y 1 is found, as seen in Fig. 5.1.
Two coordinates are needed to determine a point P ∈ π . One coordinate, say
x3 = α, specifies a plane π
parallel to the x1 x2 -plane. The line
(α) = π ∩ π
is
in fact one of the lines parallel to y 1 ; see Fig. 5.7. It has the representation:
¯
23 (α) = (2, α),
¯
(α) : 2 c0 −c3 α (5.2)
¯
12 (α) = c1c+c 2
, c1 +c2 ,
since
23 (α) : x3 = α,
(α) : (5.3)
12 (α) : c1 x1 + c2 x2 = c0 − c3 α,
where as usual, the distance between the parallel axes is one unit.
Returning to Fig. 5.2, each vertical line is formed by a set of points, and on the
Ȳ1 -axis these are the
¯
12 (α). The polygonal lines intersecting at each such point
represent points on the corresponding line
12 (α). Together, these intersections
provide one of the two vertical lines in the representation of π. As we know from
23
See the chapter on envelopes.
5.1 ♣ FT-1 Planes in R3 119
Proof. Step 1. With reference to the figure below, let P1 , P2 ∈
. The two lines AB
and A
B
joining the planar coordinates of P̄1 and P̄2 intersect at η̄ = AB ∩ A
B
.
Step 2. The two triangles ABC and A
B
C
formed between Ȳ1 and Ȳ2 are in
perspective with respect to the ideal point in the vertical direction.
Of course, by the 3-point collinearity property of Chapter 4, the point
¯13 is also
on L̄.
Corollary 5.1.3. The rotation of a plane in R3 about a line corresponds to a
translation of a point on a line.
Proof. With reference to the Fig. 5.6, let
⊂ π ⊂ R3 . Rotate π about
to a new
position π∗. Let
¯12 ,
¯23 represent
in the X̄1 , X̄2 , X̄3 coordinates and η̄, η̄∗ in the
Ȳ1 , Ȳ2 and Ȳ1 ∗, Ȳ2 ∗ coordinate systems respectively. By the theorem,
¯12 ,
¯23 , and
η̄ are on a line L̄. Also,
¯12 ,
¯23 , and η̄∗ are on the line L̄. That is, the rotation of π
about
corresponds in -coords to a translation of the point η̄ on L̄.
This is the 3-D analogue of (rotation of a line around a point) → (translation
of a point along a line) in 2-D and corresponds to the point ↔ plane duality in P3 .
Let us explore the computation involved, where
is given by
12 : x2 = m2 x1 + b2 ,
: (5.4)
23 : x3 = m3 x2 + b3 .
5.1 ♣ FT-1 Planes in R3 121
Figure 5.6. Rotation of a plane about a line ↔ translation of a point along a line.
Figure 5.7. The construction of Ȳ1 (left), the first, and Ȳ2 (right), the second, vertical axes.
Start with a line on π parallel to the y 1 and y 2 axes respectively.
122 5. Planes, p-Flats, and Hyperplanes
Every value of k corresponds to a position (of the rotated plane) π and, in turn, about
a position (of the translated point). η along the line formed by the points
¯12 and
¯23 .
The generalization for RN is straightforward and is not covered here (see [97]).
Exercises
1. The pattern between the R111 and R112 axes in Figures 5.3 and 5.4 raises a
question. What if a different permutation of the axes were chosen? Whereas
the coplanarity information would still be preserved, the “vertical line pattern”
would not be seen. Was it fortuitous that the “right” axes permutation was
chosen to plot the data? It is not difficult to show that for N variables, there
are O(N/2) “cleverly” chosen permutations that provide all possible adjacent
24
In the language of projective geometry this is called a pencil of planes on the line.
5.1 ♣ FT-1 Planes in R3 123
pairs of axes. For example, for N = 6, three such permutations are (just
showing the subscripts of the X̄i ) 126354, 231465, 342516 [184]. Returning to
the example, there are four such permutations, one of which has the coplanarity
pattern.
(a) Prove this permutation result. Hint: construct an undirected graph whose
vertices are variables, and edges between a pair of vertices designate that
the corresponding vertices are adjacent in a particular permutation.
(b) Find an algorithm for computing these special O(N/2) permutations.
(c) Generalize this result for adjacent triples.
(d) Generalize this result for adjacent p-tuples.
2. Given three noncollinear points in R3 , find an algorithm for constructing in
-coords a set of planar coordinates for the plane determined by the three
points.
3. Construct a set of planar coordinates for a plane π perpendicular to one of the
principal 2-planes (i.e., π being parallel to one of the orthogonal axes).
4. Given a set of planar coordinates for a plane π, find an algorithm for
constructing a plane π
perpendicular to it.
5. In -coords find an algorithm for determining the intersection of two planes.
124 5. Planes, p-Flats, and Hyperplanes
(a) (5.5),
(b) (5.6).
♣ FT-1e
Figure 5.9. Randomly selected coplanar points in R3 represented by the polygonal lines on the
first three axes.
5.2 ♣ FT-2 Representation by Indexed Points 125
d2 − d3
π s : (x3 − x2 ) + k(x2 − x1 ) = 0, k = , (5.9)
d2 − d1
with the ratio k determining the particular plane. With the y- and X̄1 -axes coincident
and the standard axes spacing d1 = 0, d2 = 1, d3 = 2, the superplane (sometimes
referred to as the “first superplane”) is
The subscript 1 distinguishes it from the others formed with different spacing of the
axes. The important property from Chapter 4 can now be restated in terms of π1s .
Theorem 5.2.1 (3-point collinearity) For any line
⊂ RN , the points
¯ij ,
¯j k ,
¯ik , where the i, j, k are distinct integers ∈ [1, 2, . . . , N], are on a line L̄,
where L =
∩ π1s .
This is the backbone of the recursive (in the dimension) construction algorithm that
follows.
∩ π1s = L. (5.11)
⊂ π, ∃L
∈
∩ π s = L
.
Now L and L
specify a line
π ⊂ π1s represented by a single point
¯π . Altogether,
!
L, L
∈ π ⇒
π ⊂ π
showing that the point where all the lines intersect in Fig. 5.10 is
¯π . For reasons
that are clarified shortly, we refer to
¯π by π̄123 .
128 5. Planes, p-Flats, and Hyperplanes
Figure 5.12. The axes spacing for the second superplane π1s
.
Figure 5.13. Transferring the values from the X̄1 -axis to the X̄1
-axis.
system,
H =
π ∩
π = π1s ∩ π1s
∩ π, (5.13)
as illustrated in Fig. 5.14. So the intersecting lines
π ,
π determine the plane π ,
and therefore the plane can be represented by the two points π̄123 and π̄231
. But
what is going on? In Chapter 4 we saw that a line in R3 is also represented by
two points. To distinguish the two points representing a plane, three indices are
attached, while only two indices are used for the point representation of a line. The
deeper reason is, of course, that the linear relations specifying lines involve (or can
Figure 5.14. The intersections of a plane π with the two superplanes π s 1 and π1s
.
These are the two lines
π ,
π that specify the plane and provide its representation.
130 5. Planes, p-Flats, and Hyperplanes
be reduced to) two variables, whereas those involving planes necessarily involve
three variables. Specifically, for the plane,
π : c1 x1 + c2 x2 + c3 x3 = c0 , (5.14)
⎧ −c3
⎨
π12 : x2 = − cc1+2c c0
x + c +2c ,
s 2 3 1 2 3
π = π ∩ π 1 : (5.15)
⎩
: x = − 2c1 +c2 x + c0 .
π23 3 c3 −c1 2 c3 −c1
Continuing,
⎧
⎨
π12 : 2c1 +c3
x2 = − 2c x + 2c2c+c
0
,
2 +c3 1
π ∩ π1s
2 3
=π : (5.17)
⎩
c2 −c1
x3 = − 2c x + 2c c+c
0
π23 : 1 +c3 2 1 3
,
¯
π23 = (3c1 + c2 + 2c3 , c0 , c1 + c2 + c3 ). (5.18)
5.2 ♣ FT-2 Representation by Indexed Points 131
Since
π is a line in the superplane π1s
, it must be that
¯
π12 =
¯
π23 . Yet a direct
computation from the first equation of (5.17) yields
¯
π12 = (2c2 + c3 , c0 , 2(c1 + c2 + c3 )). (5.19)
What is going on? Figure 5.16 explains the “riddle,” reminding us that π1s
is a
superplane in the X̄2 , X̄3 , X̄1
coordinate system, where its points such as P , Q
are represented by straight lines intersecting at
¯
π1
2 =
¯
π23 . To obtain
¯
π12 , the
x1 values must be transferred to the X̄1 -axis and then the corresponding polygonal
lines constructed to obtain their intersection at
¯
π12 =
¯
π1
2 . Recall from Chapter 3
the line
→
¯ point correspondence
d b
: x2 = mx1 + b →
¯ : , , m = 1, (5.20)
1−m 1−m
where d is the directed interaxis distance. The distances from X̄1
to X̄2 and the
y-axis are two and three units respectively. Then together with the first equation in
(5.17),
−2 + c0
¯
π1
2 = 2c +c 3, 2c +c , (5.21)
1+ 1 3 2c2 +c3 1+ 1 3 2c2 +c3
132 5. Planes, p-Flats, and Hyperplanes
π̄231
=
¯
π1
2 =
¯
π23 = (3c1 + c2 + 2c3 , c0 , c1 + c2 + c3 ). (5.22)
π̄31
2
= π̄1
2
3 = (3c1 + 4c2 + 2c3 , c0 , c1 + c2 + c3 ), (5.24)
x2
− x1
= 3c2
. (5.25)
Finally, by translating the X̄3 -axis three units to the right and repeating the
construction as shown in Fig. 5.17, a fourth point is obtained,
π̄1
2
3
= π̄3
= (3c1 + 4c2 + 5c3 , c0 , c1 + c2 + c3 ), (5.26)
and for x3
, its x coordinate
x3
− x2
= 3c3
. (5.27)
Clearly, the third and fourth points are dependent on the first two, and by an easy
calculation it is found that
x2
= 6 − (x0
+ x1
), x3
= 3 + x0
. (5.28)
can effectively be read from the picture as shown in Fig. 5.18. Occasionally, we say
that the distance between adjacent indexed points is the corresponding coefficient
when the dimensionality and hence the proportionality constant are clear. When
the coefficients’ sum is zero, the plane is an sp represented by ideal points. All
the superplanes are on the line u, so what is the angle between the four different
superplanes we generated? To answer this, it is convenient to introduce and work
with vector notation. Letting x = (x1 , x2 , x3 ), the coefficients of a plane π j are
j j j
cj = (c1 , c2 , c3 ), so the plane’s equation is π j : cj · x = c0 , where “·” stands for
j
the inner (or dot) product. From analytic geometry, the angle φ between two planes
π 1 , π 2 is found by
c1 · c2
cos φ = ± 1
. (5.29)
[(c1 · c1 )(c2 · c2 )] 2
Fixing the angle by adopting the + sign above, we find that π1s
is obtained from
π1s by a clockwise rotation of 120◦ about u. Checking for the third superplane
π1s
2
3 : −2x1 + x2 + x3 = 0 (5.30)
134 5. Planes, p-Flats, and Hyperplanes
Figure 5.18. The distances between adjacent points are proportional to the coefficients.
For π : c1 x1 + c2 x2 + c3 x3 = c0 with the normalization c1 + c2 + c3 = 1, the proportionality
constant is the dimensionality of the space. The plane’s equation can be read from the picture!
resulting from the translation of the X̄2 -axis, the dihedral angle with π1s
is also
120◦ . Not surprisingly, the fourth superplane π1s
2
3
, generated by the translation
of the X̄3 -axis, coincides with π1s .
To clarify, the rotations about u and the superplanes they generate do not affect
the plane π, which remains stationary, intersecting u at H given in (5.13) and shown
in Fig. 5.14. This is the reason that all points π̄123 , π̄1
23 , π̄1
2
3 , π̄1
2
3
have the
same y-coordinate c0 /(c1 + c2 + c3 ) on the horizontal line H̄ . This useful property
is also true for the points representing lines and is put to good use in the construction
algorithms discussed next. For consistency with this chapter’s format the equations
of a line
are rewritten as
1,2 : c11 x1 + c12 x2 = c10 ,
: (5.31)
2,3 : c22 x2 + c23 x3 = c20 ,
¯13 ,
¯1
3 ,
¯1
3
are on another horizontal line 13. All this is seen in Fig. 5.25 of the
next section.
Exercises
1. Derive the equation equivalent to (5.8) for RN and state its properties.
2. What planes are represented when the points π̄123 and π̄231
are ideal?
3. How are the planes in class E represented?
4. Is the line intersection shown in Fig. 5.10 a necessary and sufficient condition
for coplanarity? Prove or give a counterexample.
5. Show that in RN , the distance between adjacent indexed points is N times the
corresponding coefficient, as in R3 it is 3; equations (5.23), (5.25), and (5.27).
6. (a) Find the equations of the three superplanes containing the x1 -, x2 - and
x3 -axes respectively.
(b) What are the three dihedral angles between pairs of these superplanes?
7. Provide an affine transformation resulting in the four points π̄123 , π̄231
, π̄31
2
,
π̄1
2
3
being collinear and with distance ci between pairs rather than 3ci .
8. The vertical line representation of planes actually requires four rather than the
two vertical lines shown. Explore the case in which none of the four vertical
lines coincides with the coordinate axis X̄i .
9. Provide algorithms based on the indexed-points representation for finding the
intersection between:
(a) a pair of 2-flats, and
(b) a line and a 2-flat.
Delimit carefully the special cases in which the algorithms fail.
10. Given the representation of a plane in terms of vertical lines,
(a) how would one check whether the vertical lines represent two orthogonal
families of parallel lines?
(b) How could the vertical axes be transformed to vertical axes representing
orthogonal families of parallel lines?
11. Construct a vertical line representation Ȳi for a plane π ⊂ R3 with π̄123 ∈ Ȳ1 ,
and π̄231
∈ Ȳ2 .
12. Given a point P ∈ R3 and a plane π ⊂ R 3 , provide an algorithm for deter-
mining whether P ∈ π or in which of the half spaces (“sides”) of π (partitions
R3 ) P lies.
13. Generalize the 3-point-collinearity property for N ≥ 4.
♣ FT-2e
136 5. Planes, p-Flats, and Hyperplanes
Figure 5.20. A line
is contained in a plane π ⇔ the points
¯12 ,
¯13 ,
¯23 , π̄123 are on a line P̄ .
Alternatively if
¯1
2 ,
¯1
3 ,
¯23 , π̄231
are on a line P¯
, then P =
π ∩ π and P
=
π
∩ π .
collinear. This property is the equivalent of the collinearity in Fig. 5.5 for the two-
vertical-lines planar representation. As illustrated in Fig. 5.20, the line
⊂ π
intersects the superplanes at the two points P =
∩
π , P
=
∩
π with P̄ , P¯
on π̄123 , π̄231
respectively, since these triply indexed points are actually
¯π and
¯
π . Hence
¯23 = P̄ ∩ P¯
, since the line P¯
represents P
on the X̄2 -, X̄3 -, X̄1
-axes.
By transferring the value of its first coordinate p1
to the X̄1 -axis, we obtain the
P¯12
portion of the polygonal line P¯
in the X̄ -, X̄ -, X̄ -axes with
¯ = P̄ ∩ P¯
.
1 2 3 12 12
Therefore
The proof for the ⇒ direction is similar. Such a collinearity must also hold for the line
P¯
on
¯23 , π̄1
23 for the X̄2 -, X̄3 -, X̄1
-axes; that is,
⊂ π ⇔
¯1
2 ,
¯1
3 ,
¯23 , π̄1
23
are on a line P¯
where P
=
π ∩ π. This leads to a beautiful rotation ↔ translation
duality, shown in Fig. 5.38 and presented shortly, analogous to that obtained with
the vertical lines planar representation seen in Fig. 5.6.
138 5. Planes, p-Flats, and Hyperplanes
Intersecting Planes
To realize our goal of doing higher-dimensional constructions, that is, for N > 3,
we gradually wean the reader from the need to use 3-D pictures. In the process we
discover that many constructions even for 3-D are simpler to do and certainly to
draw in -coords. Such is the construction shown in Fig. 5.21 for the intersection
of two planes ρ ∩ π =
. Finding the intersection π ∩ ρ ∩ π1s = P is trivial, for
P̄ is the line on the points π̄123 , ρ̄123 . Similarly for π ∩ ρ ∩ π1s
= P
, P̄ is the
line on the points π̄1
23 , ρ̄1
23 . Therefore P , P
∈
= π ∩ ρ and
¯23 = P̄ ∩ P¯
.
Transferring the p1
coordinate of P
to the X̄1 -axis provides the 12 portion of P
and its intersection with P̄ is the point
¯12 . The points
¯12 ,
¯23 are both on π̄123
and ρ̄123 , confirming that (5.32) the line
is on both planes, simplicity itself!
∈ π1s
∩π =
π , where π1s
∩ H̄ and
¯23 = P̄
parallel to P̄ on
the point
¯1
2
. In fact, P
P¯
with H̄ , 13, 23 complete the construction. The four points are referred to as
the augmented representation of a plane. Use of the relations in (8.60) between
the x-coordinates of the four indexed points simplifies the construction. By the
way, Fig. 5.25, showing the
¯ points corresponding to a line
in the translated
-coords systems, is obtained with a similar construction. The intersections of
140 5. Planes, p-Flats, and Hyperplanes
on
¯1
2
is parallel to P̄ , since P
=
∩ π1s
2
,
P
=
∩ π1s
2
3
. The further simplification of the construction via
x2
= 6 − (x0
+ x1
), x3
= 3 + x0
, (5.33)
of α are obtained from the fundamentals (i.e., as indexed points of lines) rather than
from (5.16), (5.22), (5.24), (5.26). It is preferable to use the general relation
: [a1 , a2 , a3 ] −→
¯ : (da2 , −a3 , a1 + a2 ) ,
rather than eq. (5.20) to obtain
⎧ ⎫
⎨
α12 : x2 = 21 x1
¯α12 = 1 1 , 0, 1 ⎪ ⎬
1− 2
s
α = α ∩ π1 : ⇒ = (2, 0, 1) = ᾱ123 .
⎩ ⎪
α23 : x3 = 0 ⎭
¯α23 = (1 + 1, 0, 1)
Proceeding as for (5.21), substituting the interaxis distance d = −2 between X̄1
1 ⎫
⎨
α1
2
: x2 = 2x1
¯
α1
2
= 1−2 + 3, 0, 1 ⎬
α = α ∩ π1s
2
: ⇒
⎩
⎭
α2
3 : x3 = 0
¯
α2
3 = (−2 + 4, 0, 1)
= (2, 0, 1) = ᾱ31
2
.
Hence the first three points are congruent, as they should be due to the zero
coefficients of x1 and x2 in α’s equation. As has already been pointed out, the
fourth superplane π1s
2
3
coincides with the first π1s , though for the computation of
the corresponding indexed point, the values based on the X̄1
, X̄2
, X̄3
coordinate
system are used, yielding
⎧
⎫
⎨
α1
2
: x2 = 21 x1
¯
α1
2
= 1 1 + 3, 0, 1 ⎪ ⎬
1− 2
= α ∩ π s
: ⇒
α
123 ⎩
⎪
α2
3
: x3 = 0
¯
α2
3
= (1 + 4, 0, 1)
⎭
= (5, 0, 1) = ᾱ1
2
3
.
This point’s distance of 3 from the others is, of course, due to the only nonzero
coefficient in α’s equation. The representation is shown in Fig. 5.26 (left).
Alternatively, the location of the indexed points can be found graphically, by the
intersection of two lines representing two points in the plane. The representations
of β and γ are shown in Fig. 5.26 (right) and Fig. 5.27 respectively.
5.3 ♣ FT-3 Construction Algorithms 143
Figure 5.26. Indexed points corresponding to α : x3 = 0 for the x1 x2 principal 2-plane on the left
and for the x2 x3 principal 2-plane β : x1 = 0 on the right.
κ : x1 = k0 (5.34)
κ : x2 = k0 , (5.36)
144 5. Planes, p-Flats, and Hyperplanes
κ̄123 = κ̄231
= (1, k0 , 1), κ̄31
2
= κ̄1
2
3
= (4, k0 , 1), (5.37)
κ : x2 = k0 (5.38)
κ̄123 = κ̄231
= κ̄31
2
= (2, k0 , 1), κ̄1
2
3
= (5, k0 , 1), (5.39)
with the representation in Fig. 5.29. Observe that the distance between adjacent
points is three times the value of the corresponding coefficient.
which is below π .
Joining
¯12 to
¯
23 and extending until it intersects the 0
vertical line locates the
point π̄0
, and similarly the point π̄1
is found specifying π
—really simple! From
the -coords display it is immediate that P
is below. One really has to struggle in
order to understand that from the Cartesian coordinates, and a lot of care is needed
to show this in that picture.
In Linear Programming the object is to move a plane parallel to another plane
π (objective function) on the highest vertex of a convex polytope CP (constraints).
It is worth trying to adapt this construction for many points to discover this top
vertex.
: ax+by < c
are “below”
and “above” with the reverse inequality. Right: In -coords the above–below relation
“flips” for lines with m = 1 due to the nonorientability of P2 .
While we are at it, we might as well find the plane ρ parallel to π and containing
the point T . Through T the line r parallel to
is determined (see Fig. 5.37) by the
point r̄23 at the intersection of the vertical line on
¯23 and T̄23 . The line R̄ on r̄23
and r̄12 =
¯12 represents the point R = r ∩ π1s by Theorem 5.2.1 and is on the
sought-after plane ρ, since r ⊂ ρ. The point ρ̄123 must be on R̄ at the intersection
of the vertical line through π̄123 , since ρ is to be parallel to π. All the rest is now
determined; H̄ρ is the horizontal line through ρ̄123 . It intersects the vertical line
through π̄231
at ρ̄231
.
With -coords, then, we have the means to do easy synthetic constructions,
such as those we enjoyed doing in elementary geometry, the lower-dimensional
ones honing our intuition for their multidimensional counterparts, which we shortly
meet.
5.3.7 ♣ FT-5 Rotation of a Plane about a Line and the Dual Translation
The analogue to the translation ↔ rotation duality in Fig. 5.6, based on the index-
point representation, brings into play many of the constructions we just learned.
Starting with augmented representation of a 2-flat with four rather than two points,
as derived in Figs. 5.22, 5.23 and 5.24, the intent is to show the rotation of a plane
π 2 : c1 x1 + c2 x2 + c3 x3 = c0 about a line π 1 . With only one line and plane
152 5. Planes, p-Flats, and Hyperplanes
, L̄
appearing, the superscripts denoting the flats’ dimensionality are not needed, for
the flat’s dimensionality can be determined from the number of subscripts. With
reference to Fig. 5.38, a position of π 2 is shown by the points π̄123 , π̄231
, π̄31
2
,
π̄1
2
3
, representing π 2 on the horizontal line H̄ , while the line’s π 1 representing
points are π̄12 , π̄13 , π̄23 on the line L̄, which, as in Fig. 5.25, also appears in terms
of the other triples of axes with L = π 1 ∩ π1s . Similarly, L
, L
, L
π̄1
2 π̄1
3 π̄2
3 on line L̄
, π̄12
π̄13
π̄2
3
on line L̄
, π̄12
π̄13
π̄2
3
on line L̄
With π 1 ⊂ π 2 , the picture is that shown in Fig. 5.20, where the point π̄123 is
on the intersection of H̄ with the line L̄, and similarly,
π̄231
= H̄ ∩ L̄
, π̄31
2
= H̄ ∩ L̄
, π̄1
2
3
= H̄ ∩ L̄
. (5.41)
The distance between adjacent points being proportional to the coefficient of the
plane’s equation (see Fig. 5.18), the intersections of the L̄-lines mark the posi-
tions where coefficients are zero. There, the plane π 2 is perpendicular to the
corresponding principal 2-plane. Specifically, at
H̄ ∩ L̄ ∩ L̄
, c1 = 0 and π 2 ⊥ x2 x3 plane,
5.3 ♣ FT-3 Construction Algorithms 153
H̄ ∩ L̄
∩ L̄
H̄ ∩ L¯
∩ L̄
, c3 = 0 and π 2 ⊥ x1 x2 plane.
Now translate H̄ vertically with the four triply indexed π̄ points moving along the
four lines L̄, . . . , L̄
). The coefficients ci are nonzero and, in this case, all positive when H̄ is in
the position shown in Fig. 5.39. When H̄ is on the point L̄
∩ L̄
, the π̄231
, π̄31
2
coincide. Hence c2 = 0 (see Fig. 5.18) and the plane π is perpendicular to the x1 x3
plane. Pursuing this closely, in Fig. 5.40, H̄ is just above this point, and in Fig. 5.41,
just below the point, significantly showing that π has flippe . Consider the oriented
plane together with its normal vector N , whose components are the coefficients ci .
We show next that H̄ just traversing all three points L̄i ∩ L̄i+1 corresponds to the
plane making a 180◦ rotation about its axis, resulting in the normal N → −N.
Open ILM2 and click the fift button with the -coords icon.
The plane and line in Cartesian coordinates are on the right.
A picture similar to Fig. 5.38 appears on the left.
lines.
Note the distance between the adjacent π̄
and the coefficients of the plane’s equation at the bottom.
Let
L̄i : y = mi x + bi , i = 0, 1, 2, 3, (5.43)
(b2 − b1 ) (m2 b1 − m1 b2 )
(xI , yI ) = L̄ ∩ L̄ = − , . (5.44)
(m2 − m1 ) (m2 − m1 )
5.3 ♣ FT-3 Construction Algorithms 155
For a value > 0, with the superscripts + , − denoting values above or below yI
respectively,
y + = yI + = mi xi+ + bi , y − = yI + = mi xi− + bi ,
Then
∩ L̄
, as stated below;
the superscripts +, − refer to the above/below position of H̄ with respect to the
intersection point.
Corollary 5.3.2 (Flip) For an oriented plane π having normal vector N =
(c1 , c2 , c3 ) rotating about a line
, the traversal of the point L̄i ∩ L̄i+1 , i = 0, 1, 2,
by H̄ corresponds to ci+ /ci− → −1, cj+ /cj− → 1, j = i.
This observation is useful in the study of nonorientability, as for the Möbius strip
in Chapter 9, on surfaces.
leaves the coefficient c1 of the plane’s equation invariant? The geometric require-
ment is for L̄ and L̄
to be parallel, that is, their point of intersection π̄23 is ideal. The
rotation then leaves the first coefficient c1 invariant. The direction of L̄ and hence
of π̄23 is determined by b3 . All of this is seen in Fig. 5.42 with the correspond-
ing translation of H̄ . The π̄123 , π̄231
, π̄31
2
, π̄1
2
3
rolling along L̄, L̄
, L¯
, L¯
respectively show the variation of the other coefficients of the plane’s equation.
The construction starts by choosing L̄ and L̄
in the direction given by b3 , while
the horizontal distance is 3c1 . As in Fig. 5.22, the coordinates of L̄
determine the
points π̄12 , π̄13 and the lines 12, 13. Or conversely, these are obtained from the
line’s equation, either way proceeding as outlined in Section 5.3.2, where only L¯
is not parallel to L̄. The pencil of planes obtained by the vertical translation of H̄
is now
Here it is assumed that the axis of rotation π 1 lies on the plane π 2 (see Exercise 8).
Then for π 2 : c1 x1 + c2 x2 + c3 x3 = c0 ,
1 :x =x +b ,
π23 3 2 3
(5.48)
2 : x = c1 x + c0 −c3 b3 .
π12 2 c2 +c3 1 c2 +c3
move only horizontally, and there are some interesting subcases. For example,
rotation of a plane π about its
π results in π̄123 being stationary (since it is
π ) while π̄231
is translated along H̄ , together, of course, with the other two
points. Similarly, rotation about
π leaves π̄231
stationary. Rotation about a general
axis π 1 ⊂ π 2 on H results in all triply indexed points moving simultaneously
along H̄ .
The rotation of a plane π viewed in -coords as the movement of points opens
up new vistas for generalization. For parallel translations of π , the correspond-
ing movement in -coords is vertical, with the “pencil” of planes so generated
being the family represented in Fig. 5.19. It is useful to design the transforma-
tion of planes defining the corresponding pair of loci of the points π̄123 , π̄231
on the plane. For example, in Chapter 9 it is shown that any developable sur-
face σ is represented by a pair of curves with the same minimum and maximum
y-coordinate, σ being the envelope of a one-parameter family of tangent planes
(Exercise 9). So in RN , a developable hypersurface is represented by N − 1 such
curves.
158 5. Planes, p-Flats, and Hyperplanes
With some care, the composition of transformations can be specified and visual-
ized as the union of the corresponding loci. Consider, for example, the representation
of “wobbling,” as in the motion of a spinning top, as the composition of a rotation
about an axis rotating about its tip while moving along a path in a plane (Exer-
cise 10). The interesting generalizations to RN are an excellent research topic; see,
for example, [15, pp. 403–409], and Sections 2.7 and 2.8.
Exercises
1. Given three noncollinear points P ∈ π1s , P
∈ π1s
, P
∈ π1s
2
, provide an
algorithm that finds the representation of the 2-flat π 2 that contains the three
points. Even though a plane is uniquely specified by three noncollinear points,
in this case the algorithm should take advantage of the fact that three given
points belong to the three principal sp.
2. For the construction of the four indexed points in Section 5.3.2, prove that any
choice of the three lines L̄, L̄
, L̄
This means that you should show that for any input, the algorithm terminates
with the correct output.
u : x2 = x1 , x3 = x2 , . . . , xi = xi−1 , . . . , xN = xN −1 . (5.49)
The form of the equations shows that in the 3-dimensional subspace xi−2 xi−1 xi ,
Ns
the π(i−2)(i−1)i are the pencil of 2-flats on the 1-flat (line) xi−1 = xi−2 , xi = xi−1 .
Noting that each such 2-flat contains the points (1, 1, 1), (di−2 , di−1 , di ) enables
the elimination of the parameter ki in the equations π N s . Rewriting in terms of the
axes spacing yields
160 5. Planes, p-Flats, and Hyperplanes
This is a good time to define a recursive notational convention27 for the axis spacing
resulting from the successive translations of the X̄i to the new positions X̄i
. For
the initial N-axes system X̄1 , X̄2 , . . . , X̄N , we write
i
" #$ %
0
dN = (0, 1, 2, . . . , i − 1, . . . , N − 1),
stating that the first axis X̄1 is placed at x = 0, X̄2 is placed at x = 1, . . . and X̄N at
x = N − 1. After translating the X̄1 axis one unit to the right of X̄N and renaming
it X̄1
, the axis spacing N-tuple is
i
" #$ %
1 0
dN = dN + (N, 0, . . . , 0) = (N, 1, 2, . . . , i − 1, . . . , N − 1).
And after i such successive unit translations with the X̄i axis in position X̄i
, the
axis spacing for i = 0, . . . , N, k = 1, . . . , N is given by
i
" #$ %
i 0
dN = dN + (N, . . . , N, 0, . . . , 0) (5.53)
i
" #$ %
= (N, N + 1, . . . , i − 1 + N, i, . . . , N − 1) = (dik ).
27
I am indebted to Liat Cohen for proposing this notation.
5.4 Hyperplanes and p-Flats in RN 161
To clarify the indices, i refers to the number of the axis translations, and k is the
position (component) within the vector dN i . By means of the step function
1 i ≥ k,
Si (k) = (5.54)
0 i < k,
When the dimensionality is clear from the context, the subscript N can be omitted.
i spacing, the points π̄ p
For a flat π p expressed in terms of the dN 1
,... ,i
,i+1,... ,N of its
p p
representation are denoted compactly by π̄i
, and it is consistent to write π p = π0
,
that is, π p described in terms of the axis spacing dN 0.
X̄1
one unit to the right of X̄4 with the resulting axis spacing d1 = (4, 1, 2, 3),
yielding
s
π1
23 : x1 + 2x2 − 3x3 = 0,
π14s
: (5.57)
s
π234 : x2 − 2x3 + x4 = 0.
√ √ 1 23
cos (− 3/7) = 180 − φ, φ = cos ( 3/7) ≈ 49.1◦ . Note that since
−1 ◦ −1
s remains unchanged, this is not a complete rotation of π 4s about the line u.
π234 1234
Proceeding with the translation of X̄2 to position X̄2
one unit to the right of X̄1
3
unit to the right of X̄2 , d = (4, 5, 6, 3) and
s
π1
2
3
: x1 − 2x2 + x3 = 0,
π34s
: (5.59)
π2s
3
4 : 3x2 − 2x3 − x4 = 0,
returning π1s
2
3
to its original position π123 s while bringing π s
2
3
4 to an angle 2φ
from π2
34 . Again this is not a complete rotation of the whole sp about the line u. The
s
s
which is identical to π1234 . Unlike the case in R3 , here the rotations’ angles are
not all equal, though the sum is a full circle. The “anomaly” suggests that φ(N )
is a function of the dimensionality N with φ(3) = 60◦ and φ(4) ≈ 49.1◦ , and it
N s is the sp for the standard axes
is interesting to investigate further. For RN , π123
spacing d0 = (0, 1, 2, . . . , N − 2, N − 1). The sp, after the translation of X̄1 to
position X̄1
with axis spacing d1 = (N, 1, 2, . . . , N − 2, N − 1), is π123N s . The
equations derived from (5.51) are:
5.4 Hyperplanes and p-Flats in RN 163
⎧
⎨π Ns : x1 − 2x2 + x3 = 0,
123
(5.61)
⎩π Ns : x + (N − 2)x + (1 − N)x = 0.
1
23 1 2 3
some of whose values are φ(5) ≈ 47.88◦ , φ(6) = 45◦ , and the limN →∞ φ(N ) =
30◦ .
Next let us compute the 1-flat (line) intersection
π = π 4s ∩ π where the plane
π ⊂ R4 to find the index-points representation for π, first for a general axis spacing
d = (d1 , d2 , d3 , d4 ) described by
⎧
⎪
⎪ π : c1 x1 + c2 x2 + c3 x3 + c4 x4 = c0 ,
⎪
⎨
4s : (d − d )x + (d − d )x + (d − d )x = 0,
π123 (5.63)
3 2 1 1 3 2 2 1 3
⎪
⎪
⎪
⎩ 4s
π234 : (d4 − d3 )x2 + (d2 − d4 )x3 + (d3 − d2 )x4 = 0.
Substituting the axis spacing dN i in the above, the indexed points for the
representation of π are obtained below, where S = 4i=1 ci :
164 5. Planes, p-Flats, and Hyperplanes
⎧
⎪
⎪ π̄0
= π̄1234 = (c2 + 2c3 + 3c4 , c0 , S),
⎪
⎪
⎪
⎪
⎪
⎪ π̄
= π̄1
234 = (4c1 + c2 + 2c3 + 3c4 , c0 , S)
⎨ 1
π̄2
= π̄1
2
34 = (4c1 + 5c2 + 2c3 + 3c4 , c0 , S), (5.67)
⎪
⎪
⎪
⎪
⎪
⎪ π̄3
= π̄1
2
3
4 = (4c1 + 5c2 + 6c3 + 3c4 , c0 , S),
⎪
⎪
⎩ π̄
= π̄
= (4c1 + 5c2 + 6c3 + 7c4 , c0 , S).
4 1234
We wrote this out in full detail to show that again, the distance between adja-
cently indexed points, appearing on the left above in simplified notation, is as
for R3 proportional (equal to the dimension) to the corresponding coefficient.
Specifically,
⎧
⎪
⎪ π̄1
− π̄0
= (4c1 , 0, 0),
⎪
⎪
⎪
⎨ π̄2
− π̄1
= (4c2 , 0, 0),
(5.68)
⎪
⎪ π̄3
− π̄2
= (4c3 , 0, 0),
⎪
⎪
⎪
⎩
π̄4
− π̄3
= (4c4 , 0, 0).
From this the relations analogous to (8.60) are immediately found, i.e.,
x(π̄3
) = 12 − [x(π̄0
) + x(π̄1
) + x(π̄2
)], x(π̄4
) = 4 + x(π̄0
). (5.69)
To reduce the cumbersome notation, the sp equations (5.56), (5.57), (5.58), (5.59),
(5.60) are referred to by π04s
, π14s
, π24s
, π34s
, π44s
respectively. Next we show that
the indexed points can be easily obtained in general and the property in (5.68) holds
for all N.
Exercises
1. State explicitly the equations for the first sp in R5 .
2. Perform the standard translations of the five coordinate axes in R5 to obtain
explicitly the corresponding rotated five sp.
3. Obtain the coordinates of the six points arising in the representation of a 4-flat
in R5 . This is the generalization of (5.67).
from the translation of the axes X̄1 , . . . , X̄i , to the positions X̄1
, . . . , X̄i
, see
(9.1), is denoted by π̄i
.
Theorem 5.4.1 (B. Dimsdale) The 1-fla π ∩ πiN
s , where i = 0, 1, . . . , N and
N
π: ck xk = c0 , (5.70)
k=1
where the dik are the interaxis distances for the spacing dN i as given in (9.1).
Explicitly, using (9.3),
N
N
π̄i
= (k − 1 + NSi (k))ck , c0 , ck . (5.72)
k=1 k=1
Proof. To determine the 1-flat and obtain its representation, it suffices to find two
points in the intersection π ∩ πiNs
.
Step 3. By Step 1, P¯j is the straight line y = mj x +bj in the xy plane, and together
with Step 2 we have
N
ck {mj dk + (y − mj x)} = c0 ,
k=1
or
N
N
N
−mj ck x+ ck y = −mj dk ck + c0 ; (5.74)
k=1 k=1 k=1
Step 4. Since xy is the projective plane P2 , for any two distinct points P1 , P2 the
corresponding lines P¯1 and P¯2 intersect at
N N
(−m1 + m2 ) ck x = (−m1 + m2 ) dk ck
k=1 k=1
N
N
⇒ ck x= dk ck .
k=1 k=1
The point (x, y) is independent of the particular lines P̄1 and P̄2 used, so all
the lines P̄j for the P̄j in Step 2 must intersect at the same (x, y). Converting to
homogeneous coordinates yields (5.71).
Corollary 5.4.2 (Hyperplane Representation; J. Eickemeyer) The hyper-
plane π given by (5.70) is represented by the N − 1 points π̄i
with N indices
given by (5.72), for i = 0, 1, 2, . . . , (N − 2).
Specifically,
⎧
⎪
⎪ π̄0
= π̄12...N = (c2 + 2c3 + · · · + (k − 1)ck + · · · + (N − 1)cN , c0 , S),
⎪
⎪
⎪
⎪
⎪
⎪π̄1
= (Nc1 + c2 + · · · + (k − 1)ck + · · · + (N − 1)cN , c0 , S),
⎪
⎪
⎪
⎪
⎪
⎪ π̄2
= (Nc1 + (N + 1)c2 + · · · + (k − 1)ck + · · · + (N − 1)cN , c0 , S),
⎪
⎪
⎪
⎪
⎪
⎪ ···
⎪
⎨
π̄i
= (Nc1 + · · · + (N + i − 1)ci + ici+1 + · · · + (N − 1)cN , c0 , S), i ≥ 1,
⎪
⎪
⎪
⎪
⎪
⎪ ···
⎪
⎪
⎪
⎪ π̄(N−2)
= (Nc1 + · · · + (2N − 3)cN −2 + (N − 2)cN −1 + (N − 1)cN , c0 , S),
⎪
⎪
⎪
⎪
⎪
⎪
⎪
⎪ π̄(N−1)
= (Nc1 + · · · + (2N − 3)cN −2 + (2N − 2)cN −1 + (N − 1)cN , c0 , S),
⎪
⎪
⎪
⎩
π̄N
= (Nc1 + · · · + (2N − 3)cN−2 + (2N − 2)cN −1 + (2N − 1)cN , c0 , S),
(5.75)
where S = N k=1 ck . The first N − 1 points suffice for the representation. As was
done for R and R4 , it is useful to generate the two additional points π̄N
3
−1 , π̄N ,
5.4 Hyperplanes and p-Flats in RN 167
N−1 N
which here, based on the axis spacing dN , dN , with the their x coordinates
(analogous to (5.69)) given by
N −2
x(N−1)
= N(N − 1) − xi
, xN = N + x0
, (5.76)
i=0
p
Proof. Each πj ···(p+j ) in (5.77) can be considered as a hyperplane in R(p+1) :
xj . . . xj +p+1 , whose representation, according to Corollary 5.4.2, consists of the
p
p points π̄{j ... ,(p+j )}
, i = 1, . . . , p. They are prescribed by the axis spacing
i
i = (d , . . . , d
dN i1 i(p+1) , . . . , N) as Theorem 5.4.1. There are (N −p) hyperplanes
described by (5.77); therefore there are (N − p)p such points altogether.
♣ FT-6 To clarify, a hyperplane π in R4 π (i.e., 3-flat) can be represented by
the three points
π̄1234 , π̄1
234 , π̄1
2
34 , (5.79)
2 2
π123 : π̄123 , π̄12
23 ; 2
π234 2
: π̄234 , π̄22
34 . (5.80)
The pair (5.82) and (5.83) state the basic recursive construction implied in
the representation mapping stated formally below. The recursion is on the dimen-
sionality, increased by one at each stage, of the flat whose representative points are
constructed. Though the notation may seem intimidating, the idea is straightforward,
and to clarify it we illustrate it for a hyperplane π 3 ⊂ R4 in Figs. 5.44 and 5.46
starting from the four points π 01 , π 02 , π 03 , π 04 with → pointing to the construction
result. Diagrammatically, the sequence of steps is
& ⎫
π 01 , π 02 → π 11 21 ⎪
→ π (π̄123 , π̄1
23 )⎪
2 1 21
⎪
⎪
π 02 , π 03 → π 12 ⎬
& → π 3 (π̄1234
3 , π̄13
234 , π̄13
2
34 ).
⎪
⎪
π 02 , π 03 → π 12 ⎪
→ π22 (π̄234 22
, π̄22
234 ) ⎪
⎭
π ,π → π
03 04 13
(5.84)
For the construction of a regular (i.e., not ideal) flat, the flats π p ⊂ π 3 with
dimensionality 3 > p ≥ 1 in the construction must have a nonempty intersec-
tion. From the polygonal lines representing π 01 , π 02 , π 03 , the two 1-flats π 11 , π 12
11 11 11
are constructed with π 11 ∩ π 12 = π 02 , yielding the points π̄12 , π̄23 , π̄34 , as
shown in Fig. 5.44 (left). The portion of the construction involving x1 , x2 , x3 is
shown in Cartesian coordinates in Fig. 5.45. The three representing points for each
1-flat are joined by two lines to form polygonal lines having three vertices (the
170 5. Planes, p-Flats, and Hyperplanes
21 21
points). From the intersection of these new polygonal lines the points π̄123 , π̄234 ,
3
representing a 2-flat contained on π , are constructed as shown on the right of
Fig. 5.44. Similarly, π 22 is constructed from the three points π 02 , π 03 , π 04 in the
same way.
At any stage, a point representing π̄ r , where the superscript is the flat’s dimen-
sion, is obtained by the intersection of any pair of lines joining points representing
flats of dimension r − 1 contained in π r .
The axes X̄1 , X̄2 are each translated four units to the right, and construction
3 , π̄ 3
proceeds until all three representing points π̄1234 3
1
234 , π̄1
2
34 are obtained. The
first translation is shown in Fig. 5.46 on the right. As a reminder, these points
represent the lines that are the intersections of π 3 with the first superplane, due to
the standard spacing with d1 = 0, d2 = 1, d3 = 2, d4 = 3, followed by the second
sp with d1
= 4 and then the third sp with d2
= 5 in R4 .
Theorem 5.4.4 (Collinearity Construction Algorithm) For any π (p−2) ⊂
(p−2) (p−2) (p−1)
π (p−1) ⊂ RN , the points π̄1...(p−1) , π̄2...(p−1)p , π̄1...(p−1)p are collinear.
5.4 Hyperplanes and p-Flats in RN 171
Figure 5.45. The construction of the x1 x2 x3 part of the 3-flat π 3 from four points (0-flats).
(p−2) (p−2)
Substitution in the first two equations for π (p−2) , i.e., π12...(p−2) , π2...(p−2)(p−1) ,
yields
⎧ (p−2)
⎨π12...(p−2) : a11 α1r + · · · + a(p−2)1 α(p−2)
r + a(p−1)1 α(p−1)r = a01 ,
⎩ (p−2)
π2...(p−2)(p−1) : a22 α2r + · · · + a(p−1)2 α(p−1)
r + ap2 αpr = a02 ,
172 5. Planes, p-Flats, and Hyperplanes
whose sum is
a11 α1r + (a21 + a22 )α2r + · · · + (a(p−1)1 + a(p−1)2 )α(p−1)
r
+ ap2 αpr
Step 3. Equations (5.86) and (5.87) are the same, since subtracting one from the
other yields
α1r (c11 − a11 ) + α2r {c21 − (a21 + a22 )} + · · · + αpr (cp1 − ap2 )
c01 = (a01 + a02 ), c11 = a11 , cp1 = ap2 , ck1 = (ak1 + ak2 ),
k = 2, . . . , p − 1. (5.90)
and
p
(p−1)
p
π̄12...(p−1)p = d1k c2k , c01 , c1k .
k=1 k=1
Note that for this portion of the construction, the axis spacing, is d1k = d2k ,
k = 1, 2, . . . , p. Forming the determinant from these homogeneous coordinates
yields
p−1 p−1
k=1 d 1k a 1k a 01 k=1 a 1k
p p
d a a a
k=2 2k 2k 02 k=2 2k
p p
d 1k c2k c 01 c2k
k=1 k=1 .
From Step 3 and the observation on the axis spacing, the last row is the sum of the
first and second rows; thus the value of the determinant is zero, showing that the
three points are collinear.
(p−2)
Corollary 5.4.5. For any π (p−2) ⊂ π (p−1) ⊂ RN , the points π̄{j ...(p+j −2)}
,
i
(p−2) (p−1)
π̄{(j +1)...(p+j −1)}
, π̄{(j ...(p+j −1)}
are collinear.
i i
The proof is the same, taking proper care to keep track of the indices and the
corresponding axis spacing. The recursive construction is illustrated for a 5-flat in
R6 from Figs. 5.47 through 5.49.
Exercises
1. What points represent the sp in RN ?
174 5. Planes, p-Flats, and Hyperplanes
are chosen on
the points 1234, 1
234, 1
2
34 respectively. Clearly P ∈ π 3 ∩ π14s , P
∈ π 3 ∩ π14s
,
P
∈ π 3 ∩ π14s
As for a 1-flat in a 2-flat, see Fig. 5.20; also, for a 2-flat in a 3-flat P̄ ∩ P̄
, π̄234 2 is
one of the points representing π 2 . It is denoted by 234 and is on the the horizontal
line 234, so that 2
34 is 234 ∩ P̄
∈ π 3 ∩ π14s
2
3
4
with π14s
2
3
4
coinciding with π1234
4s . The
intersections of P̄ with the lines 123, 1234 determine the points 1 2 3 and 1
2
3
4.
whose intersection with 1234 provides the the fifth point of the representation of
π 3 . The four independent points P , P
, P
P̄ ∩ P̄
, 234 also establishes the 234 horizontal line with π̄22
34 = P¯
∩ 234 marked
by 2
34. The points 2
3
4, 2
3
4
and, using the previous algorithm, also 1
2
3
4 are
constructed and for easy reference are marked by dotted circles.
176 5. Planes, p-Flats, and Hyperplanes
on the points 2
3
4, 1
2
3
41 is constructed, providing 1
2
3
42 =
P̄
∩ 12342 and 1
2
3
= P̄
Exercises
1. Simplify the above constructions using the relations in (5.69).
2. Given four points each in a successive sp, provide an algorithm to construct the
3-flat containing them.
3. For the algorithm in Section 5.5.1, show that the result is invariant for any choice
of points P ∈ π 3 ∩ π14s , P
∈ π 3 ∩ π14s
, P
∈ π 3 ∩ π14s
P iv ∈ π 3 ∩ π14s
2
3
4 ,
2 .
and π123
4. Generalize the algorithm in Section 5.3.6 for a point P and 3-flat π 3 in R4 .
5. For a given 3-flat π 3 and a 1-flat (line)
, provide conditions for containment
⊂ π 3 and
∩ π 3 = ∅. What is
∩ π 3 ?
6. Generalize the algorithm of Section 5.5.1 to R5 and construct the six points
arising in the representation of a 4-flat given the first four points.
7. Generalize the algorithm of Section 5.5.2 to construct the intersection of two
4-flats in R5 .
5.5 ** Construction Algorithms in R4 177
Figure 5.50. Continuing the construction of indexed points for a 3-flat π 3 in 4D.
On the left is the point π̄1234 previously constructed in Fig. 5.46. Using simplified notation, the
construction is continued on the right to obtain the point π̄1
234 , marked by 1
234. The points
1231 , 1
231 , 2341 are points of the representation of a 2-flat π12 contained in π 3 . The lines P̄1 , P̄1
on
1234 and 1
234 share the indices 234 and necessarily intersect at the point 2341 .
5.6 Detecting Near Coplanarity 179
Figure 5.51. On the left are the initial data for a 3-flat π 3 in R4 .
Three points (right) P ∈ π 3 ∩π14s , P
∈ π 3 ∩π14s , P
Figure 5.52. Completing the construction of the five points representing a hyperplane in R4 .
Figure 5.53. On the left are the initial data specifying two 3-flats π 31 , π 32 in R4 .
On the right, the lines P̄ , P̄
, P̄
slab, and repeating the construction for the representation of planes. As shown
in Figs. 5.55, 5.56, there is a remarkable resemblance to the coplanarity pattern.
The construction also works for any N . It is also possible to obtain error bounds
measuring the “near coplanarity” [131]. This topic is covered in Chapter 8 on
proximity.
Experiments performing similar constructions with points selected from several
twisted slabs simultaneously showed that it is possible to determine the slabs
from which the points were obtained or conversely can be fitted to. All this has
important and interesting applications (USA patent # 5,631,982). Given a set of
points composed of point clusters each from a different plane (or hyperplane),
the determination of these planes can be made with very high accuracy and low
computational complexity, as shown in the appendix on recent results.
The construction of a p-flat from its points (0-flats) to lines (1-flats) and so on
proceeds according to Theorem 5.4.4, the dimensionality being raised by 1 until it
reaches p, providing the indexed points needed for the representation.
Let Nr be the number of points and nr the number of indices appearing in the
representation of a flat in RN . Then for a p-flat, Nr = (N − p)p, nr = p + 1, so
that
1. p = 0: points π 0 : Nr + nr = N + 1 ,
2. p = 1: lines π 1 : Nr + nr = (N − 1) + 2 = N + 1 ,
3. p = 2: 2-flats (2-planes) π 2 : Nr + nr = (N − 2)2 + 3 = 2N − 1 ,
4. p = N −1: hyperplanes Nr = N −1, nr = N : Nr +nr = N −1+N = 2N −1.
182 5. Planes, p-Flats, and Hyperplanes
Figure 5.55. Polygonal lines representing a randomly selected set of “nearly” coplanar points.
Note that (5.94) does not include the case for p = 0 (points). In summary, the
representation by points reveals that the object being represented is a p-flat whose
dimensionality is one less than the number of indices used. The dimensionality of
the space where the p-flat resides is, of course, equal to the number of parallel axes,
or it can also be found from the number of points (N − p)p if one knows the value
of p.
5.7 Representation Mapping, Version II 183
** Envelopes
x2 y2
F (x, y, a) = 2 + − 1 = 0,
a (1 − a)2
as shown in Fig. 6.3. These are the ellipses centered at the origin with semiaxes of
length a and a − 1. That is, the sum of the length of the semiaxes is always 1; so
the circle with diameter 1 is included in this family.
6.2 Formulation
A one-parameter family of curves in the xy plane can be described by a function
F (x, y, a) = 0, (6.1)
where a ∈ R. There may exist a curve E that touches28 at each of its points a member
of (6.1). The curve E is called the envelope of the family F . There remains to see
28
In the ensuing it will become clear why the word “touches” rather than “tangent” is used here.
6.2 Formulation 187
how E , when it exists, can be found. Keeping with the mantra “let intuition guide the
formalism,” we will add the conditions as the need is encountered and explained.
At first we assume that the curves of F are tangent to E , and that neighboring
curves of the family intersect at points “close” to E and lie on the same side. This
is the purpose of the illustration in Fig. 6.4, where the curves F (x, y, a) = 0 and
F (x, y, a + h) = 0 are shown intersecting at P . The idea is to find the point of
intersection P of these two curves and let h → 0. Then, given sufficient smoothness
188 6. ** Envelopes
F (x, y, a) = F (x, y, a + h) = 0,
and therefore
F (x, y, a + h) − F (x, y, a)
= 0.
h
When the function F (x, y, a) = 0 is differentiable with respect to a ∀a ∈ R
and h → 0 above, we obtain that the point of contact with E has coordinates (x, y),
which are found by eliminating the parameter a from the two equations:
F (x, y, a) = 0,
(6.2)
∂F (x, y, a) = 0.
∂a
with
2
dx 2 dy
+ = 0, (6.4)
da da
and is tangent to the curve F (x, y, a) = 0 with the same value of the parameter
a at the point of contact, as shown in Fig. 6.5. The underlying reason why such a
parametrization is possible here is that at each point (x, y) of E there exists an a
specifying F (x, y, a) at that point. Hence it is possible to parametrize E in terms
of a with
dy
The derivatives dx
da , da are proportional to the direction cosines of the tangent
t of E , while the quantities Fx , Fy are proportional to the direction cosines of the
normal n to the curve F (x, y, a) = 0 of the family. These two vectors t, n must be
orthogonal to each other. Therefore, the inner product of the corresponding direction
cosines satisfies
dx dy
Fx + Fy = 0, (6.7)
da da
so that (6.6) and (6.7) together imply
Fa (x, y, a) = 0.
Hence the conditions of (6.2), which were previously found sufficien , have now
been shown to be necessary for the existence of E .
Fx (x, y, a) = Fy (x, y, a) = 0,
the curve F (x, y, a) = 0 of the family may have singular points (where F is not
continuously differentiable there), and no conlusions can be drawn about the contact
of the curves. For algebraic curves (i.e., polynomials), the singular points may be
• points of self-intersection: points where the curve crosses itself,
• points of self-tangency: where the derivative is continuous but the curve has
portions above and below the tangent at each point,
• cusps: where the derivative is not continuous,
• isolated points: points disjoint from the curve.
190 6. ** Envelopes
An algebraic curve can have only a finite number of singular points, and when
it has none, it is called smooth. When the envelope is found using (6.2), E may also
contain singular points.
x 2 + y 2 = 4.
Each curve in this family consists of a parabola and its reflection about the x
axis, so there is a point of self-tangency at (a, 0). Using (6.2), the envelope
is found to consist of all the points (called the locus) of self-tangency, as
illustrated in Fig. 6.7. This example shows that it is not essential, as assumed
in the formulation, for the curves to be on one side of E , and it suffices that
there be sets of points of intersection of neighboring curves on either side that
enable the limit as h → 0 in the derivation of (6.2) to exist.
3. Applying (6.2) to the family of cubical parabolas
gives the x axis, which is the locus of the cusps, as a result. From Fig. 6.8 it is
clear, however, that this is not the envelope, since it is not tangent to the curves
of the family at the point of contact. It is instructive to review the derivation
of (6.2) and find which of the assumptions failed to be true here.
4. The next example illustrates that the points of the envelope need not be the
limit of neighboring intersecting points of the curves in the family. Consider
the family of cubical parabolas
which are identical except for the translation by a and do not intersect each
other. Applying (6.2) provides the condition Fa = 3(x − a)2 = 0, which in
turn shows that E is the x axis. We accept this as the envelope of the family,
since each F is tangent to it, as shown in Fig. 6.9.
5. For our last example we consider the family of strophoids
which as Fig. 6.10 shows are self-intersecting (the point of intersection is also
called a double point). Each curve can be translated to any other curve. We find
that
Fa = −2(y − a)(x − 2) = 0 #⇒ x = 2 or y = a.
Since no finite finite value of y corresponds to x = 2, we take y = a, so that
x 2 (x −2)+2 = 0. This suggests that E consists of the two vertical lines x = 0
and x = 1. Yet it is clear from the figure that only x = 0 can be considered as
the envelope, while the line x = 1 is the locus of the self-intersections. Again
it is a good idea to run through the derivation to see which assumptions failed
to be true.
Exercises
1. Prove that one arc of the astroid is the envelope of the falling stick as described
at the beginning of this section.
2. Prove that all four arcs of the astroid are the envelopes of the ellipses whose
semiaxes have a constant sum.
194 6. ** Envelopes
3. Find the envelope of the family of ellipses whose semiaxes are collinear and
whose areas are constant. Hint: Area of ellipse = πab, where a, b are the
lengths of the semiaxes.
In connection with parallel coordinates,
4. Prove the basic point ↔ line duality using envelopes.
5. Derive the vertical-line representation of planes using envelopes.
6. Derive the 2-point representation of planes in R 3 using envelopes.
7. Show using envelopes that in P 2 , conics are mapped into conics. This is an
excellent but challenging project topic.
7
Curves
We revisit the fundamental duality in the plane, Chapter 3, starting with the point-
to-line correspondence
where d is the distance between the X̄1 and X̄2 axes and the triples within [· · · ] and
(· · · ) are the line and point homogeneous coordinates respectively. Unless otherwise
stated, P is a regular (i.e., Euclidean) point, so without loss of generality, p3 = 1,
whence
The image of each point P on a curve c is a line obtained from (7.1), as shown in
Fig. 7.1 (left), and the envelope of all such lines, when it exists, is the curve c̄, the
image of c. So we need to consider two types of curves: the point-curves we have
known and loved all our lives, and which are made up of points, and line-curves,
Figure 7.1. Point c and line curves c̄. (Right) Vertex in r maps into a straight line in r̄.
which are formed by the envelope of a family of lines, usually but not always their
tangents.
The point ↔ line duality in the projective plane P2 causes the duality
point-curve ↔ line-curve.
¯ the point image of the line (curve) of
given by (7.3), is the envelope of the
In fact,
,
lines P̄ for P ∈
. In this chapter we learn to construct the representation of curves
in -coords efficiently and study properties of the image curves. In the ensuing, we
consider piecewise differentiable curves r, i.e., r = r1 ∪ r2 ∪ · · · ∪ ri ∪ ri+1 · · · ∪
rn , where the ri are differentiable. The endpoints of r may be ideal. At a vertex
Vi = ri ∩ rr+1 where there are two tangents, r̄ will contain a straight-line segment
V̄i separating the two line-curves r̄1 , r̄i+1 ; see Fig. 7.1 (right).
where mc (P ) is the slope of the tangent of the curve c : x2 = r(x1 ) at the point
P . Further, by considering at each vertex the supporting line with maximum slope
instead of the tangent in the above definition, Mc (I ) can be defined for a complete
piecewise smooth curve. Clearly, then, tracing the above/below relation in the
image c̄ of a curve c depends on whether Mc (I ) goes through the value 1. There
are some straight forward consequences of the lemma, which for convenience are
listed separately. They are true because the statements are true pointwise.
Corollary 7.1.2. 1. For Mc < 1, c is below (above) a point P ⇐⇒ c̄ is below
(above) P̄ .
2. For Mc ≥ 1, c is below (above) a point P ⇐⇒ c̄ is above (below) P̄ .
Definitio 7.1.3. A curve segment r is convex downward (cd) (also sometimes called
“concave”) if it is on or below any one of its tangents (or more generally, supporting
lines). It is convex upward (cu) if it is on or above any one of its tangents; see Fig. 7.3.
When for the curve r : x2 = r(x1 ), r
and r
29
Fortunately, consideration of the “slope subcases” is not required for higher dimensions; see
section 5.3.5 in chapter 5 on planes.
198 7. Curves
Figure 7.3. Curves r flip cu ↔ cd for Mr < 1 and do not flip for Mr ≥ 1; Corollary 7.1.4.
r
is monotone decreasing, so r
Proof. Since r̄ is on or above any of its tangents, it follows that r̄ cu, as shown in
Fig. 7.3. Pay attention that even though the above/below relation between
, P ,
, ¯
and P̄ is preserved, the cu/cd property between r and r̄ “flips,” since r is a point-
curve and r̄ is a line-curve. The proof for the remaining cases (two of which are
illustrated in Fig. 7.3) is completely analogous.
Certain properties are not intrinsic to a curve. Rather, they are incidental to
the curve’s position or orientation with respect to a specific coordinate system. For
example, vertical or horizontal tangents do not persist under a rotation, and for
that matter, cu ↔ cd with appropriate rotations. Properties such as shape (circle,
triangle) that are unaltered by rotations, translations, and scaling are geometrical.
The properties of curves and surfaces varying pointwise are studied in differential
geometry using the techniques of calculus and vector analysis for the more elemen-
tary aspects, and tensor methods for the more advanced. In keeping with our aim of
making this text widely accessible, only the essentials of this subject are employed.
For a more rigorous and thorough background there are excellent references such
7.2 Duality between Cusps and Inflection Points 199
as [166], [75], [183], [48], with [121] recommended for a most enjoyable overview
interlaced with the historical development of differential geometry (Chapters 23
and 37).
(x1 ) = 0,
the circle with the largest radius
R(x1 ) having the same tangent
at P as c is found, and it mea-
sures the local curvature = 1/R
of c (though “circularity” would
be a more accurate term). The
circle’s arc is the best “circular” Figure 7.4. Types of points on a curve.
The coordinate system here is the tangent and
approximation of the curve at P .
normal at the point.
Clearly this circle’s center, called
the center of curvature, lies on the
concave side of c. The directed line perpendicular to the tangent at P and pointing
toward the center of curvature is the normal. Directing the tangent so that together
with the normal as axes they form a right-handed orthogonal coordinate system
provides a convenient frame of reference for the study of the curve’s behavior and
characterization of various types of points, described next and illustrated in Fig. 7.4.
1. Regular30 : where the normal but not the tangent crosses the curve. A line
crosses a curve when parts of the curve (consisting of more than a point) lie
on both sides of the curve as in (a) of Fig. 7.4.
2. Inflectio point (ip): where both the tangent and the normal cross the curve as
in (b) of Fig. 7.4.
3. Cusp of the first kind: where the tangent but not the normal crosses the curve
as in (d) of Fig. 7.4.
30
This name here is not to be confused with a regular (i.e., Euclidean) point of the projective plane.
200 7. Curves
4. Cusp of the second kind: where neither the tangent nor the normal crosses the
curve as in (c) of Fig. 7.4.
This by no means exhausts the possibilities. We will not deal with other kinds
of singularities, which have more complicated rigorous descriptions, though some
are easy enough to illustrate. Points that are not regular are called singular. In fact,
we will consider only cusps of the first kind and refer to them simply as cusps.
It is important to note that curves having cusps and inflection points have both
a cu and cd portion in a neighborhood of these points. Strikingly, our point–line
duality induces an ip–cusp duality. This result, which we obtain next with straight
forward geometric argument, is more general than that shown in algebraic geometry
specifically for algebraic (polynomial) curves [61, p. 88].
Theorem 7.2.1 (ip ↔ cusp duality) ♣ FT-2
1. I ip of a point-curve r with tangent i ↔ ī cusp of the line-curve r̄ with tan-
gent I¯.
2. C cusp of a point-curve r with tangent c ↔ c̄ ip of the line-curve r̄ with tan-
gent C̄.
Proof. Step 1. Consider a curve r having an inflection point I with tangent i in the
tangent (x1 )–normal (x2 ) coordinate system shown in Fig. 7.5. Since the slope of
the tangent i at I is zero, ∃ an interval S on the x1 (tangent) axis containing I and
where Mr < 1. It is easy to see that in a neighborhood S of an inflection point the
curve is necessarily monotone (increasing or decreasing). Further, with S, r has a
cu part ru and a cd part rd with the transition occurring at the inflection point I (see
exercises below).
Step 2. By Step 1, for each a ∈ I ∃a1
also ∈ S such that r
(a) = r
(a1
).
Step 3. By Step 2 and (7.3) for the tangents t, t
to r at the points P = r(a),
P = (a1
) respectively, t¯, t¯
the corresponding points on r̄ occur at the same
x = 1−m 1 , m being the common slope of t and t
, of the xy plane. Hence the
curve r is double-valued.
Step 4. By Step 1 and Corollary 7.1.4, r̄ must consist of a cu and cd portion.
Specifically, since Mr < 1 on I , r̄u is cd and r̄d is cu, and I¯ is the tangent separating
them at ī.
Step 5. Now let us consider the case that the tangent at the point of inflection has
slope other than 0. Specifically, as shown in Fig. 7.6, r has inflection point I1
with tangent i1 having slope less than 1 and not necessarily 0. By exactly the same
argument as above, r̄ has a cusp at ī1 with tangent I¯1 . The portions ru and rd become
cd r¯u and cu r¯d respectively.
Step 6. The counterpart for a curve s with Ms > 1 having an inflection point (see
Fig. 7.6) is still the same kind of argument, where now the cu and cd parts stay cu
and cd in the image r̄.
Step 7. The proof of the second assertion for cusps is similar. Again we start with a
point-curve r shown in Fig. 7.7 with the normal–tangent coordinate system, having
a cusp C with slope c. It is clear that the image c̄ equals x ∩ X¯2 . Since C is a cusp,
∃ an interval S on the x1 (tangent) axis with C ∈ S, and on this interval, Mr < 1.
Further, ∀aS∃a
∈ S such that the derivatives r
(a), −r
(a
) are equal, with t and t
Step 8. Step 7 implies that t¯ and t¯ will be on opposite sides of the X¯2 axis where c̄
resides. Hence ru and rd will be on opposite sides of the X¯2 axis, since this is true
∀a ∈ S. Since Mr < 1 there, r¯u is cd and rd is cu.
Step 9. The image r̄ = r¯u ∪ r¯d by Step 8 has an inflection point at c̄ with
tangent C̄.
Step 10. The proof when the tangent at the cusp is not horizontal is the exact
counterpart of the proof for the inflection given above and illustrated in Fig. 7.8.
Step 11. Finally a word about the slope of the curve going through 1. The case for
inflection points is illustrated in Fig. 7.9. The case for cusps involves a subtlety, and
the reader is encouraged to work it out in detail (see exercises below).
7.2 Duality between Cusps and Inflection Points 203
Figure 7.9. Inflection points to cusps when the curve goes through m = 1.
Exercises
1. Show that in a neighborhood of an inflection point I of a curve r:
(a) the curve r has a cu portion ru and cd portion rc separated by I , and
(b) the curve r is monotone there.
2. Show that in a neighborhood of a cusp C of a curve r:
(a) the curve r has a cu and cd portion separated by the tangent at C, and
(b) the curve r has a monotone increasing and monotone decreasing portion
also separated by the tangent at C.
204 7. Curves
Unlike the example shown earlier in Fig. 7.1, where the line-curve image (i.e., the
underlying envelope) is clear, in general the overlapping lines obscure portions of the
resulting line-curve (see Exercise 1 below). In what follows, the intermediate steps
are eliminated, resulting in a one-step equivalent {point-curve} → {point-curve)}
transformation having a natural generalization, as we see later on, to surfaces in
RN .
Consider a planar curve c, which for the sake of generality is given implicitly
by
c : F (x1 , x2 ) = 0. (7.6)
Rather than plot lines for the images of its points, the better way is to deal directly
with the tangents at each point and convert them via (7.4) to points. Then, as
illustrated on the right part of Fig. 7.10, determine the relation c̄ : f (x, y) = 0. This
is not only a tremendous labor-saving device, but it also avoids completely plotting
7.3 ♣ FT-3 Point-Curves → Point-Curves 205
and working with the line-curves. Proceeding, we obtain the total differential of F
and the slope, i.e.,
dx2 Fx
dF = Fx1 dx1 + Fx2 dx2 = 0 ⇒ = − 1.
dx1 Fx2
For a point (x1 , x2 ) on the the tangent
o at the point Po = (x1o , x2o ) ∈ c, its slope
is given by
(x2 − x2o )
mo = −Fxo1 /Fxo2 = ,
(x1 − x1o )
x o Fxo + x o Fxo
bo = 2 2 o 1 1 .
Fx2
where d is the interaxis distance and the superscript o is dropped, since the result is
true for any point (x1 , x2 ). Ideal points of c̄ occur at the zeros of the denominator.
206 7. Curves
The smoothness of c ensures the continuity of c̄. The result, (7.7), is known as the
“Inselberg transformation” [41], [42].
Tracing the analogous steps for the transformation in the reverse direction
f (x, y) = 0 → F (x1 , x2 ) = 0, we start with
dy fx
df = fx dx + fy dy = 0 ⇒ =− .
dy fy
The line P̄o that is tangent to the curve c̄ (see the left part of Fig. 7.10) at the point
¯ = (xo , yo ) has the equation
fo y − yo
P̄o : − xo = .
fy x − xo
Since it represents the point Po = (x1o , x2o ), the intersections with the X̄1 , X̄2 axes
are at x1o and x2o respectively. In turn, these are obtained from the equation at x = 0
and x = d, providing
xfx + yfy (x − d)fx + yfx
x1 = , x2 = , (7.8)
fy fy
where again, reference to the original point (x1o , x2o ) is dropped. In this way we have
obtained the transformation:
where we have forsaken the messy intermediate step of having to deal with the
line-curve. When the original point-curve is given explicitly by x2 = g(x1 ), then
(7.7) reduces to
d x2 + x1 g
(x1 )
x= , y= . (7.9)
1 − g
(x1 ) 1 − g
(x1 )
The value d = 1 is used throughout this chapter. The significance of varying d is
better appreciated in Chapter 9, on surfaces. From now on, the images are shown
as point-curve images, and occasionally, when there are no overlapping problems,
as line-curves.
Exercises
1. Plot the line-curve corresponding to x2 = sin x1 . Hint: the inflection-point ↔
cusp duality is helpful in understanding the curve.
2. Find and plot the image of x2 = sin x1 directly as a point-curve using (7.9).
7.3 ♣ FT-4 Curve Plotting 207
The image of a piecewise smooth curve can be computed and plotted via (7.7).
Qualitatively, we can learn quite a bit from some elementary considerations of the
duality by reviewing Fig. 7.11, which we saw earlier in Chapter 3, helping us sketch
the curve’s image. The portofolio of accompanying curves and their images, chosen
to hone our experience, is drawn using a “curve-plotter” based on MATLAB.31
Due to the notational limitations of MATLAB, the bars “ ¯ ” are not included in the
figures.
31
This beautiful curve-plotter (Exercise 6) was written by Tal Tzur and Gilat Schwartz for their course
project in 2004.
208 7. Curves
Figure 7.12. The algebraic curve c : x2 = x13 + x12 − x1 − 1 (left) has image (right) of degree 6.
In Section 7.6 it is pointed out that the image c̄ of an algebraic (i.e., described
by a polynomial) curve c of degree n is also algebraic with degree n∗ as given by
the Plücker class formula (7.40), where s, d are the number of cusps and double-
crossing points respectively. For the curve c on the left of Fig. 7.12, n = 3,
d = 0, s = 0, hence for the image curve (right), we have n∗ = 6. The analysis
is facilitated by Fig. 7.13. The curve c has slope m = 1 at the points AL and AR ,
causing the image curve c̄ to split; the points of tangency there are mapped to ideal
points. The portion cI of c between AL and AR has the the right branch of c̄ as its
image. According to Theorem 7.2.1, the inflection point I is mapped into the cusp ī
of c̄ in between the two axes, since its slope mi is negative. On cI , the curve’s slope
m satisfies mi ≤ m < 1, and for this reason, c̄I opens to the right, intersecting
X̄2 at two points: the images of the tangents at the extrema where m = 0. The
curve’s intersection with the X̄1 axis at two points is due to the zero points at the
extrema; the higher intersection corresponds to Ma . By Corollary 7.1.4, the left
portion of cI , being cd, maps into the upper portion of the of c̄I , which is cu and
approaches ĀL asymptotically. Similarly, the right portion of cI , being cu, maps
into the lower portion, which is cd, approaching ĀR asymptotically. The left portion
of c̄ approaches the X̄1 axis asymptotically as |x1 | → ∞, and the curve’s slope m
goes to ∞. The upper portion of the left branch is cu, being the image of the portion
−∞ < x1 < x1 (AL ), which is also cu. Note that the symmetry of c with respect
7.4 ♣ FT-4 Curve Plotting 209
Figure 7.14. The image of the curve c : F (x1 , x2 ) = x13 − x1 − x22 = 0 has degree 6.
Figure 7.15. The image of the curve c : F (x1 , x2 ) = x13 + x12 − x1 − x22 = 0 also has degree 6.
have the same tangent, the x axis. A tangent at two points of a curve is called a
bitangent. The algebraic curve c shown in Fig. 7.17 is specified parametrically, and
has n = 3, s = 1, d = 0, so that c̄ has degree n∗ = 3. The two branches of c are
tangent to the x1 axis at the cusp, and therefore, it maps to the inflection point where
7.4 ♣ FT-4 Curve Plotting 211
Figure 7.16. The image of the curve c : F (x1 , x2 ) = x13 + x12 − 3x1 x2 = 0 has degree 4.
Figure 7.17. The image of the parametric polynomial x(t) = t 2 , x2 (t) = t 3 has degree 3.
Figure 7.19. The image of c : x2 = sin(x1 ) in the interval [0, 2π ] is a nonoscillating curve.
image is to the right of the X̄2 axis. In the absence of negative slopes of c, c̄ does not
have a portion between the -axes. It is interesting to trace the image of oscillatory
curves starting with the trigonometric function x2 = sin(x1 ) plotted in Fig. 7.19 for
the interval x1 ∈ [−π, 0]. The ip at x1 = π maps into the cusp that is in between
7.4 ♣ FT-4 Curve Plotting 213
the axes, since the tangents’ slopes m are negative in its vicinity. In the remainder,
the slope satisfies 0 < m(x1 ) = cos(x1 ) ≤ 1, and hence c̄ opens to the right, the
upper portion approaching the x axis asymptotically due to the ideal point from
x1 = 0 where the slope is 1. The graph for the interval x1 ∈ [0, 2π] is the mirror
image of the curve above (Fig. 7.20), since the slopes satisfy m(x1 ) = cos(−x1 ).
Altogether, then, the ip at x1 = ±π with m = 1 are mapped into the two cusps
with x = 1/2 and the ip at the origin, having slope m = 1, is mapped to the ideal
point along the x axis. The mirror symmetry is preserved in the image of the curve
c : x2 = x1 cos(x1 ) in Fig. 7.21 and for analogous reasons.
7.4.1 Space-Curves
Curves and their images are an essential component in the representation of surfaces
(Chapter 9) in terms of planar regions whose boundaries are the images of certain
space-curves. It will be seen that via the wonderful properties of the superplanes, the
boundaries can be obtained from images of plane-curves as studied in this chapter.
Still, a few words about space-curves are obligatory. Let us start with a convenient
parametric definition with sc denoting a space-curve:
214 7. Curves
sc : xi = xi (s), s ∈ I ⊂ R, i = 1, 2, 3, (7.10)
where I is an interval and the parameter s is often taken as the arc length. As for
plane-curves, the tangent t at a point P is found as the limiting chord joining P to
an adjoining point. Two other adjoining points Q, R together with P form a plane,
which in the limit as (Q, R) → P is the osculating plane—a rather endearing
appellation—containing the tangent t. Within the osculating plane, the local center
of curvature of sc at P is found as for plane-curves and the principal normal n at P
directed towards the center is chosen. It is called principal to distinguish it from the
infinity of normals on the plane orthogonal to t at P , or just normal when the context
is clear. The directed tangent t is chosen so that together with n as axes they form a
right-handed system. Next, the binormal b is included orthogonal to the osculating
plane and directed so that t → n → b has the same sense as x1 → x2 → x3 , i.e.,
b = t × n, (7.11)
of b, t, n provide the important equations of Frenet relating the three unit vectors
to the two fundamental properties: torsion and curvature. Prescribing the curvature
and torsion as functions of the arc length completely determines a space-curve up
to its position and orientation. We leave (see Exercise 13) this interesting topic after
this very short introduction in order to return to plane curves for the remainder of
the chapter.
Exercises
1. Prove that the symmetry about the tangent i of the ip I corresponds to the
symmetry about the line I¯ through ī, or find portions of c̄ where the symmetry
fails.
2. What points correspond to the max and min of the left-hand branch in Fig. 7.12?
3. Is the double -point ↔ bitangent duality seen in Fig. 7.14 true in general?
Prove or give a counterexample.
4. For the curve in Fig. 7.14, provide an analysis of its image and draw a figure
of the important points with the tangents similar to Fig. 7.13.
5. What portions of c̄ in Fig. 7.14 are symmetric about a line and why?
6. Analyze the image of the curve in Fig. 7.15, sketching a figure similar to
Fig. 7.13.
7. Is there an algebraic curve of degree 3 whose image has degree 5? Give an
example of an algebraic curve of any degree having image with degree 5.
8. Rotate the exponential curve in Fig. 7.18 to obtain an image having points for
all values of x.
9. In Fig. 7.21, mark the portions of c and their corresponding parts in the image
c̄.
10. Prove that the image c̄ in Fig. 7.19 consists of monotone increasing and
monotone decreasing portions, and find the portions of c corresponding to
each.
11. Let c : x2 = f (x1 ) be an odd function (i.e., f (x1 ) = −f (x1 )). Is c̄ necessarily
symmetric about the x-axis?
12. For a general curve c given by (7.6), the image of the tangent at each point
P ∈ c is the point given by (7.7). Find
(a) the image of the normal at P .
(b) the formula for the curvature of the image curve c̄; hard.
13. Space curves
(a) Find the image cs of a smooth space-curve cs : xi = xi (s) ⊂ R3 ,
i = 1, 2, 3. Hint: recall from Fig. 7.10 that the image of a curve is
216 7. Curves
Table 7.1. Equalities between invariants of Plücker curves and their duals.
constructed from the tangents at each point. For a space-curve the tangent
at each point is a line
in R3 and is represented by two points
¯12 ,
¯23 ,
rather than one point as for R2 . Hence the image cs consists of two curves,
say cs 12 and cs 23 , in the xy plane.
(b) For the space-curve c above, using the property that the three points
¯12 ,
¯23 ,
¯13 are collinear, how can the curve cs 12 be determined from
the other two curves?
(c) Obtain generalizations of the dualities listed in Table 7.1.
(d) Find the image cs of a smooth space-curve cs : xi = xi (s) ⊂ RN ,
i = 1, . . . , N, consisting of N − 1 curves in the xy plane and generalize
the dualities in Table 7.1.
This is an excellent project topic.
A4 x1 + A2 x2 + A6
x=d ,
[(A1 + A4 )x1 + (A2 + A4 )x2 + (A5 + A6 )]
A5 x1 + A6 x2 + A3
y=− . (7.15)
[(A1 + A4 )x1 + (A2 + A4 )x2 + (A5 + A6 )]
Note that the interaxis distance d enters as a multiplier only in the x coordinate
due to the line → point mapping. These are Möbius32 transformations, which form
a group (see any good book in modern algebra or [10]). This observation enables
substantial simplifications of the earlier treatment of conics and their transforms
(see [41] and [42]).33 The inverse, expressing x1 and x2 in terms of x and y, is a
Möbius transformation of the form
a11 x + a12 y + a13 a21 x + a22 y + a23
x1 = , x2 = , (7.16)
a31 x + a32 y + a33 a31 x + a32 y + a33
It is also known that the Möbius transformations are homomorphic to the group of
nonsingular matrices of appropriate size. Without entering into unnecessary details,
the Möbius transformation
b11 x + b12 y + b13 b21 x + b22 y + b23
u= , v= , (7.18)
b31 x + b32 y + b33 b31 x + b32 y + b33
⎛ ⎞ ⎛ ⎞
dA4 dA2 dA6 0 d 0
C
= ⎝ −A5 −A6 −A3 ⎠ = ⎝ 0 0 −1 ⎠ A = RA.
(A1 + A4 ) (A2 + A4 ) (A5 + A6 ) 1 1 0
(7.19)
The matrix R is obtained by applying row operations on C
to achieve the
indicated reduction. Noting that det(C
) = − det(A) = H , we normalize by
C = C
/H = RA/H to obtain det(C) = 1 so as to satisfy the requirement of
the aforementioned homomorphism. This corresponds to multiplying both numer-
ator and denominator of the Möbius transformation (7.15), or equivalently the
elements of the corresponding matrix, by −(det A)−1/3 . The coeffiecients, and
in turn the corresponding matrix α = [aij ], in (7.16), which is the inverse Möbius
transformation of (7.15), are simply the elements of C −1 . In terms of the original
coefficients,
(C
)−1 = HC−1 = HA−1 R −1 = −adj(A)R −1 = α, (7.20)
where adj(A) = [Aij ]T is the adjoint, with the Aij being the cofactors of the matrix
A. Proceeding with the evaluation,
⎛ ⎞⎛ ⎞
A11 A21 A31 −1/d 0 1
(C
)−1 = − ⎝ A12 A22 A32 ⎠ ⎝ 1/d 0 0 ⎠
A13 A23 A33 0 −1 0
⎛ ⎞
(A11 − A21 )/d A31 −A11
= ⎝ (A12 − A22 )/d A32 −A12 ⎠ . (7.21)
(A13 − A23 )/d A33 −A13
The individual aij are
⎫
a11 = (A11 − A21 )/d = [A3 (A2 + A4 ) − (A6 2 + A5 A6 )]/d, ⎪
⎪
⎪
⎪
a12 = A31 = A4 A6 − A2 A5 , ⎪
⎪
⎪
⎪
⎪
⎪
a13 = −A11 = A6 − A2 A3 ,
2 ⎪
⎪
⎪
⎪
⎪
a21 = (A12 − A22 )/d = [(A5 + A5 A6 ) − A3 (A1 + A4 )]/d, ⎪
2 ⎪
⎪
⎬
a22 = A32 = A4 A5 − A1 A6 , (7.22)
⎪
⎪
a23 = −A12 = A3 A4 − A5 A6 , ⎪
⎪
⎪
⎪
⎪
⎪
a31 = (A13 − A23 )/d = [A6 (A1 + A4 ) − A5 (A2 + A4 )]/d, ⎪ ⎪
⎪
⎪
⎪
⎪
⎪
a32 = A33 = A1 A2 − A4 ,
2
⎪
⎪
⎪
⎭
a33 = −A13 = A2 A5 − A4 A6 .
7.5 ♣ FT-5 Transforms of Conics 219
Recapitulating,
⎛ ⎞
x1
F (x1 , x2 ) = (x1 x2 1)A ⎝ x2 ⎠
1
⎛ ⎞
x '
T
= (x y 1)α Aα ⎝ y ⎠ (a31 x + a32 y + a33 )2 = 0, (7.23)
1
Further,
The reduction is due to the symmetry of A and hence of its cofactors, i.e., Aij = Aj i ,
confirming that a is symmetric. The individual ai are
220 7. Curves
⎫
a1 = [A3 (A1 + A2 + 2A4 ) − (A5 + A6 )2 ]/d 2 , ⎪
⎪
⎪
⎪
⎪
⎪
a2 = A1 A2 − A4 2 , ⎪
⎪
⎪
⎪
⎪
⎬
a3 = A2 A3 − A6 2 ,
(7.27)
a4 = [A13 − A23 ]/d = [A6 (A1 + A4 ) − A5 (A2 + A4 )]/d, ⎪
⎪
⎪
⎪
⎪
⎪
⎪
a5 = [A6 + A5 A6 − A3 (A2 + A4 )]/d,
2 ⎪
⎪
⎪
⎪
⎭
a6 = A2 A5 − A4 A6 .
are left as an exercise. The general results obtained here enable the study and
complete classification of the conic transforms. The transforms of specific conics
are obtained from the criteria developed next.
A2 m2 + 2A4 m + A1 = 0. (7.28)
To include the vertical direction (i.e., where the slope is ± = ∞), evaluating the
reciprocal limx2 →∞ (x1 /x2 ) = M provides
A1 M 2 + 2A4 M + A2 = 0. (7.29)
I = A1 + A2 + 2A4 . (7.30)
When H < 0, the conic has no real points.34 When H = 0, the conic is a point.
The other two degenerate cases occur for conics consisting either of a single line
or a pair of intersecting lines. In the ensuing it is assumed that H > 0, which fixes
the signs of the quadratic’s coefficients. In view of (7.32), the indicator I together
with the sign of tells the story. For a particular conic c, only the coefficients
A1 , A2 , and A4 determine the type of conic c̄. So rotations of c, as reflecte by A4 ,
may change the type of its transform, while translations, which are specifie by the
linear and constant terms cannot. The analysis below is listed by conic types.
Ellipse, < 00. Then A1 A2 > A24 ≥ 0; hence A1 and A2 have the same sign.
If they are positive, then A1 > A24 /A2 and
so the transform is a hyperbola (Fig. 7.22), since δ > 0. The same inequality
holds if A1 and A2 are both negative. For an ellipse, of course, the mi are complex
conjugates.
34
The quadratic (7.13) may be solved for x2 in terms of x1 and the coefficients Ai . There are no real values
of x2 if the discriminant is negative. This provides a quadratic inequality in x1 whose discriminant
turns out to be H .
222 7. Curves
Figure 7.23. A parabola whose ideal point does not have direction with slope 1.
It always transforms to a hyperbola with a vertical asymptote. The other asymptote is the image of
the point where the parabola has tangent with slope 1.
Parabola, = 00. If any one of A1 , A2 , A4 is 0, then all three are 0, and (7.13)
does not describe a quadratic function. So A2 = 0 and A1 = A24 /A2 . Then
⎫
(A1 + A2 + 2A4 ) = (A2 + A4 )2 /A2 , ⎪
⎪
⎪
⎪
(A1 + A4 ) = (A2 + A4 )A4 /A2 , ⎪
⎪
⎪
⎬
H = A1 A26 + A2 A25 − 2A4 A5 A6 = (A4 A6 − A2 A5 )2 /A2 , (7.33)
⎪
⎪
a4 = (A2 + A4 )(A4 A6 − A2 A5 )/A2 , ⎪
⎪
⎪
⎪
⎪
⎭
a1 = [A3 (A2 + A4 )2 − A2 (A5 + A6 )2 ]/A2 .
Figure 7.24. A parabola whose ideal point has slope 1 transforms to a parabola; self-dual.
Figure 7.25. Hyperbola to ellipse; dual of the case shown in Fig. 7.22.
224 7. Curves
Figure 7.26. If the asympote has slope 1, then the hyperbola → parabola; dual of Fig. 7.23.
Recasting the indicator I in terms of the conic’s ideal points provides not only an
intuitive way of understanding the transforms but also, as shown in the next section,
a pointer to generalizations. For A2 = 0 let mi , i = 1, 2, be the roots of (7.28) with
7.5 ♣ FT-5 Transforms of Conics 225
m1 ≤ m2 when they are real. From the coefficients expressed in terms of the roots
by A1 = A2 m1 m2 , 2A4 = −A2 (m1 + m2 ),
I = A2 (1 − m1 )(1 − m2 ), (7.34)
with one of the mi equal to 0 when A1 = 0. For A2 = 0 the roots of (7.29) are
M1 = 1/m1 = A4 /A1 , the only one also obtained from (7.28), and M2 = 0 (i.e.,
m2 = ±∞). Finally, when both A1 = A2 are zero, the two roots, obtained one
from each of the equations, are m1 = 0 and M2 = 0 (m2 = ±∞).
• When I < 0, the conic is a hyperbola with m1 < 1 < m2 , whose transform,
being an ellipse, has no ideal points.
• For I = 0, we have A1 + A4 = −(A2 + A4 ), and the conic’s transform is a
parabola. If the original conic is a parabola, then − = a2 = 0, r = −a4 /a1 ,
and from (7.33), A2 + A4 = 0, a4 = 0 ⇒ r = 0. Hence the transform’s ideal
point is in the vertical direction as seen in Fig. 7.24. Otherwise, the original
conic is a hyperbola. Then
A2 + A4
r=− , (7.37)
A5 + A 6
and the transform’s ideal point has slope 1/r = R. Note that this is due to
δ = 0 ⇒ a4 /a1 = a2 /a4 .
• Finally, for I > 0, r has two real values, and the transform is a hyperbola. If the
original conic is an ellipse, the transform has asymptotes with finite slopes 1/r,
as shown in Fig. 7.22.
If it is a parabola, then the roots are r = 0, which accounts for the vertical
asymptote, and
a4
r = −2 , (7.38)
a1
which provides the other asymptote shown in Fig. 7.23.
If it is a hyperbola, this is self-dual, and the transform has asymptotes with finite
slopes 1/r, as seen in Fig. 7.27.
Observe that the transforms of a parabola always have an ideal point in the vertical
direction (r = 0). In turn, this is because each parabola’s ideal points are mapped
into a vertical line by the basic point ↔ line. A hyperbola’s two ideal points are also
mapped to vertical lines, which turn out to be vertical tangents of the corresponding
transform, i.e., the vertical tangents at the ellipses’ endpoints in Fig. 7.25, the
parabola’s vertex in Fig. 7.26, and the two vertices of the hyperbola in Fig. 7.27.
To summarize, the transform’s ideal points are either
• the images of the conic’s ideal points r = 0 for parabolas as shown in Fig. 7.24
and 7.27, or
• the images of points where the conic has tangents with slope 1. They correspond
to the real nonzero roots of (7.28).
reason, the linear terms in (7.13) are omitted (i.e., A5 = A6 = 0), since they can
be eliminated with a translation. Then
⎫
a1 = A3 (A1 + A2 + 2A4 ), ⎪ ⎪
⎪
⎪
a2 = A1 A2 − A4 ,2 ⎪
⎪
⎪
⎪
⎪
⎪
a3 = A2 A3 , ⎬
(7.39)
a4 = 0, ⎪
⎪
⎪
⎪
⎪
⎪
a5 = A3 (A2 + A4 ), ⎪
⎪
⎪
⎪
⎭
a6 = 0,
with δ = HI and H = A3 . It is striking that the cross term vanishes (a4 = 0).
The resulting conic transforms are in standard position with their symmetry axes
parallel to either the x or y axis. For illustration, the parabola in Fig. 7.23 is not
centered, and its transform is not in standard position. The reason for the parabola’s
horizontal ideal point (i.e., 1/r = 0) in Fig. 7.26 is seen from (7.37). This is due to
the duality
( & ( &
translation of a rotation of a
⇐⇒ .
point along a line line about a point
This observation deserves further analysis, since there is a translation in the x but
not in the y direction.
Note that all the transforms in the figures, except Fig. 7.23, are translated in the
x direction. Further, the original conic is centered, and the resulting conic transform
is not rotated from the standard position. A surprising observation is that only five of
the six cases are found from the results above when the linear terms are eliminated.
This is because when A5 and A6 are zero, a parabola’s H vanishes and the two roots
of (7.28) collapse to M = 0 (see (7.38)). For this reason, the parabola in Fig. 7.23
is carefully not centered in order to avoid this. Recall that the normalization of the
determinant matrix’s C
, (7.19), involved division by H , and hence the method
breaks down for H = 0 (see exercises below).
Exercises
1. Using the theory of envelopes, find the transforms of the three different kinds
of conics in
(a) standard position,
(b) translated in the x and separately in the y direction,
(c) with the cross term not zero.
7.5 ♣ FT-7 Transforms of Algebraic Curves 229
2. What is the conic transform of the hyperbola x2 = 1/x1 and its conjugate?
3. Find the points of a conic having tangents with slope 1 and the corresponding
ideal points on their transform.
4. Find the conic transform for the case A5 = A6 = 0 directly to avoid the
problem with H = 0. Is there a parabola &→ hyperbola transformation in this
case?
5. Using (7.34), construct a table listing the conditions for the Aj when I > 0.
For example, I > 0 and A2 > 0 ⇒ 1 > ri , or 1 < ri , i = 1, 2, and proceed
as for 1 > ri > 0 ⇒ A2 > A1 > 0 > A4 , etc.
6. Find the conic transform of the conjugate hyperpola of that shown in
(a) Fig. 7.25.
(b) Fig. 7.26.
(c) Fig. 7.27.
7. Which conic has as transform the conjugate of the hyperbola shown in the xy
plane in Fig. 7.27?
8. What is the image of a hyperbola having a vertical asymptote like the one shown
on the left part of Fig. 7.23?
9. Prove that interior points of the conics mapped into hyperbolas are mapped
into lines between the two branches. Here the “interior” points of a hyperbola
are those between the two branches.
10. Consider hyperbolas having the property that if two lines are completely
between the two branches, then the point on the two lines is also between
the two branches. Delimit the class of hyperbolas having this property and
provide a counterexample of a hyperbola without this property.
11. Obtain the main result in the reverse direction, that is, show that
Conic transforms are studied for two reasons. One is the ease of use of the Möbius
transformations, which is completely general for quadrics, the surfaces prescribed
by quadratic equations, in any dimension. The other is that their detailed analysis
serves as a model and guide in the study of the related images of far more complex
curves, regions, and their ramifications in the next section.
230 7. Curves
Consider a double cone, as shown in Fig. 7.28, whose base is a bounded convex
set rather than a circle. The three type of sections shown are generalizations of the
conics and are conveniently called gconics. They are one of the following:
a bounded convex set is abbreviated by bc,
an unbounded convex set, denoted by uc, containing a nonempty set of ideal
points whose slope m is in an interval m ∈ [m1 , m2 ], or
a generalized hyperbola, denoted by gh, consisting of two full (not segments)
lines
u ,
, called asymptotes, and two infinite chains: one convex-upward chain
cu above both asymptotes and another convex-downward chain c
below both
asymptotes.
In the past, the corresponding regions were also referred to as estars, pstars, and
hstars [99], [110]. Here the bc or uc are considered as consisting of their interior
points and boundaries. A gh consists of the points between the upper and lower
chains and the boundaries. As for the hyperbola, this is best understood in the
setting of the projective plane, where the gh is a “bc” intersecting the ideal line
at two points, the asymptotes. In the event that the upper and lower chains have
straight-line edges at the endpoints, then these two infinite lines are the asymptotes:
u joins the leftmost point (i.e., with minimum x) of the upper chain cu to the
rightmost point (i.e., with maximum x) of the lower chain c
and,
joins the
leftmost point of c
to the rightmost point of cu .
It turns out that the conic transforms are special cases of the more general and
completely analogous results for gconics [99], [110]. In order to study the gconic
transforms, it is assumed that their boundaries are point-curves that transform nicely
to line-curves, as discussed at the beginning of this chapter. Since the treatment is in
P2 , the understanding is that convexity is interpreted completely as in the Euclidean
R2 plane with the line segment (not including the ideal point) joining a pair of points
in the set also contained in the convex set.
2. UC is a uc ⇒
(a) UC is a gh if UC does not have an ideal point with slope m = 1, i.e.,
1 ∈ [m1 , m2 ].
(b) UC is a uc if UC has an ideal point with slope m = 1, i.e., 1 ∈ [m1 , m2 ].
35
Note that m1 here corresponds to the upper portion of ∂(UC).
234 7. Curves
Figure 7.30. An unbounded convex set uc with ideal point slope m = 1 transforms to a gh.
This is the generalization of the conic case in Fig. 7.23.
Figure 7.31. A uc with ideal point slope m = 1 transforms to a uc; self-dual case.
This is the generalization of the conics case in Fig. 7.24.
** Proof. (b) UC has supporting lines with slope m ∈ [m1 , m2 ], where m1 < 1 <
m2 . Hence ∃V ∈ ∂(UC) with a vertical supporting line
v there. The portion c1 of
∂(UC) from V downward has M1 < 1 and is cd, while the portion c2 upward from
V has M2 ≥ 1 and is cu. Again appealing to the corollary, ∂(UC) = c1 ∪ c2 is
cu. It is formed among other things by the collection of all supporting lines having
slopes m ∈ [m1 , m2 ]. So as shown in Fig. 7.31, the transform contains at least one
ideal point, corresponding to (7.37) for conic parabolas, and is therefore a uc.
7.7 ♣ FT-8 Convex Sets and Their Relatives 235
** Proof. (a) Since m1 < 1 < m2 , the slope m of the supporting lines of GH is
not equal to 1. Hence GH is not split and does not have any ideal points ⇒ it is a
bc whose x ranges in an interval having endpoints 1−m1 and 1−m1 , the order, of
1 2
course, being determined by the signs of the mi .
It is worth studying the example shown in Fig. 7.32 below, tracking the images
of the various portions of the gh.
** Proof. (b) GH has at least one ideal point, which is the image of the point of
GH where the supporting line has slope m = 1, and since GH cannot have any other
supporting lines with m = 1, it has only one component ⇒ GH is a uc.
Figure 7.34. Interior points of bc → lines between two brances of the corresponding gh.
This result has been used in convex hull construction algorithms [110].36 Here
the edges of the bc may be curves, and hence this approach lends itself to the
construction of convex hulls where some of the “edges” are curved arches (see [92]).
36
The algorithm was improved by Nitzan Giles in 2004 in his course project.
7.7 ♣ FT-8 Convex Sets and Their Relatives 237
Exercises
1. Prove that an unbounded convex set having more than one ideal point has ideal
points with direction having slope m ∈ [m1 , m2 ]. That is, either m has a single
value or it ranges over a complete interval.
2. What is the image of a square centered at the origin with
3. What is the image of the region in the second quadrant above the line
1 : x2 =
−3/4x1 and below the line
2 : x2 = −1/4x1 ?
4. What is the image of the region in the fourth quadrant below the line
1 : x2 =
−3/4x1 and above the line
2 : x2 = −1/4x1 ?
5. What is the image of the regions in the second and fourth quadrants between
the two lines
1 ,
2 ?
6. Study the images of the gconics obtained from a double tetrahedron.
7. Examine the images GC of a gconic GC and match the corresponding chains
ci with the corresponding chains ci in GC for the case:
8. Delimit the class of ghs with the property that if two lines are completely
between the two branches, then the point on the two lines is also between the
two branches. Give a counterexample of a gh without this property.
9. Prove that GC is a gconic ⇒ GC is a gconic.
238 7. Curves
Figure 7.35. The convex union (also called “convex merge”) of bcs.
It corresponds to the outer union of their images (ghs).
37
This differs from the nomeclature in [110].
7.7 ♣ FT-8 Convex Sets and Their Relatives 239
Definitio 7.7.4. The gh such that GH ⊆ GH1 ∩ GH2 and such that for any other
gh, GH
, where GH
⊆ GH1 ∩ GH2 ⇒ GH
⊆ GH, is called the inner intersection
of the two ghs. The operation is denoted by GH1 * GH2 .
An example is shown on the left part of Fig. 7.36. The inner intersection is the
gh whose upper branch is the cd curve consisting of all vertices of the ghs and the
arches (i.e., lines or curves) joining them on either of the upper branches. Likewise,
the lower branch is the cu curve consisting of all vertices and arches joining them
that are above all points of the lower branches. The asymptotes are the ideal points,
if any. Otherwise, they are the lines joining the diametrically opposite endpoints of
the upper and lower chains. Here the asymptotes may not belong to any of the ghs.
In general, GH1 * GH2 = GH1 ∩ GH2 . It is clear from the definition that the inner
intersection is the largest gh contained in the intersection of the two ghs. Further,
whereas all vertices of the inner intersection are vertices of the GHj , some of the
edges joining such vertices are not edges of the GHj . Roughly speaking, the outer
union of two ghs yields a gh whose branches contain the outermost portions of the
two ghs and any additional edges needed to form the gh, whose significance will
be shortly understood. This is also the reason why it does not always coincide with
the set union of the ghs. The inner intersection, by contrast, contains the innermost
portions of the two ghs. The results below, stated in terms of two bcs BCi , i = 1, 2,
where C (S) denotes the convex hull of the set S, clarify the motivation for these
definitions.
240 7. Curves
Proof. The proof is immediate. The convex merge C (BC1 ∪ BC2 ) is the smallest
convex set containing BC1 ∪ BC2 ⇒ C (BC1 ∪ BC2 ) is the smallest gh containing
BC1 ∪ BC2 , whence the result.
Notice in Fig. 7.35 that all lines in ∂(BC1 ) BC2 ) represent vertices of the ghs,
whereas any additional vertices represent the additional edges needed to form the
convex merge. As expected, the asymptotes represent the vertices of C (BC1 ∪ BC2 )
where there are supporting lines with slope m = 1.
Theorem 7.7.6. BC1 ∩ BC2 = BC1 * BC2 .
Proof. By definition, the inner intersection is the largest gh contained in BC1 ∪ BC2 .
Hence BC1 * BC2 is the largest convex set contained in the inverse image of
BC1 ∩ BC2 , which is also convex. So the two convex sets must be equal and
therefore their images are equal.
As seen in Fig. 7.36, the edges of BC1 * BC2 that are not edges of any of the
ghs represent the new vertices formed by the intersection of the corresponding bcs.
Note that the asymptotes here represent the two new vertices of the convex merge
and where the supporting lines have slope m = 1. An easy induction proves the
following theorem.
Theorem 7.7.7. C (∪ni=1 BCi ) = )ni=1 BCi .
Since the union of a countable collection of bcs may not be a bc, this theorem
is in general true for finite collections. The corresponding result for outer unions is
true for countable collections of bcs.
Theorem 7.7.8. ∩∞ ∞
i=1 BCi = *i=1 BCi .
These interesting operational dualities have some algorithmic applications
[110].
Exercises
1. Give an example where the outer union of two ghs is not the union of the ghs.
2. Give an example where the inner intersection is not the intersection of the ghs.
3. Find the image of the intersection of the two ellipses ax12 + bx22 = 1 and
x1
b2
+ ax22 = 1.
4. Find the image of the convex merge of the two ellipses above.
38
This operation is also called the convex merge of the two sets BCi .
7.7 ♣ FT-8 Convex Sets and Their Relatives 241
5. Find the image of the convex merge of two disjoint squares. Investigate various
options concerning position and orientation and the effects on the images.
6. Prove
(a) Theorem 7.7.7.
(b) Theorem 7.7.8.
3 i j
7. Consider the general third-degree curve F (x1 , x2 ) = i+j =0 aij x1 x2 and
(a) show that it can be written in matrix form as
⎛ ⎞
x22
⎜ x1 x2 ⎟
⎜ ⎟
⎜ x12 ⎟
F (x1 , x2 ) = (x2 , x1 x2 , x1 , x2 , x1 , 1)A ⎜
2 2
⎜
⎟,
⎟ (7.41)
⎜ x2 ⎟
⎝ x1 ⎠
1
In order to apply the results of the representation of flats by indexed points, their
behavior in the presence of errors needs to be understood. This was briefly touched
on in Chapter 5, where we saw that small variations in the coefficients of a plane’s
equation yield a pair of closely spaced point clusters representing the corresponding
“close” planes. The encouraging message is that “closeness” is visually evident.
To pursue this in depth, we need some concepts discussed in Chapter 7. For this
reason, we did not continue with this treatment earlier. While there are many
sources of errors in the applications, from our viewpoint it suffices to consider
the accumulated errors in terms of the resulting variations ci ∈ [ci− , ci+ ] in the
coefficients ci of the plane’s equations. This in turn generates a whole family F
of “close” flats. Even in R 3 , the direct visualization of such a family of planes is
difficult. The challenge is not only the visualization but also the construction of
tools for appraising the proximity, referred to as “error tolerancing,” of the flats in
terms of the errors’ ranges |ci− − ci+ |.
Let us repeat the earlier experiment more systematically and examine the family
of “close” planes
Figure 8.1. Pair of point clusters representing close planes. Note the hexagonal patterns.
but also the variations in several directions. Might it be possible to see, estimate,
and compare errors?
The proper setting for treating the proximity of objects in a family F is by
means of a topology [138]. Every object f ∈ F is endowed with a collection of
subsets Nf = {N|N ⊂ F }, called neighborhoods, such that
1. each f ∈ F has an Nf ,
2. f ∈ N∀N ∈ Nf ,
3. if N1 ∈ Nf and N ⊃ N1 , then N ∈ Nf ,
4. if N1 , N2 ∈ Nf , then N1 ∩ N2 ∈ Nf .
Then proximity is gauged with respect to the topology in the sense that f1 and f2
are “close” if ∃N ∈ Nf1 such that f2 ∈ N and hence also N ∈ Nf2 . Intuitively, we
would like a neighborhood of a flat f to be like a “template,” a region covered by all
flats close to f . In dealing with such regions, the results on gconics from Chapter 7
turn to be helpful, and for this reason this subject is not included, in Chapter 5 on
planes.
F = { | : c1 x1 + c2 x2 = 1, c1 , c2 ∈ R}.
The value of the constant c0 on the right-hand side here is taken as 1 but is allowed
to vary later. Of interest is the collection of subsets N
= {NL|NL ⊂ F }, where
It is convenient to denote the endpoints of the interval [ci−, ci+ ] by signi , the sign
of the superscript of ci± ; that is, signi = − and signi = + stand for the lower and
upper bounds respectively of ci . The extreme lines obtained by the four different
combinations of (sign1 , sign2 ) are
⎫
(−, −) : c1− x1 + c2− x2 = 1, ⎪
⎪
⎪
⎪
− + ⎪
(−, +) : c1 x1 + c2 x2 = 1, ⎬
(8.2)
(+, −) : c1+ x1 + c2− x2 = 1, ⎪
⎪
⎪
⎪
⎪
+ + ⎭
(+, +) : c1 x1 + c2 x2 = 1.
These lines bound the region RNL ⊂ R2 covered by all the lines of NL, a “template”
referred to earlier. An example is shown on the left part of Fig. 8.2, where the extreme
lines in (8.2) are constructed from the points
1 1 1 1
P1+ = , 0 , P1− = , 0 , P2+ = 0, + , P2− = 0, − .
c1+ c1− c2 c2
can be accomplished using RN ⊂ R2 but is not possible using the parameter space
in which only the lines, represented by points, are available. Checking the situation
in ||-coords, shown on the right part of Fig. 8.2, the unbounded region RN L is
transformed into a simple convex quadrilateral; let us call it NL. From the point ↔
line duality, both points and lines are available to work with.
The intention is to form a topology; therefore the possible intersections between
different quadrilaterals NL need to be examined. Let
− +
NLj = {
|
: c1,j x1 + c2,j x2 = 1, ci,j ∈ [ci,j , ci,j ] i = 1, 2j = 1, 2},
(8.3)
and the intersection operation N = N1 ∩ N2 is defined by
NL = {
|
: c1 x1 + c2 x2 = 1, ci ∈ [ci− , ci+ ] = [ci,1
− +
, ci,1 −
] ∩ [ci,2 +
, ci,2 ] i = 1, 2}.
(8.4)
8.2 Proximity of Lines and Line Neighborhoods 247
Though the set intersection of two quadrilaterals may be a triangle, the intersection
operation defined by (8.4) excludes that possibility (see the exercises below). With
each of these cases a legitimate NL, it is clear that the family NL
= {NL|NL ⊂ F }
is a topology of line-neighborhoods.
By contrast, the intersection of two RN L is not in general such a region. Four
distinct RNL are shown in Fig. 8.3, and though some pairs have a nonempty
intersection, it does not contain any complete lines. This is clearly seen from the
corresponding NL, which are disjoint. So the regions RN L considered as point sets
cannot serve as neighborhoods for a topology for lines. The alternative is to consider
RNL as consisting of the complete lines covering it, greatly complicating matters.
Instead, we choose to work with their images NL, which satisfy all the requirements
for a useful topology of lines. Additionally, with ||-coords we are not limited by
the dimensionality of the space either for lines or more general flats. This leads to
some surprising, elegant, and very useful generalizations.
Before getting to that, we enlarge the class of lines in N replacing the 1 by c0
and allowing it to vary within an interval
In order to study the resulting neighborhood NL, first we take c0 = c0− . This is
basically the case already studied, and the corresponding neighborhood, whose
construction is shown in the lower part of Fig. 8.4, is formed using the points
with values of c0− in the numerator. The vertices of the quadrilateral are labeled by
(sign1 , sign2 , −), since they are the points representing the four extreme lines as
before. Next the value c0 = c0+ is chosen and the corresponding quadrilateral is
constructed now using the points with values of c0+ in the numerator with vertices
(sign1 , sign2 , +). Inspecting the y-coordinate of the point given by (8.6), it is clear
that for the intermediate values c0 = [c0− , c0+ ] between the two endpoints,
c0− c0 c0+
≤ ≤ ,
c1 + c 2 c1 + c 2 c1 + c 2
the vertices of the quadrilaterals are translated upward from the quadrilateral
obtained from c0− until the vertices for c0+ with the same x-coordinate. The
resulting NL is now a hexagon with the leftmost and rightmost edges verti-
cal. The vertices going counterclockwise are (−, +, −), (+, +, −), (+, −, −),
(+, −, +), (−, −, +), (−, +, +). For clarity the three quadrilaterals corresponding
to c0− , c0+ , and c0 ∈ [c0− , c0+ ] are also shown separately in the upper portion of
Fig. 8.5 with fewer details.
We reexamine the prospects for a topology using the hexagons as line-
neighborhoods, starting with
− +
NLj,0 = {
|
: c1,j x1 + c2,j x2 = c0 , ci,j ∈ [ci,j , ci,j ], i = 0, 1, 2, j = 1, 2},
(8.7)
8.2 Proximity of Lines and Line Neighborhoods 249
Figure 8.5. The hexagon of the previous figure without the construction details.
The arrow shows that the three diagonals intersect at a point (Exercise 6).
250 8. Proximity of Lines, Planes, and Flats
♣ FT-1e
The different outcomes of the intersection are then:
1. If [ci− , ci+ ] = ∅ for any i, then NL = ∅.
2. If [c0− , c0+ ] = 0 and [ci− , ci+ ] = 0 for either i = 1 or i = 2, then
is on the
x2 -axis if i = 1 and on the x1 -axis if i = 2.
3. If [c0− , c0+ ] = 0 and [ci− , ci+ ] = 0 for both i = 1, 2, then RN L consists
of two overlapping “fans” of lines at the origin (0, 0), so NL consists of two
overlapping intervals on the x-axis. In effect, this is the case where the hexagon
(see Fig. 8.5) collapses to a horizontal line.
4. If [c0− , c0+ ] = c0 = 0, then this yields a quadrilateral NL with the cases
enumerated earlier.
5. If c0− < c0+ and ci is constant for either i = 1, 2, then NL is a quadrilateral with
two vertical sides and RNL consists of two strips each having constant width.
6. NL is a hexagon contained in both NL1,0 and NL2,0 .
Again we can conclude that the family of hexagons NL0 constitutes a topology
of line-neighborhoods, since all the enumerated situations are also specific instances
of NLj,0 . Allowing the variation of c0 ∈ [c0− , c0+ ] is the most general case for a
family of lines. To complete the study there still remains to examine the situation in
which the sum c1 + c2 = 0 with some of the corresponding lines, having slope 1,
is represented by ideal points.
The generalization to RN is direct, a family of close lines is represented by N −1
regions, and it comes out as a special case in what follows (see also Exercise 8
below). For earlier treatments of line-neighborhoods and topologies for flats in
||-coords see [107] and [23]. The exposition here is adapted from [131].
Exercises
1. Show that the intersection, as defined by (8.4), of two quadrilaterals NLj
cannot be a triangle. Draw the RNL corresponding to a triangular NL contained
between the X̄1 and X¯2 axes and describe the family of lines NL.
2. Draw examples of the quadrilaterals NLj for j = 1, 2 and the RN Lj for all the
different cases of the intersections NL = NL1 ∩ NL2 .
3. Show that when NL, as given by (8.1), is a quadrilateral, it is also convex.
8.2 ♣ FT-2 Proximity of Hyperplanes 251
4. Construct an example in which NL is not convex and describe the region and
that of RNL .
5. Show that when NL0 , as given by (8.7), is a hexagon, it is also convex.
6. Show that the three diagonals of the hexagon having exactly opposite signs
(i.e., (-,+,+) is joined to (+,-,-)) intersect at the same point; see also Fig. 8.5.
7. Draw examples of the hexagons NLj,0 , for j = 1, 2 and the RN Lj,0 for all the
different cases of the intersections NL0 = NL1,0 ∩ NL2,0 .
8. Generalize to RN the representation of a family of close lines and provide an
algorithm for constructing the line neighborhoods; this is a good topic for a
course project.
π : c1 x1 + c2 x2 + c3 x3 = c0 , (8.9)
c2 + 2c3 + 3c1 c0
π̄1
= π̄1
23 = ,
c1 + c 2 + c 3 c1 + c 2 + c 3
c3 + 2c1 c0
= (1, 0) + , , (8.10)
c1 + c2 + c3 c1 + c2 + c3
an observation showing that π̄1
= π̄1
23 can be obtained from
c2 + 2c3 c0
π̄0
= π̄123 = ,
c1 + c2 + c3 c1 + c2 + c3
by a shift and the counterclockwise cyclic permutation c1 → c3 , c3 → c2 , c2 → c1 .
This combinatorial relation allows for a reduction in the number of indexed points
that need to be considered. As a reminder, any two points in the xy plane labeled
π̄123, π̄1
23 with the same y-coordinate are required for a valid representation of
π , the horizontal distance between them being proportional to c1 . Tracing the
permutation between the ck also clarifies that the value of π̄1
23 can not be obtained
from π̄123 without additionally specifying a value for c1 . Continuing,
c1 + 2c2 c0
π̄2
= π̄1
2
3 = (2, 0) + , , (8.11)
c1 + c2 + c3 c1 + c2 + c3
252 8. Proximity of Lines, Planes, and Flats
π̄1
= (1, 0)
c3 + 2c4 + · · · + (k − 2)ck−1 + · · · + (N − 2)cN + (N − 1)c1 c0
+ ,
S S
(8.15)
π̄i
Nc1 + (N + 1)c2 +· · · +(N +i −1)ci + ic(i+1) + · · · +(N −1)cN c0
= , ,
S S
(8.16)
fN
B &−→ = fN (B) ⊂ P2 ,
8.3.3 Properties of fN
The coordinate x of fN can be found in terms of the second coordinate y = 1/S
via the decomposition below, for k = 1, 2, . . . , N, as
N
j =1 (j − 1)cj (k − 1)S (1 − k)S + N j =1 (j − 1)cj
x= = +
S S S
N N N
S − j =1 kcj − S + j =1 j cj j =1 (j − k)cj
= (k − 1) + = (k − 1) + ,
S S
yielding the linear relation
P̄ k : x = C k y + (k − 1), (8.19)
with coefficient
k−1
N
C k = C k (c1 , c2 , . . . , ck−1 , ck+1 , . . . , cN ) = (j − k) cj + (j − k) cj ,
$ %" # $ %" #
j =1 <0 j =k+1 >0
(8.20)
8.3 ♣ FT-2 Proximity of Hyperplanes 255
and
⎧
⎨ C 1 = C 1 (c2 , c3 , . . . , cN ) = N j =2 (j − 1)cj ,
⎩ C N = C N (c , c , . . . , c N −1 (8.21)
1 2 N −1 ) = j =1 (j − N)cj .
In the above decomposition, the first sum has negative terms and the second
positive terms. Further, it is clear that C k is independent of ck . The line P̄ k
having slope 1/C k is on the point (k − 1, 0). Each point on P̄ k is the π̄0
for a
hyperplane π.
The properties and crucial role of the P k in the development are better under-
stood in terms of the underlying geometry. For a plane π ⊂ R3 as in Fig. 8.6, note
that P 1 , P 2 , P 3 ∈
π = π ∩ π1s with x1 (P 1 ) = 0, x2 (P 2 ) = 0, x3 (P 3 ) = 0,
and
¯π = π̄123 . Recall that the coefficient vector c = (c1 , c2 , c3 ) is normal to the
plane π . Translation of
¯π along P̄ 1 corresponds to a rotation that leaves c2 and
c3 invariant, since C 1 is a constant, while c1 varies. The situation is illustrated in
Fig. 8.7. On P1 , the normal vector ranges from c = (c1− , c2 , c3 ) to c = (c1+ , c2 , c3 ),
tracing a plane πc1 orthogonal to all the planes with such c. These planes π rotate
about the axis n1 through P1 and normal to πc1 with π intersecting the superplane
Figure 8.6. A plane π and its intersection
π = π̄123 with the first superplane π1s .
The points P k =
π ∩ xi xj plane for k = i, j .
256 8. Proximity of Lines, Planes, and Flats
That is, Cmk and C k are the minimum and maximum values of C k .
M
The multivariate function fN can be analyzed one variable at a time. Specifi-
cally, for ck , the region of interest is swept by the rotation of the line P̄ k about the
point (k − 1, 0) between the lines
k
P̄m : x = Cmk y + (k − 1),
(8.24)
k : x = C k y + (k − 1),
P̄M M
from the minimum 1/CM k to maximum 1/C k slopes. Caution: the slopes are the
m
reciprocals of the C k . The variation of ck is due to this rotation, whose dual is a
translation of P k but within the superplane π1s , so that its representation P̄ k remains
a line (rather than a polygonal line).
For R3 , translations of the three P k within the segments [P
k , Phk ] ⊂ π1s are
indicated on the left part of Fig. 8.8. The subscripts
, h are used for the endpoints
Pmk or PM k instead of m, M, since their relative positions depend on the signs of
Cmk , C k , and this is irrelevant to the discussion now. In -coords (see the right part
M
of Fig. 8.8) the intersection of the three sectorial regions swept by the dual rotations
about the points (k − 1, 0) contains the points π̄0
corresponding to the planes
generated by the simultaneous translations of the P k , giving us a first glimpse
at a region and explaining the hexagonal patterns seen in Fig. 10.43. All this
begs the question: are there equivalences between translations – rotations? This is
answered with Fig. 8.9 showing translation – rotation duals. Starting then from a
plane π, a family of “close” planes in a neighborhood N0
can be generated from
π by the aforementioned rotations and/or the translations of the P k shown in the
picture. In due course, vertical translations for an arbitrary c0 in π ’s equation will
be added. The technical details that follow do not obscure our understanding when
the underlying geometry is kept clearly mind.
Case 2. Cm k < 0 < C k ; then 1/C k < 0 < 1/C k , and P̄ k ranges between the
M m M
lines P̄mk with minimum and P̄M k maximum slopes respectively. Due to the sign
Case 3. Finally, when CM k < 0, 0 > 1/C k > 1/C k > 1/C k , and P̄ k ranges
m M
between P̄M k with the minimum and P̄ k with maximum slopes respectively; third
m
part of Fig. 8.10.
8.3 ♣ FT-2 Proximity of Hyperplanes 259
For the case S(c) = 0, this analysis breaks down, since y = 1/S is no
longer defined, necessitating the consideration of fN (8.49) in homogeneous
coordinates.
** Proof. Each k consists of two sectorial (and of course convex) regions sym-
metric about the point (k − 1, 0). When the intersection of the portions below the
x axis is empty (as in Fig. 8.8, for example), then is above the x axis and is
convex, since it is the intersection of convex regions. Similarly, it may happen that
all the k intersect below the x axis. Otherwise, some of the k have a nonempty
intersection that is convex above, and others may have a convex intersection below
the x axis.
In the second case, it will be seen that there exists a combination of the cj for
which S(c) = 0, resulting in being a gh. For the construction of we take our
260 8. Proximity of Lines, Planes, and Flats
Figure 8.10. “Fan” regions k swept by the rotations of P̄ k about the point (k − 1, 0).
k ∩ P̄ k+1
cue from Fig. 8.8 and investigate the intersections P̄mk ∩ P̄mk+1 and P̄M M
k and C k :
starting with the relations between the successive Cm M
k−2
N
(j − k + 1)cj+ + (j − k + 1)cj−
(k−1)
Cm =
j =1 j =k
⎛ ⎞
k−2
N
k−2
N
= (j − k)cj+ + (j − k)cj− + ⎝ cj+ + cj− ⎠
j =1 j =k j =1 j =k
⎛ ⎞
k−1
N
k−1
N
= (j − k)cj+ + (j − k)cj− + ⎝ cj+ + cj− ⎠ .
j =1 j =k+1 j =1 j =k
8.3 ♣ FT-2 Proximity of Hyperplanes 261
k and rewriting,
Carrying out similarly for CM
⎧
⎪
⎨ Cm
(k−1) k + k−1 c+ + N c− ,
= Cm j =1 j j =k j
N (8.25)
⎪
⎩ C (k−1) = C k + k−1 − +
M M c
j =1 j + c
j =k j ,
rk (k−1) (k − r)
ām = P̄mr ∩ P̄m , rk
y(ām ) = k , (8.34)
j =r+1 S(Aj )
rk k (k−1) rk (k − r)
āM = P̄M ∩ P̄M , y(b̄M ) = k , (8.35)
j =r+1 S(Bj )
1k (k−1) (k − 1)
ām = P̄m1 ∩ P̄m , 1k
y(ām ) = k , (8.36)
j =2 S(Aj )
rk k (k−1) rk (k − 1)
b̄M = P̄M ∩ P̄M , y(b̄M ) = k . (8.37)
j =2 S(Bj )
There are also some important monotonicities with S(B1 ) ≥ S(A1 ) and
+ N −
⎫
S(Ak ) = k−1j =1 cj + j =k cj ⎬
N ⇒ S(Ak−1 ) ≤ S(Ak ), (8.38)
+ − ⎭
S(Ak−1 ) = k−2 c
j =1 j + j =k−1 c j
showing that
1 1
= y(AN ) ≤ y(AN −1 ) ≤ · · · ≤ y(A1 ) = .
S(AN ) S(A1 )
Similarly, S(Bk−1 ) ≥ S(Bk ) ⇒
1 1
= y(BN ) ≥ y(BN−1 ) ≥ · · · ≥ y(B1 ) = .
S(BN ) S(B1 )
8.3 ♣ FT-2 Proximity of Hyperplanes 263
showing that at most only one change of sign in the sequence of the y(Ak ) can
occur. Similarly, at most one change of sign can occur in the sequence of the y(Bk ),
8.3.5 ** Construction of
Consider the first part of the lemma and specifically when is above the x-axis.
All values of y(B) are greater than 0 for any point B ∈ B, and hence y(Ak ) > 0,
(k−1) k and C (k−1) > C k from (8.25). There are three
y(BK ) > 0, so that Cm > Cm M M
k:
possible variations for the slopes of P̄mk , P̄M
1. all slopes positive,
1 1 1 1 1 1
N
≥ (N−1)
≥ ··· ≥ 1
> 0, N
≥ (N −1)
≥ ··· ≥ 1
> 0;
Cm Cm Cm CM CM CM
(8.41)
1 1 1 1 1
k
≥ ··· ≥ 1
> 0 > N ≥ · · · ≥ (k+1) , k
Cm Cm Cm Cm CM
1 1 1
≥ ··· ≥ 1
>0> N
≥ ··· ≥ (k+1)
; (8.42)
CM CM CM
Figure 8.11 recalls the “above”/“below” relation for a point P and a line
,
which is helpful in what follows. Recall from Lemma 8.3.9 that ⊂ k . The
intersection = 1 ∩ N = 1N , where 1 is the sectorial region between
8.3 ♣ FT-2 Proximity of Hyperplanes 265
Figure 8.13. The slopes of the lines P̄mk , P̄Mk change sign.
is enclosed within the quadrilateral 1 ∩ N .
Figure 8.14. The slopes of the lines P̄mk , P̄Mk are all negative.
is enclosed within the quadrilateral 1 ∩ N .
arrangement shown with n̄ik = P̄M k ∩ P̄ 1 higher in y than y(A ). Hence n̄ ∈ ∂,
m 1 ik
meaning that the segment of P̄m1 belonging to ∂ has an enpoint āik = P̄m1 ∩ P̄mk for
some k. By the same argument, there is an endpoint b̄ik = P̄M 1 ∩ P̄ k ∈ ∂. From
M
(8.36) and (8.39), a comparison of the y coordinates of the points ā12 = fN (A2 )
and ā1k yields
(k − 1) (k − 1) 1
y(ā1k ) = k ≤ k = = y(A2 ), (8.44)
S(A 2)
j =2 S(Aj ) j =2 S(A2 )
illustrated in Fig. 8.16, showing that the point ā12 is fN (A2 ) ∈ ∂ with ā1k ∈
for k ≥ 3. So it is the segment with endpoints fN (A1 ), fN A2 that belongs to ∂,
and similarly for the vertices fN (BN ), fN (BN −1 ) ∈ ∂ together with the segment
joining them.
Let Ak , Ak+1 be the endpoints of the edge ak , and Bk , Bk+1 the endpoints of
the edge bk , respectively, on ∂B. Then
⎧
⎨ ak = (c1+ , c2+ , . . . , ck−1
+ −
, ck , ck+1 −
, . . . , cN ),
c ∈ [ck− , ck+ ]. (8.45)
⎩ b = (c− , c− , . . . , c− , c , c+ , . . . , c+ ), k
k 1 2 k−1 k k+1 N
8.3 ♣ FT-2 Proximity of Hyperplanes 267
Figure 8.15. The segment connecting fN (A1 ) and fN (AN ) is contained in k for all k .
The point n̄ik is equal to P̄m1 ∩ P̄M
k ∈ ∂ for k ≥ 2, but the point ā equals P̄ 1 ∩ P̄ k ∈ ∂ for
1k m m
some k.
Restating, we have established that the image fN (a1 ) of the edge a1 joining
A1 , A2 , and similarly the edge fN (b1 ) with endpoints fN (BN ), fN (BN −1 ),
belongs to (recall that A1 = BN ). Inductively, the same argument shows that
fN (ak ), fN (bk ) ⊂ ∂ ∀ k = 1, . . . , N. We have shown that the construction
of is accomplished by sweeping along the x axis to the points (0, 0), . . . ,
(k −1, 0), . . . , (N −1, 0) where the sectorial regions k are anchored, intersecting
them sequentially, (1 ∩ 2 ) ∩ · · · ∩ k , terminating with N to generate , as
illustrated in Fig. 8.18.
The three possibilities for the segments forming ∂ are shown in Fig. 8.17,
the third case (on the right) still to be discussed. In due course it will be seen that
the segments can be either semi-infinite lines or projective complements of finite
segments. Equivalently, the construction of corresponds to the judicious traversal
of the portion of ∂B consisting of the 2N vertices Ak , Bk , specified in (8.45), on
the path P along the 2N edges a1 , a2 , . . . , aN , b1 , b2 , . . . , bN . At each vertex,
say Ak , the point fN (Ak ) in the xy plane is computed and joined by a straight line
segment to the previous one fN (Ak−1 ). To emphasize, out of a total of 2N vertices
(and edges) on ∂B, only 2N are needed for the construction of . The traversal
268 8. Proximity of Lines, Planes, and Flats
direction for ak is ck+ → ck− and ck− → ck+ , for bk , shown in Fig. 8.19 for 3-D and
Fig. 8.20 for N -D:
, A2 −→ A3 → · · · → Ak → · · · → AN −1 -
P : A1 = BN+1 B1 = AN +1
. BN−1 ← BN−2 ← · · · ← Br ← · · · ← B2 /
(8.46)
The construction of is akin to a central problem in computational geometry:
the construction of the convex hull of a planar set of N points. This problem is
equivalent to sorting and can be accomplished with O(N log N) worst-case com-
putational complexity [148]. In our case, the sweep shown in Fig. 8.18 provides the
2N vertices on ∂ already sorted according to their connectivity (order in which
270 8. Proximity of Lines, Planes, and Flats
Figure 8.21. The box B in the 3-D space of coefficients c1 , c2 , c3 , (its positions with respect to
the plane πc : c1 + c2 + c3 = 0.) Namely, πc ∩ B = ∅, or if πc ∩ B = ∅, πc is a supporting plane at
either vertex A1 or B1 , or πc intersects two edges of the path P.
they are joined), that is, the path in (8.46), thus lowering the required complexity
to O(N).
We have been carefully skirting the prospect of the sum S(c) = N j =1 cj = 0
⎛ ⎞
N
fN (c) = (x(c), y(c)) = ⎝ (j − 1)cj , 1, S(c)⎠ . (8.48)
j =1
as the monotonicities in (8.39), (8.40) shows that at most two edges of that path are
intersected by πc ; this is also seen in Fig. 8.21. The image of such an edge, as shown
on the right of Fig. 8.17, is the projective complement of the finite segment with
fN (Ak+1 ) now higher than fN (Ak ). Then is a gh, a generalized hyperbola in
the nomenclature of Chapter 7 on curves as shown in Fig. 8.23, whose construction
proceeds according to the order given by (8.39), (8.40). A variation occurs when
πc intersects ∂B at one of the vertices V not A1 or B1 . Then is a gh with one
asymptote corresponding to the ideal point V̄ being vertical, as shown in Fig. 7.23
and Fig. 7.30 (see Exercise 5).
For easy reference, the construction by which the region is obtained is called
the “scissors algorithm,” that is, starting with the “fan” regions as shown in Fig. 8.10,
their intersection described in Lemma 8.3.9, and the construction as described in
this section, in particular (8.41), (8.42), (8.43). Clearly this construction algorithm
outputs specific types of regions, and not any 2N-gon region can be its output.
The conditions resulting in the three types of regions are brought “under one roof”
visually in Fig. 8.24 and formally below.
Theorem 8.3.10 (T. Matskewich) The region is 2N-gon above or below (but
not intersecting) the x-axis, which is
1. bc if πc ∩ B = ∅,
2. uc if πc ∩ B = {A1 } or πc ∩ B = {B1 } ,
274 8. Proximity of Lines, Planes, and Flats
Figure 8.24. The intersection of the hyperplane πc with the path P ⊂ B determines the type of
the region . When πc ∩ B = ∅ (top), is a bc (bounded convex) 2N -gon as in Fig. 8.18; otherwise,
a uc (unbounded convex) when πc is a supporting hyperplane to B at either vertex A1 or B1 (middle)
(Fig. 8.22), or as in the bottom part a gh (generalized hyperbola) (Fig. 8.23) when πc intersects more
than one segment B. In addition, if πc cuts through one of the vertices V , then V̄ is an ideal point
and is a vertical asymptote of (Exercise 5).
After all this preparation, let us show an example of the theorem’s Case 1 for
N = 3. What this amounts to is knowing the vertices A1 , A2 , A3 , B1 , B2 , B3 for
the computation of the boundary of = NH0
. These are among the vertices of
the 3-D box in Fig. 8.19. On the path shown in Fig. 8.25, the label ck indicates the
only coefficient varying along that edge. The resulting hexagon for c1 ∈ [1, 2],
c2 ∈ [2, 3], c3 ∈ [3, 4] is drawn on the left side of Fig. 8.26 using the formula
for π̄0
. ♣ FT-4e
k
N
= Nc1 + (j − k − 1) c + (j − k − 1) c , (8.51)
$ %" # j $ %" # j
j =1 <0 j =k+2 >0
with
⎧
⎨ C 1
= C 1 (c1 , c3 , . . . , . . . , cN ) = (N − 1)c1 + Nj =3 (j − 2)cj ,
1
⎩ C N = C N (c , . . . , c (8.52)
1
2 N−1 , c ) = N (j − N − 1)c .
N j =2 j
8.3 ♣ FT-2 Proximity of Hyperplanes 277
is shown on the right. The top and bottom vertices are indicated by the vertices A1 , B1 of B, rather
than the cumbersome notation fN1
(A1 ), fN1
(B1 ) used to compute them, while the lines are labeled
by the coefficients varying along them.
Figure 8.29. The shift by 2 units, k → k + 2 mod 3 and the resulting path on ∂B.
X̄i and X̄i−1 axes is N − 1. The specific case for N = 3 and i = 2 is shown next in
Fig. 8.31. The region NH2
is computed using the vertices shown with the formula
8.3 ♣ FT-2 Proximity of Hyperplanes 279
for π̄2
. For N = 3, i = 3, the region NH3
is identical to NH0
but translated three
units to the right. A more interesting example is in Fig. 8.30 for N = 4, i = 3; it is
helpful for understanding general situation.
For small N, the vertices can be conveniently found by the traversal diagram.
For the sake of completeness, it is useful to know for large k the sequence of vertices
Ai
,k , Bi
,k ∈ ∂B, and the cr varying along some of the edges resulting from the ith
shift are listed below.
⎧ ci
⎪
⎪
⎪ A1 = (c1− , . . . , cN −
) −→,
⎪
⎪
⎪
⎪ − − + − −
⎪ Ai
,2 = (c1 , . . . , ci−1 , ci , ci+1 , . . . , cN ),
⎪
⎪
⎪
⎪
⎪ A
= (c− , . . . , c− , c+ , c+ , c− , . . . , c− ),
⎪
⎪
⎪
⎪
i ,3 1 i−1 i i+1 i+2 N
⎪
⎪ ...
⎪
⎪
⎪
⎪
⎪
⎪ Ai
,k = (c1− , . . . , ci−1
−
, ci+ , . . . , ci+k−1
+ −
), k < N − i + 1,
⎪
⎪ , . . . , cN
⎪
⎪
⎪
⎪ ...
⎪
⎪
⎪
⎪
⎪ cN + cN +1
⎪
⎪
⎪ −→ Ai
,N −i+1 = (c1− , . . . , ci−1 −
, ci+ , . . . , cN +
−1 , cN ) −→,
⎪
⎪
⎪
⎪
⎪
⎨ Ai
,N −i = (c+ , c− , . . . , c− , c+ , . . . , c+ , c+ ) −→,
cN +2
1 2 i−1 i N −1 N
(8.54)
⎪
⎪ ...
⎪
⎪
⎪
⎪ ci−2 + + + − + + ci−1
⎪
⎪ −→ Ai
,N = (c1 , c2 , . . . , ci−2 , ci−1 , ci , . . . , cN ) −→
⎪
⎪
⎪
⎪
⎪
⎪ B1 = (c1+ , . . . , cN +
) −→
ci
⎪
⎪
⎪
⎪
⎪
⎪ + ci+1
⎪
⎪
⎪ Bi
,2 = (c1+ , . . . , ci−1
+
, ci− , ci+1
+
, . . . , cN ) −→
⎪
⎪
⎪
⎪
⎪
⎪ ...
⎪
⎪
⎪
⎪ cN + + + − − cN +1
⎪
⎪ −→ B
,N −i+1 = (c , c , . . . , c , c , . . . , c ) −→
⎪
⎪
i 1 2 i−1 i N
⎪
⎪
⎪
⎪ ...
⎪
⎪
⎪
⎩ ci−2 − ci−1 ci
−→ Bi
,N = (c1− , c2− , . . . , ci−2 − +
, ci−1 , ci− , . . . , cN ) −→ A1 −→ .
Figure 8.31. The shift by 2 units, k → k + 2 mod 3 and the resulting path on ∂B.
Adding c0
As was done for lines, there remains the task of enlarging the family of “close”
hyperplanes by allowing c0 to vary in the equation of π. The neighborhoods are
now defined by
NH = {π|π : c1 x1 + c2 x2 + · · · + cN xN = c0 ,
of the vertices change according to c0 , and two vertical edges are added, so that the
polygons have 2(N + 1) vertices and edges. The polygon still consists of the points
π̄0
, which are now the function values of
N
N+1 2 j =1 (j− 1)cj c0
fN : R &→ R , fN (c) = (x(c), y(c)) = , , (8.56)
S S
1. bc if πc ∩ B = ∅,
2. uc if πc ∩ B = {A1 } or πc ∩ B = {B1 } ,
3. gh if πc intersects B at more than one edge, and has a vertical asymptote if in
addition, πc contains a vertex of B.
x(π̄1
2
3 ) = 6 − x(π̄123 ) − x(π̄1
23 ), x(π̄1
2
3
) = 3 + x(π̄123 ), (8.60)
284 8. Proximity of Lines, Planes, and Flats
found, and they differ, showing that these belong to two different planes. All this is
detailed in the caption of Fig. 8.33.
Still working with Fig. 8.26 but now with variable c0 ∈ [0.85, 1.15], two
octagons are produced with two vertical edges as shown in Fig. 8.34. For c0 < 0
the resulting region crosses the x axis; Fig. 8.35. By the way, the appearance of
vertical edges does not necessarily imply that c0 is varying. For instance, in the
family of planes in Fig. 8.26, just changing c1− = 1, which is also the value of
c3+ , produces the hexagon NH0 , whose leftmost edge of NH0 , on (−, −, +) and
(−, +, +), is vertical (see Exercise 9). Minimally varying this family of planes
286 8. Proximity of Lines, Planes, and Flats
shows how the regions evolve from bc to uc (Fig. 8.36), then gh (Fig. 8.37) and
gh with an ideal point (Fig. 8.38). The ideal point of the uc is computed directly
from the function (8.49). We then move on to 4D with the sequence of Figures 8.40,
8.41, 8.42, 8.43 having already pointed out that the ideal point of a uc is computed
directly from the function fN .
Figure 8.39. The gh in Fig. 8.37 with the range c0 ∈ [0.5, 1] added.
In the quintuplet (., ., ., ., .), the first position is for the superscript of c0± . The previous vertices shown
in Fig. 8.37, marked with •, belong to the gh with c0+ = 1.
solution are illustrated using the previous family of 3D planes whose four hexagons
are shown in Fig. 8.44. The images of all vertices of ∂B are shown, with each
hexagon containing two additional interior points.
Two points with the same y, shown in Fig. 8.44, are in NH0 and NH1 , but
they cannot represent a plane π in , since π̄2
∈ NH3 . From the position
of the points the represented plane π is found having coefficients c1 = 0.5,
c2 = 0.65, c3 = 0.18; hence π ∈ , since π̄2
∈ [1/3, 1]. With this example and
upon reflection, it is clear that any N − 1 points with the same y, one in each NHi
,
8.3 ♣ FT-2 Proximity of Hyperplanes 289
Figure 8.42. The two extreme regions for the previous uc NH3
in 4D with c0 ∈ [−0.5, 1].
Above is the NH3
for c0 = −0.5 and below for c0 = 1.
Figure 8.47. Continuing the interior point construction from triangle 1 to triangle 2.
Exercises
1. Investigate the neighborhood family Nπ of hyperplanes given by (8.17).
Do they form a topology with respect to the criteria set in Section 8.1? This is
a good topic for a course project.
2. Find the relations corresponding to (8.10), (8.11), (8.12) but for the indexed
points π̄1234 , π̄1
234 , π̄1
2
34 , π̄1
2
3
4 , π̄1
2
3
4
of a hyperplane π ⊂ R4 .
3. Prove analytically the equivalences translation ↔ rotation, rotation ↔ transla-
tion indicated in Fig. 8.9.
4. Draw the equivalent of Fig. 8.21 in the space of coefficients RN using the box
B in Fig. 8.20.
5. Draw the construction of when πc intersects B at a vertex As and an edge
br . Hint: A¯k is a vertical asymptote of .
6. Construct and draw the uc, gh cases for the line neighborhoods in RN . Give
specific examples for N = 3, 4.
7. For the neighborhoods given by (8.55) with c0 = 1, carry out the analysis of
the resulting shape of the regions , and construct and draw examples of the
possible options. State the result formally as a corollary to Theorem 8.3.10. This
together with a software implementation where the user specifies the intervals
[ck− , ck+ ], and the region is drawn, is an excellent topic for a course project.
8. Give examples of polygonal regions with 2N vertices/edges and prove that they
can not be the output of the “scissors algorithm.”
9. Draw some NH ¯ 0 for 2N-gons uc and gh with vertical edges and c0 .
10. Write an algorithm for finding interior points in RN for N = 3, 4. This together
with a software implementation is an excellent topic for a course project.
This page intentionally left blank
9
Hypersurfaces in RN
Figure 9.1. (a) Square (b) Cube in R3 (c) Hypercube in R5 – all edges have unit length. (top)
Showing the vertices and (bottom) representation based on the tangent planes as developed in this
chapter.
9.1 ♣ FT-1 Preliminaries 299
This states that the first axis X̄1 is placed at x = 0, X̄2 is placed at x = 1, . . . until
X̄N , which is at x = N − 1. After translating the X̄1 axis one unit to the right of
X̄N , renaming it X̄1
, the axis spacing N-tuple is
i
" #$ %
1 0
dN = dN + (N, 0, . . . , 0) = (N, 1, 2, . . . , i − 1, . . . , N − 1).
And after i such successive unit translations with the X̄i axis in position X̄i
, the
axis spacing for i = 0, . . . , N, k = 1, . . . , N is given by
i i
" #$ % " #$ %
i 0
dN = dN + (N, . . . , N, 0, . . . , 0) = (N, N + 1, . . . , N + i − 1, i, . . . , N − 1)
= (dik ). (9.1)
To clarify the indices, i is the number of axis translations and k is the position
(component) within the vector dN i . Using the step function
1 i ≥ k,
Si (k) = (9.2)
0 i < k,
the axis spacing after the ith translation can be conveniently written as
i
dN = (dik ) = (k − 1 + NSi (k)). (9.3)
300 9. Hypersurfaces in RN
When the dimensionality is clear from the context, the subscript N can be omitted.
i spacing, the points π̄ p
For a flat π p expressed in terms of the dN 1
,... ,i
,i+1,... ,N
p
of its representation are denoted compactly by π̄i
. Consistent with this notation,
p
π p = π0
for π p described in terms of the axis spacing dN 0 . So the common spacings
Exercises
1. Show the 5-D hypercube in -coords after a
(a) translation,
(b) rotation, and
(c) both translated and rotated.
2. Construct incidence matrices for the 3-D and 5-D hypercube shown in Fig. 9.1.
3. Construct the representation in -coords and incidence matrices for an object
(e.g., a pyramid) of your choice in 3-D and 5-D; see also [23].
9.2 Formulation 301
Figure 9.2. A surface σ ∈ E is represented by two linked planar regions σ̄123 , σ̄231
.
They consist of the pairs of points representing all its tangent planes.
9.2 Formulation
We now pursue the representation of smooth surfaces in RN and in particular the
family E of surfaces40 that are the envelopes of their tangent planes. The discussion is
confined to R3 when the higher-dimensional generalizations are clear. Occasionally,
as for curves, we use terminology and results that can be found in the references
on differential geometry. Also recommended is the beautiful and comprehensive
website on surfaces [130]. The basic idea for the representation of a surface σ ∈ E
is illustrated in Fig. 9.2. The tangent plane π at each point P ∈ σ is mapped to
the two planar points π̄123 , π̄231
= π̄1
23 . Collecting the points by their indices
for all the tangent planes yields two planar regions σ̄123 (x, y), σ̄1
23 (x, y), one
each for the index triples. The regions must be linked by a matching algorithm
that selects the pairs of points (one from each region) representing valid tangent
planes of σ . The two linked regions form the representation σ̄ of the surface.
An example of the linking was already seen in Chapter 8 between the polygonal
regions representing families of proximate planes. The intent is to reconstruct the
surface from its representation. The manner and extent to which this is possible,
i.e., when the -coords mapping is invertible, are among the issues studied in this
chapter.
40
Not to be confused with the family of superplanes also denoted by E.
302 9. Hypersurfaces in RN
where use of the projective plane P2 allows for the presence of ideal points. In the
notation, the link between the two regions is indicated by placing them within the
( , ), which are omitted when the discussion pertains to just the region(s). The
functions used are assumed to be continuous in all their variables together with
such of its derivatives as are involved in the discussion.
∂F , ∂F , ∂F ,
The gradient vector of F , ∇F = ∂x 1 ∂x2 ∂x3 P
at the point P is normal
to the surface σ at P ⇒ the tangent plane π of σ at the point P0 (x0 ), (x0 ) =
(x10 , x20 , x30 ) is given by
3
∂F 0 0 0
π : ∇F · (x − x0 ) = (xi − xi0 ) (x , x , x ) = 0. (9.9)
i=1
∂xi 1 2 3
π̄i
(s, t) = (n̂ · di , n̂ · (x0 ), n̂ · u), i = 0, 1, (9.13)
where
xs × xt
n̂ =
|xs × xt |
is the unit normal vector to σ at the point P0 . Stated explicitly the point &→ pair-of-
points mapping, from either (9.10) or (9.12), is
These transformations are the direct extension of the 2-D point ↔ point curve
transformations derived in Chapter 7. A word of caution: when the interaxis distance
d is not equal to 1, the right-hand sides of x and x
above need to be multiplied by
d and 2d respectively (see (7.7)); an example is given further; see (9.22).
The generalization to the hypersurfaces E of RN is direct. The image of the
tangent hyperplane at a point P ∈ σ ∈ E consists of N − 1 points determined from
(9.10) by using the appropriate axis spacing dNi , i = 0, . . . , N −2, the x coordinate
being the xi
as given above. The resulting transformation, the N-D extension of
(9.15) with N terms in the numerator and denominator, determines the point (N −1)-
tuples mapping the surface σ ∈ E into σ̄ consisting of (N − 1) planar regions. Next
the construction of the regions is undertaken and subsequently the link or matching
algorithm between them is found.
41
The short-subscripts 0
or 1
notation is used interchangeably with that showing the full index list,
i.e., 123 or 1
23.
304 9. Hypersurfaces in RN
Proof. With reference to Fig. 9.4, each point ρ̄123 ∈ σ̄123 is a representing point of
a plane ρ tangent to the surface σ at a point R by the definition of the region σ̄123 .
In fact, ρ̄123 =
¯ρ , where ρ ∩ π0s
=
ρ . Note that for a plane π tangent at point
P ∈ σ, π̄123 ∈ ∂ σ̄123 ,
π = π ∩ π0s
and P ∈
π . The image P̄ is a line tangent to
∂ σ̄123 at π̄123 =
¯123 ⇒ P ∈ π0s
: duality point-of-tangency ↔ line-of-tangency.
In short, every point of σ̄123 represents a line of π0s
due to the smoothness of ∂σ and,
therefore, by continuity of ∂ σ̄123 , every tangent to ∂ σ̄123 represents a point of π0s
Corollary 9.3.3 (Ideal points) An ideal point on the boundary ∂ σ̄ is the image
of a tangent plane at a point of σ , parallel to u.
Proof. It is an immediate consequence of (9.10) that ideal points occur in the image
when the third component is zero. That is, the tangent plane’s normal is normal to
u or the tangent plane is parallel to u.
♣ FT-2e
An algebraic surface is one described by a polynomial equation, providing an
important special case of Lemma 9.3.2.
Corollary 9.3.4 (Boundary of an algebraic surface) The boundary σ̄ of an
algebraic surface σ of degree n is composed of N − 1 algebraic curves each of
degree n(n − 1) or less.
The corresponding result in algebraic geometry42 is that the dual of a nonsingular
algebraic surface of degree n has degree n(n − 1)(N −1) [52], [186]. Here the
boundary representations can be found with the aid of Plücker’s results, presented
in Section 7.6. For F in (9.15) a quadratic polynomial, the corresponding surface
is called a quadric, and in R3 ,
Figure 9.5. The image c̄ of a space curve c contained in π1s is formed by two coincident curves.
N − 1 doubly indexed points, say t¯i−1,i , such that c̄ consists of N − 1 planar curves
c̄i−1,i formed by the t¯i−1,i , two such curves for R3 . Each c̄i−1,i is the image of
the projection of c on the 2-plane xi−1,i . The fun part is that in our case, these
two curves are coincident, since they are the images of a curve in a superplane, say
c ⊂ π0s
, where each tangent t at a point P ∈ c is a line in the sp π0s
, and hence
t¯12 = t¯23 . An example is in order. Consider the cylinder
CY : x22 + x32 = 1, (9.17)
which is centered along the x1 axis. For a moment we anticipate a result from
the next subsection that the regions representing a cylinder are curves and find
the representation curves starting with CY12 . Based on the aforementioned, the
intersection c with the first superplane
π0s
: x1 − 2x2 + x3 = 0 (9.18)
must be found. The intent is to show that the projections of c = π0s
∩ CY on the
principal planes have identical images. Substituting
1
x3 = 2x2 − x1 , x2 = (x1 + x3 ),
2
successively into (9.17), we obtain
c12 = x12 − 4x1 x2 + 5x22 − 1 = 0, c13 = x12 + 2x1 x3 + 5x22 − 4 = 0, (9.19)
308 9. Hypersurfaces in RN
is the quadratic
with d the interaxis distance and = (A24 − A1 A2 ) the discriminant; the indicator
I = A1 + A2 + 2A4 plays an important role in the transformation. For c12 , the
interaxis distance is d = 1, and the nonzero coefficients are
A1 = 1, A4 = −2, A2 = 5, A3 = −1.
a1 = −2, a2 = 1, a3 = −5, a4 = 0, a5 = 3, a6 = 0
Continuing for c13 , the distance between the X̄1 and X̄3 axes is d = 2, the nonzero
coefficients (where now the second variable is x3 ) and its image’s coefficients are
A1 = 1, A4 = 1, A2 = 5, A3 = −4, a1 = −8, a2 = 4,
a3 = −20, a4 = 0, a5 = 24, a6 = 0,
which, upon division by 4, define the same curve as in (9.23). Note that without
the insertion of the interaxis distance d in the formulas, the computation would
9.3 ♣ FT-2 Boundary Contours 309
not be correct. The image c̄23 is found next to verify the assertion. The nonzero
coefficients of c23 and its image are
with the distance between the X̄2 and X̄3 axes d = 1. We write
c̄23 : −2x
2 + y 2 + 2x
− 1 = 0, x
= x − 1, (9.24)
since the X̄2 axis is one unit to the right of the y axis. In the xy coordinate system,
Hence images of all the projections of c, which are ellipses, are coincident
hyperbolas c̄12 = c̄13 = c̄23 = c̄ = CY12 .
Proceeding, the image CY23 is the image of the curve c
= CY ∩ π1s
, where
π1s
: x1 + x2 − 2x3 = 0 (9.26)
c1
3 : x12 − 4x1 x3 + 5x32 − 1 = 0, c1
2 : x12 + 2x1 x2 + 5x22 − 4 = 0. (9.27)
c̄
1
3 : −2x
2 + y 2 − 6x
− 5 = 0.
310 9. Hypersurfaces in RN
Here x
= x − 3 due to the distance of three units of X̄1
from the y axis, so
c̄
1
3 : −2(x − 3)2 + y 2 − 6(x − 3) − 5 = −2x 2 + y 2 + 6x − 5 = 0, (9.28)
The sphere cannot be cut and then flattened without distortion. Motivated by
mapmaking, surfaces were sought whose shape is “close” to spherical and can
be unrolled into a plane without streching or contracting. Euler first considered this
problem, and subsequently, starting in 1771, Monge made major contributions to the
subject of developable surfaces. Monge pointed out potential applications especially
to architecture, paving the way for the modern contoured architectural marvels.
Gauss and others followed with the development of the differential geometry of
9.4 ♣ FT-3 Developable Surfaces 311
more genenal surfaces. Developable surfaces (“developables” for short) are the
class D ⊂ E that are the envelope of a one-parameter family of planes; they serve
as an excellent starting point for our study of surface representation. Finding their
image, matching, and reconstruction algorithms is straightforward, and the results
offer crucial guides for coping with the more general representation problems. The
pioneering work, and the basis for the exposition here on their representation, is due
to C.K. Hung [93], [92], and the recent more complete exposition [94]. Formally,
let the family of tangent planes describing a developable σ be specified by
the prime
denoting differentiation with respect to the parameter t. This line is
called a ruling, generator, or characteristic of the plane π(t) that contains it. Three
planes π(t), π(t + 1 t), π(t + 1 t + 2 t) intersect at a point C, which is also on
the plane
πd (t + 1 t) : c
(t + 1 t) · x = c0
(t + 1 t), πd (t) : c
(t)) · x = c0
(t),
with the second one obtained similarly. Forming their difference, dividing by 1 t,
and taking the limit as 1 t → 0, we find the limiting position of the point C as the
intersection of the three planes
c(t) · x = c0 (t), c
(t) · x = c0
(t), c
(t) · x = c0
(t). (9.31)
This is the characteristic point of the plane π(t); it lies on the plane’s ruling r(t).
When all the π(t) enveloping a developable σ have the same characteristic point,
σ is a cylinder, whose rulings are parallel if the point is ideal, or a cone when all
rulings lie on a regular point.
We state without proof that in general, the locus of characteristic points is a curve
cc, called the edge of regression, and at each point C(t) ∈ cc the ruling r(t) of the
same plane π(t) is tangent to cc. The family of planes (9.29) satisfying the conditions
in (9.35) has an envelope that is a cylinder, a cone, or a tangential developable having
two sheets generated by the rulings tangent to the curve cc. It is the envelope of
its osculating planes. The intersection of the tangential developable with the plane
normal to the ruling r(t) at a point C(t) has a cusp at that point. Induced by the point
↔ plane duality, there is an interesting duality between space curves, considered as
the locus of a one-parameter family of points and developable surfaces formed by
a one-parameter family of tangent planes [166, p. 72]. This can serve as a blueprint
for an analogous duality in RN , which we do not pursue here. Without entering into
further detail, we mention that a necessary and sufficient condition for a smooth
surface σ ∈ E to be developable is that its Gaussian curvature vanishes [166,
pp. 73–91]. A specific example, the circular double-cone, helps clarify matters.
The parametric equations describing the surface are derived with the aid of Fig. 9.7,
showing a cone CC symmetrical about the x3 axis with apex angle α. Let P ∈ CC
9.4 ♣ FT-3 Developable Surfaces 313
be a point at a distance t from the apex on the circular slice of CC with the plane
x3 = t cos α. The radius of P from the x3 axis is t sin α and at an angle s from the
x1 axis. The coordinates of P in terms of the two parameters (s, t) are
CC : x(s, t) = (x1 = t sin α cos s, x2 = t sin α sin s, x3 = t cos α). (9.32)
Next we derive the family of tangent planes of CC using (9.12):
x1 − x10 x2 − x20 x3 − x30
π : −t sin α sin s t sin α cos s 0 = 0. (9.33)
sin α cos s sin α sin s cos α
The parameter t in the second row cancels out, and so the developable CC has a
one-parameter family of tanget planes
π(s) : (x1 − x10 ) cos α cos s + (x2 − x20 ) cos α sin s − (x3 − x30 ) sin α = 0.
(9.34)
314 9. Hypersurfaces in RN
A one-parameter family of planes is mapped into two sets of points, a pair for each
parameter value, so the two regions representing developables are curves. Though
this is intuitively clear, the rigorous proof below, needed to exclude pathological
cases, is involved, and its reading can be omitted.
Theorem 9.4.1 (C.K. Hung; Developable Surfaces) Let a surface σ ∈ D with
tangent planes given by (9.29), and a neighborhood U ⊂ It ⊂ R, where the two
conditions
dx(t) ∂ c(t) · di dy(t) ∂ c0 (t)
= = 0, = = 0, (9.35)
dt ∂t c(t) · u dt ∂t c(t) · u
are not simultaneously satisfie for all t ∈ U . Then the set of points {π̄(t)i
|t ∈ U }
representing the tangent planes (9.29) are curves.
♣ FT-3e
** Proof. The points representing the planes (9.29) specifying the developable
surface σ are
π̄(t)i
= (c(t) · di , c0 (t), c(t) · u) ∀t ∈ It . (9.36)
These points are the image of a curve defined by the parameter t ∈ It , provided that
the functions x(t), y(t) are single-valued and the conditions (9.35) are satisfied.
These conditions fail if and only if there exist constants k1 , k2 such that
c(t) · di ≡ k1 c(t) · u, c(t) · (di − k1 u) ≡ 0,
⇒ (9.37)
c0 (t) ≡ k2 c(t) · u, c(t) · (k2 u) ≡ c0 (t),
identically for t in the neighborhood U ⊂ It . Consider first the case k2 = 0. Then
necessarily c0 (t) ≡ 0 ⇒ that all the planes π(t) contain the origin. Let ê1 and
1
denote the unit vector and line respectively through the origin in the direction of
(di − k1 u), i.e.,
(di − k1 u)
ê1 = i
= K1 (di − k1 u).
|d − k1 u|
Then the first identity implies that ∀t ∈ U, ê1 is orthogonal to the vector c(t) which
is normal to the plane π(t). Unless c
(t) ≡ 0 for all t ∈ U , then
)
π(t) =
1 , (9.38)
t∈U
showing that the family of planes π(t) given by (9.29), rather than being the envelope
of a developable surface, is either a single plane (and hence σ itself) or a pencil of
planes on the line
1 .
9.4 ♣ FT-3 Developable Surfaces 315
Next consider the case k2 = 0. From the first identity, ê1 ⊥ c(t), and from the
second, c(t) ⊥ k2 u ⇒ ê1 and k2 u must be linearly independent; for if not, then
they would be in the same direction and hence both would be orthogonal to c(t).
So every linear combination with nonzero coefficients of the two vectors is not zero,
and in particular, u − (u · ê1 )ê1 = 0. Let us denote the unit vector in this direction
by ê2 , i.e.,
(u − (u · ê1 )ê1 )
ê2 = = K2 [u − (u · ê1 )ê1 ].
|u − (u · ê1 )ê1 |
The two unit vectors are orthogonal, since ê1 · ê2 = K2 ê1 · (u − (u · ê1 )ê1 ) = 0.
Further, c(t) · ê2 = K2 c(t) · u. Then (9.37) reduces to
(
c(t) · ê1 ≡ 0,
(9.39)
c(t) · ê2 ≡ Kc0 (t),
from the orthogonality of ê1 and ê2 and the vector identities. It consists of a vector
in the direction of ê2 and another perpendicular to the direction of ê1 × ê2 . The
family of tangent planes, (9.29), can be rewritten as
From
(Kc0 (t)ê2 + g(t)(ê1 × ê2 )) · ê1 ≡ 0,
(Kc0 (t)ê2 + g(t)(ê1 × ê2 )) · (ê2 + s ê1 ) = Kc0 (t),
it is clear that the line
2 : ê2 + s ê1 , parametrized by s, is contained in all the
tangent planes (9.43) of σ . Again, provided that c
(t) = 0, these planes, rather than
316 9. Hypersurfaces in RN
being the envelope of a surface, are a pencil of planes on the line
2 . In short, the
requirement that the tangent planes of a surface σ ∈ D not satisfy the conditions
in (9.35) ensures that (9.36) defines two (piecewise) C 1 curves in R3 that represent
a developable not simultaneously satisfying the two conditions of (9.35). Use of
vector notation throughout allows us to conclude that the N − 1 curves
σ̄i
(t) = {π̄i
(t) = (c(t) · di , c0 (t), c(t) · u)}, i = 0, . . . , N − 2, (9.44)
σ̄ = {∂ σ̄i
|i = 0, . . . , N − 2}.
a proper partition and matching, they may not always represent a valid developable.
This issue is examined later on.
♣ FT-4e
Definition (Ambiguous plane) A tangent plane π of a surface σ ∈ D is ambigu-
ous in the first sense, denoted by a1, if either π̄123 or π̄1
23 is an extreme point in the
y-direction of its corresponding curve. It is ambiguous in the second sense, denoted
by a2, if either of the points is a crossing point on its curve. All other planes are
unambiguous.
The notation a1 or a2 is used interchangeably either for ambiguous planes or the
points representing them. Returning to Fig. 9.8, it is seen that the planes α and β are
a1, since they are represented by extreme points of the curves. They cannot serve as
start points, for in the absence of other information, the curve’s traversal can proceed
either to the left or right of the points. Instances of different representing points on
one of the curves are shown in Fig. 9.9. Such points are necessarily at an extremum.
Figure 9.10 illustrates the ambiguity, due to the multiple choice of directions, in
attempting to traverse the curve starting from a crossing point. Otherwise, choosing a
start point, say γ̄123 , limits the choice of γ̄231
to be on a matching monotone portion
inducing the traversal in the indicated direction. Reaching the crossing point43
confronts us with a choice of directions. Here the stipulation that the curves be C 1
eliminates the ambiguity, forcing the traversal to occur along the path preserving
the continuity of the direction. That is, the path of traversal has no “kinks.” Another
43
In Fig. 9.24 it is seen that crossing points represent a bitangent plane. I am grateful to Y. Perlmutter
for proving that in the representation of developables, crossing points occur in pairs; Exercise 3.
318 9. Hypersurfaces in RN
Figure 9.9. ** Points representing different tangent planes may overlap at extreme points.
The four planes α, β, γ , δ are a1.
Figure 9.10. Crossings points a2 cannot serve as start points (unless they are also va, see Fig. 9.11.)
There is no problem traversing them once a proper start point is chosen.
Figure 9.11. One of the curves representing a developable surface σ has four a1 points.
They are marked by “x.” There is also an a2 point marked by “o,” which, being a crossing point
where the tangents of the curve’s two parts coincide, is also a va.
When a va point (see Figs. 9.11 and 9.12) is reached, the traversal cannot
proceed, since either choice of branch is possible. Of course, a way to cope with
this ambiguity is to partition the curve(s) at va points into separate branches without
va points and then match the pairs as outlined earlier. The strategy is to proceed
with the curves’ traversal, avoiding previously traced portions of the curve. The
discussion is basically the proof of the result formally stated below.
Lemma 9.4.2 (Unique Representation of Developables) Let σ be a smooth
developable with no va tangents represented by two smooth curves σ̄123 , σ̄1
23 and
π (referred to as the start plane) any unambiguous tangent plane of π . Then the rep-
resenting curves σ̄123 , σ̄231
together with the two points π̄123 ∈ σ̄123 , π̄231
∈ σ̄231
uniquely represent σ .
The suggested partitioning above at va points, let us call it patching, can be
applied at points with more than two self-intersections, again resolving ambiguities.
Allowing patching, there always exists a unique developable surface represented
by each pair of the resulting patched curves and good start points.
320 9. Hypersurfaces in RN
P ∈ π ∩ π0s
∩ σ, Q ∈ π ∩ π1s
∩ σ,
where Q̄0 denotes the representation of Q in the first coordinate system X̄1 , X̄2 , X̄3
(recall the notation after Theorem 9.3.6).
The representation of r is based on the construction discussed in Section 5.3.1
for determining that a line is contained in a plane. To repeat, the point P on the
ruling r is on σ and π0s
and Q ∈ r ∩ π1s
. All points on this ruling (and σ ) are
constructed in the usual way for lines, i.e., choosing a value of one variable and
constructing the remaining coordinates from the points r̄12 , r̄23 .
Theorem 9.4.3. A developable with a well-matched representation is (piecewise)
reconstructible.
9.4 ♣ FT-3 Developable Surfaces 321
Other rulings are constructed in the same way: choosing a value y that deter-
mines the pair of points representing a tangent plane, finding the tangents, etc.
Conversely, given the two representing curves of a developable σ , a line
is one
of its rulings if and only if there are two lines on
¯23 tangent to σ̄123 and σ̄1
23
at points with the same y. An example of a line that is not a ruling is seen in
Fig. 9.14.
What is the locus rr 23 of all points r̄23 where r is a ruling of a developable?
This is obtained as the result of performing the above construction for all y in the
representation of σ . The intersection of the two tangents at the pair of points with the
same y representing a tangent plane for all y needs to found (Exercise 7). Conversely,
given the two loci, construct the developable from its rulings (see Exercise 8). There
follows a pleasing result on the rulings of a developable with reflected representing
curves.
Corollary 9.4.4 (Atariah, Biniaminy, Itai, Kosloff (ABIK); Rulings of reflec
ted representing curves) If a developable σ is represented by two curves σ̄0
, σ̄1
,
one the reflectio of the other about a line x = a, then the rulings’ representing
curves are two vertical lines with rr 23 at x = a and rr 12 at x = 3 − 2a.
The proof is left as an exercise (see Exercise 6 below).
322 9. Hypersurfaces in RN
Figure 9.14. The line
with the
¯23 shown cannot be a ruling of the developable σ .
This is because the lines on
¯23 have points of tangency to σ̄123 and σ̄1
23 with different y.
Let us look at a couple of examples44 that also illustrate the reflected represent-
ing curves property. Figure 9.16 (left) shows two cubic curves, one the reflection
of the other about a vertical line, representing a developable σ whose rulings
are represented by two vertical lines (right). The developable σ is reconstructed
from its rulings and seen in Fig. 9.17. The line of cusps is the dual of the inflec-
tion points in the representing curves. It is seen and discussed further later on.
Another example is shown in Fig. 9.18, where the representing curves (right) are
two exponentials where there is no symmetry with respect to a vertical line. The
curves representing the rulings are shown on the (right) and the developable in
Fig. 9.19.
Points on the rulings are necessarily surface points of the developable. This
raises the question of how to recognize on which “side” of the developable an
arbitrary point lies, in particular, when the developable is closed, how to con-
struct interior points. This is answered partially, starting with cylinders, in the next
section.
44
I am grateful to my students D. Atariah, M. Biniaminy, T. Itai, and Z. Kosloff for providing these
examples and results, including the corollary above from their course project.
9.4 ♣ FT-3 Developable Surfaces 323
Figure 9.15. For the rulings r the locus of points r̄23 , constructed as in Fig. 9.13.
This is a curve rr 23 . At the pair of points marked by • the tangents are vertical, resulting in an ideal
point spliting rr 23 . The arrow’s direction indicates the y coordinate of r̄23 increases monotonically
with the y of the corresponding points representing to the tangent plane.
Exercises
1. Which of the following ambiguities are “resolvable” and how?
(a) representation curves have one horizontal segment.
(b) representation curves have multiple crossings at the same point.
2. For an ambiguous plane π can only one of π̄123 , π̄231
be an extremum but not
the other?
3. Give an example of a pair of curves that are not C 1 and cannot uniquely represent
a developable, and another such pair that uniquely represent a developable
surface.
4. In the representation σ̄123 , σ̄1
23 of a developable σ prove that for a ruling r,
r̄12 = r̄23 , where at the corresponding pair π̄123 , π̄1
23 one of the tangents is
horizontal. Hint: see the highest pair of points on the two curves in Fig. 9.15.
5. Prove that the point of intersection σ̄0
∩ σ̄1
is the r̄23 of a ruling r of the
developable σ , e.g., the intersection of the two curves in Fig. 9.18 is such a
point.
324 9. Hypersurfaces in RN
Figure 9.16. Two cubic curves symmetric about a line x = a representing a developable.
On the right are the loci representing the developable’s rulings; two vertical lines with rr 23 at x = a
and rr 12 at x = 3 − 2a.
Figure 9.18. Reconstruction of developable from two exponential curves representing it.
On the right are the rulings’ representing curves: solid rr 12 and dashed lines rr 23 respectively.
8. Write and implement the algorithm whose input is the two curves rr 23 , rr 12
(above) and that draws the rulings of the corresponding developable. This is a
good course project.
Figure 9.20. ♣ FT-5 A pair of hyperbolas representing the cylinder shown on the left.
The • are the “handles” for changing orientation in the software used and have no significance here.
Cylinders
Corollary 9.4.5 (C.K. Hung; Cylinders) Elliptic cylinders in R3 are repre-
sented by a pair of hyperbolas.
Being quadrics by Corollary 9.3.5, they are represented by a pair of conic
curves. The cylinder’s orientation determines the number √ of tangent planes it has
parallel to the line u with direction unit vector u = 1/ 3(ê1 + ê2 + ê3 ), which, in
turn, by Corollary 9.3.3 determines the representing curve’s ideal points and hence
the type of conics representing the cylinder. For every plane tangent to a circular
cylinder there is another tangent plane parallel to it at a distance of D, the cylinder’s
diameter, yielding a pair of hyperbolas. So parabolas cannot be representing curves
of a circular cylinder. This observation is originally due to A. Chatterjee [93].
Further, the representing curves cannot be ellipses that, according to the section
on conic transforms in Chapter 7 on curves, are the images of hyperbolas. The
intersection of a plane (including the superplanes) with a cylinder is an ellipse or a
pair of lines in the degenerate case. A circular cylinder is easily transformed to one
having elliptical sections perpendicular to its symmetry axis, and therefore these
observations are equally true for elliptical cylinders.
A cylinder’s rulings are parallel; hence its rr 12 and rr 23 must be two vertical
segments. Figures 9.20 and 9.21 are two examples of the cylinders’ representation
by hyperbolas. As noted earlier (Exercise 5), the points of intersection of σ̄0
∩ σ̄1
represent the r̄23 of a ruling. Hence the interval between the two points of intersection
is the rr 23 of the cylinder’s rulings. This shows an interesting property of hyperbolic
curves. Namely, at any point of rr 23 there are two lines tangent to hyperbolas (above
9.4 ♣ FT-3 Developable Surfaces 327
Figure 9.21. Two hyperbolas, one coincident with the X̄3 axis, representing the cylinder.
or below) at points with the same y-coordinate, since these are the representing
points of a tangent plane (Exercise 2 below).
Let us look at this more carefully with the aid of Fig. 9.22 (left), starting
with the top point of rr 23 , the vertical interval between the two intersections.
The construction is shown for determining the top point of rr 12 by converting
the straight-line tangent on σ̄1
23 = σ̄1
to a polygonal line in the X̄1 , X̄2 , X̄3 axis
system and intersecting it with the straight line tangent to σ̄123 = σ̄0
, and similarly
for the bottom point, and thus all of rr 12 is determined. If needed, the interval rr 13
is found in the same way. By the way, once the representation of a cylinder’s ruling
is found, the cylinder’s orientation, being the same, is also known.
Next, the pair of points representing a specific ruling need to be matched, as
shown in Fig. 9.22 (right). Choosing a point r̄12 ∈ rr 12 , the tangents T̄ , T̄
from it to
the two branches of σ̄0
intersect the line rr 23 at two points r̄23 , r̄23
corresponding to
the two r, r
rulings with the same r̄12 . The points of tangency are the representing
points π̄0
, π̄0
of two tangent planes. The points r̄12 , r̄23 , π̄0
are on the tangent
line T̄ , and it is easy to see that also r̄1
2 , r̄23 , π̄1
are collinear (not shown). We can
conclude that the line r is on the tangent plane π and hence is a ruling, and similarly
for r
. Hence T , T
are points on r, r
, and in fact, on the cylinder’s intersection
with π0s
, the first sp forming the curve σ0
. Any point
¯23 between r̄23 , r̄23
together
with r̄12 represents a line
parallel to the rulings but interior to the cylinder. So any
point on
is in the cylinder’s interior. Conversely, to check whether a point P is
328 9. Hypersurfaces in RN
interior, it suffices to check whether there is an interior line
parallel to the rulings
with P ∈
(Exercise 5).
** A cylinder’s representation as a function of its orientation. The examination
of the dependence of a cylinder’s representation on its orientation may be safely
omitted (up to and including (9.59)) by readers not interested in these details.
To obtain the equation of a circular cylinder with general orientation, we start
with the cylinder studied earlier,
which is symmetric about the x1 axis, with radius r. The rotation of the coordinate
system about the origin is applied using the transformation derived in Section 2.8
9.4 ♣ FT-3 Developable Surfaces 329
j = k, i, j, k = 1, 2, 3. (9.47)
The first is due to the property of direction cosines, and the second due to the
orthogonality between all pairs of axes xj , xk , i = j = k. The transformation
relating the two coordinate systems is
⎛ ⎞
cos α1 cos β1 cos γ1 0
⎜ cos α2 cos β2 cos γ2 0 ⎟
(x1
, x2
, x3
, 1) = (x1 , x2 , x3 , 1) ⎜
⎝ cos α3 cos β3
⎟
cos γ3 0 ⎠
0 0 0 1
= (x1
, x2
, x3
, 1)AT . (9.49)
The matrix A is orthogonal with determinant |A| = 1 and inverse its transpose AT ,
which is the matrix of the inverse transformation {x1
, x2
, x3
} → {x1 , x2 , x3 }.
To apply the rotation transformation, CY is expressed in matrix form:
⎛ ⎞⎛ ⎞
0 0 0 0 x1
⎜ 0 1 0 0 ⎟ ⎜ ⎟
CY : (x1 , x2 , x3 , 1) ⎜ ⎟ ⎜ x2 ⎟
⎝ 0 0 1 0 ⎠ ⎝ x3 ⎠
0 0 0 −r 2 1
CG : (x1
, x2
, x3
, 1)AT CA(x1
, x2
, x3
, 1)T (9.51)
330 9. Hypersurfaces in RN
3
CG : (1 + ai2 )xi2 − {(a1 x1 + a2 x2 )2 + (a1 x1 + a3 x3 )2 + (a2 x2 + a3 x3 )2 }
i=1
= r 2, (9.52)
0
(CG ∩ π0s
)23 = c23 : (5 − B12 )x22 + (2 − B22 )x32 − 2(2 + B1 B2 )x2 x3 = r 2 ,
(9.54)
since the intersection of a cylinder with a plane is an ellipse < 0 except possibly
for a degenerate case. Recall that the superplanes are the pencils of planes on u such
that any superplane, and so also π0s
, π1s
, intersects the cylinder given by (9.53) in
two parallel lines (rulings), and since = 0 in this case, they are considered
a degenerate parabola. Otherwise, the image CG23 = (CG ∩ π0s
)23 is always a
hyperbola and can be found via (9.22) using the interaxis distance d = 1 and
afterward translating x by 1 (the distance of the X̄2 from the y axis). It can also
be computed without the translation of x from the image of (CG ∩ π0s
)12 = c12 0 if
available, and in either case the result is the same:
(CG)12 = CG0
: I x 2 + (/r 2 )y 2 − [3 − B2 (B1 + B2 )]x − (2 − B22 ) = 0,
(9.55)
CG23 = CG1
: I (x + 1)2 + (/r 2 )y 2 − [3 − C2 (C1 + C2 )](x + 1) − (2 − C22 )
= 0. (9.57)
The translation (x + 1) is due to the X̄2 axis being one unit from the y axis. This
together with (9.54) describes the pair of hyperbolas in the representation. Returning
to the representation of the cylinder CD given by (9.53) it is found from (9.55) by
332 9. Hypersurfaces in RN
√
substituting a1 = a2 = a3 = 1/ 3, together with x1 = 2x2 − x3 , and is the pair
of lines
√
x3 = x2 ± r/ 2,
√ (9.58)
x2 = x1 ± r/ 2.
Each of these lines is represented by two vertical lines. So the degenerate cylinder
representation consists of the four vertical lines
¯12 ,
¯23 , two for each index pair:
√ √
¯12 : x = ± r/ 2,
¯23 : x = 1 ± r/ 2. (9.59)
where ŝ is the unit vector in the axis direction and the two other unit vectors are
such that s = ŝ1 × ŝ2 , which are implicitly given in terms of the basic unit vectors
êi , i = 1, 2, 3. The two parameters v, t are real numbers with 0 ≤ t ≤ 2π. The
constant vector b and the cylinder’s axis of symmetry s share a point, which is the
center of a circle of radius r, and a point on its circumference is given by the vector
p = r(ŝ1 cos t + ŝ2 sin t). This vector is normal to the tangent plane
π(t) : (ŝ1 cos t + ŝ2 sin t) · x = (ŝ1 cos t + ŝ2 sin t) · b + r (9.61)
containing the ruling parallel to s given by a fixed value of t in (9.60). The rep-
resentation can be found directly from Theorem 9.4.1 and the family of tangent
planes above as t ∈ [0, 2π] rather than from the intersections with the superplanes
π0s
, π1s
. To do this, (9.61) is rewritten as
3
π(t) : (A
i sin t + Bi
cos t)xi = (A0 sin t + B0 cos t + C0 ), (9.62)
i=1
constants is immaterial to the subsequent calculation. Solving for cos t and sin t
and substituting in the trigonometric identity sin2 t + cos2 t = 1 yields
A4 x
− A1 S 2 B1 (y
− C0 ) − B0 x
2
+ = 1. (9.64)
A4 B1 − A1 B4 A1 B0 − A0 B1
With the replacements x = x
/S, y = y
/S, this equation describes a regular or
degenerate conic, in this case, one of the representing hyperbolic curves of the
cylinder in (9.60).
Generalized cylinders. A surface’s description in vector form is convenient and
also clarifies its structure. It was proposed by the mathematical physicist W.J. Gibbs,
who was also an early advocate for visualization in science45 [68], [69].
A general cylinder is specified by the equation
x(s, v) = c(s) + vr, (9.65)
where c(s) is a space curve given in terms of its arc length s, v is the second
parameter, and r a constant vector. Its rulings are given by vr with specific values
of s and are therefore parallel. In (9.60), c(s) is the circle with radius r centered
at b, and the rulings are vs. We can conclude that the intersections of π0s
, π1s
are
perspectives (in the sense of perspective transformations in projective geometry)
of curves whose images provide the representing curves. By the way, this form
is dimension-invariant, and we can consider it as defining a surface in RN , a
developable being a hypersurface with a one-parameter family of tangent planes
represented by N − 1 curves. From now on, unless otherwise specified, cylinder
refers to a general cylinder. In Fig. 9.23 a cylinder is shown having cusps along one
of its rulings. Its two representing curves, each with an inflection point, remind us of
the known developable ↔ curve duality. In fact, we met an example of this duality
earlier, in Fig. 9.17, also showing a generalized cylinder having two representing
curves with inflection points, Fig. 9.16, with rr 12 , rr 23 two vertical lines due to
its parallel rulings. There is a further pleasing duality here: the representing curves
seen in Fig. 9.24 indicate that a plane tangent to two rulings (i.e., bitangent) exists
and is represented by crossing points, one on each curve, akin to the bitangent
↔ crossing point for curves. From our previous discussions, it is clear that the
vertical semi-infinite line rr 23 goes through the crossing point that after all, is the
common r̄23 of the two rulings on the bitangent plane. This also points out that the
crossing point and cusps in the representing curves seen earlier in Figs. 9.9 and 9.10
correspond to bitangent planes and rulings that are the loci of inflection points in
the developables.
45
For the importance of visual thinking in science see [122].
334 9. Hypersurfaces in RN
Figure 9.23. ♣ FT-6 A general cylinder illustrating the developable ↔ curve duality.
The ruling formed by cusps is transformed to an inflectio point in each of the representing curves.
Figure 9.24. ♣ FT-6e The two leaves of the surface in the previous figure are extended.
Here the surface, in addition to the line of cusps, has a bitangent plane, which is represented by the
two representing curves crossing at the same point. Such a hypersurface in RN is represented by
N − 1 curves with crossing points and inflection points at the same y coordinate (Exercise 16).
Figure 9.25. Coinciding curves represent a cylinder with rulings parallel to the x1 axis.
¯ 12 is on the X̄2 axis and rr
The rr ¯ 13 on the X̄3 axis. A ruling r on a point P and its representation in
-coords is shown.
the whole interval from r̄12 to r̄13 is contained in P̄ ∩ Q̄. Two lines sharing an
interval must be identical, that is, P̄ = Q̄. So these must be tangents to the same
curve possibly at two different points, which must have the same y value. The curve
representing a developable is locally monotonic; hence the points of tangency must
be identical if their y values are equal. We can conclude that the two representing
curves coincide.
♣ FT-7 Cones
0 ellipses
1 parabolas
2 hyperbolas
9.4 ♣ FT-3 Developable Surfaces 337
Figure 9.26. A circular (double) cone without tangent planes parallel to the line u.
The cone is represented by two ellipses. Two points, one on each ellipse, represent one of the tangent
planes.
Figure 9.28. A circular (double) cone with one tangent plane parallel to the line u.
The cone is represented by two parabolas. Two points, one on each parabola, represent one of the
tangent planes.
Figure 9.29. Another circular (double) cone with one tangent plane parallel to the line u.
The cone is represented by two parabolas, one collapsing to a half-line.
For the sake of simplicity, the cone’s vertex is placed at the origin (0, 0, 0), for the
translation to a does not change the type of representing conic curve. We find the
9.4 ♣ FT-3 Developable Surfaces 339
Figure 9.30. A circular cone with two tangent planes parallel to the line u.
The cone is represented by two hyperbolas. The two points, one on each hyperbola, represent one of
the tangent planes.
0
(CC ∩ π0s
)23 = c23 : (−5k 2 +D 2 )x22 + (−2k 2 +C 2 )x32 + (2k 2 − CD)x2 x3 = 0,
(9.67)
3
using 2
i=1 si = 1, j =k sj sk = 0 in the last step:
*
|s1 + s2 + s3 | (3(s1 − s3 )2 + 2
I =0⇒k=± √ , =0⇒k=± . (9.68)
3 6
Elliptic representing curves, Figs. 9.26, 9.27, are produced when I < 0, 0 <
+ there are no tangent planes parallel to u.√ The vertex angle constraints are
and
[3(s1 − s3 )2 + 2]/6 > |k| > |s1 + s2 + s3 |/ 3.
There exist an orientation and a cone, specified by k, simultaneously for
I = 0 = for
340 9. Hypersurfaces in RN
Figure 9.31. Another circular cone with two tangent planes parallel to the line u.
The cone is represented by two hyperbolas, one of them collapsing to a line.
9.4 ♣ FT-3 Developable Surfaces 341
curves. This is also the case for = 0, I = 0, constraining the vertex angle by
+
3(s1 − s3 )2 + 2]/6 = |k| and |k| = |s1 + s2 + s3 |; here each hyperbola has
one vertical asymptote. These conditions, which are combinations of the cone’s
size, measured by the vertex angle, and the orientation, producing 0, 1, or 2 tangent
planes parallel to û, are summarized in Table 9.2. A cone in 5-D whose representing
curves are ellipses is shown in Fig. 11.13 in Section 11.3, wherein an innovative
approach to surface representation as applied to quadrics is presented. A general
cone can be described by
where t(s) is a unit vector field described on a curve, such as a circle for circular
cones, all rulings passing through the vertex at a and a point of the curve t(s) [166,
pp. 90–91].
342 9. Hypersurfaces in RN
The equation describes the more general ruled surfaces, and it is the additional
condition on y
, v, g, g
that specializes it to developables. An example of an
intricate developable is the helicoid
The representing curves at two orientations, shown in Figs. 9.32, 9.33, are instances
of interactive exploration, reminding us of interactivity’s importance in visualiza-
tion. Proving that the helicoid is developable and finding the curves representing
its rulings (Exercise 9) are left to the reader. The class of developables consists of
planes, cylinders, cones, tangent surfaces of a curve, and combinations thereof.
Quite a few, e.g., helicoid, polar, tangential, and rectifying developables, which
are examples of tangent surfaces of a curve [166, pp. 66–72], are difficult to recog-
nize visually as developables. Yet in -coords they are immediately recognizable,
being represented by curves, and some properties are apparent from the duality
developables ↔ space curves, i.e., cusp ↔ inflection-poin , Fig. 9.23; bitangent
plane ↔ crossing-point, Fig. 9.24. It is significant that for developables in the
above examples, the two representing curves are similar. These curves are images
Figure 9.33. At this orientation, the representating curves have several ideal points.
They correspond to the helicoid’s tangent planes parallel to u (making equal angles with all coordinate
axes).
of the surfaces’ section with the first two superplanes, so they are projectively
equivalent (i.e., one can be obtained from the other by a projective transformation)
for the cylinders and cones. For the helicoid, whose rulings are a pencil of lines
on its axis, the reason is not so obvious. Still for other developables this may
not be true. It would be nice to settle the question whether two very different
curves such as those in Fig. 9.10 represent a developable (see Exercise 16). So for
developables with similar representing curves, the transition to RN is seamless:
they are represented by N − 1 similar planar curves, properties are revealed by
duality, and the reconstruction is analogous, i.e., three linked points on three curves
determine each tangent hyperplane for N = 4 as discussed in the next section.
In our surroundings there are many objects that look “nearly” developable,
and many parts are manufactured by deforming flat sheets. This and the simple
-coordinate representation motivate the study of “approximate developables”
(Exercise 18), as for the proximate planes in Chapter 8, by introducing pertur-
bations in the developables’ equation, allowing |(y
+ vg
)×g| < c = 0 but small
(see also the following section on ruled surfaces), and there may be other useful
definitions. The conjecture is that families of “nearly developables” are represented
in -coords by curved “strips” with properties “close” to those discovered by duality
(of developables) with representing curves and are amenable to an intuitive treat-
ment. New classes of surfaces (patches) and their N-D generalizations suitable for
applications such as geometric modeling may emerge.
344 9. Hypersurfaces in RN
1. Draw a horizontal line to intersect the σ̄j ’s at N − 1 points π̄(t0 )j that together
specify a tangent hyperplane π(t0 ).
2. Draw N − 1 tangent lines lj at each π̄(t0 )j to each σ̄j . Each of these lines
specifies the intersecting point of the “ruling” (an (N − 2)-flat) of σ at π(t0 )
with the superplane πjs of the corresponding index.
3. Find the N intercepts of each of the N − 1 lj with the corresponding axes to
obtain the coordinates of these points of intersection.
4. Draw horizontal lines to bring all numbers to the first set of axes
{X̄1 , X̄2 , . . . , X̄N }.
5. Follow the construction procedure for 3-D to obtain the (N − 2)-dimensional
ruling.
In general, when the representing curves are not monotonic with respect to
the y axis, the curves can be partitioned into k traceable pieces at self-tangential
points. The representation is unique if one (N − 1)-tuple of points of equal
y-value is given for matching one set of pieces, for a total of k such tuples. The
reconstruction algorithm still works most of the time by producing a maximum of
O(k N−1 ) possible alternative hypersurface even if the matching tuples are not given
a priori. It fails only when the representing curves have an infinite number of self-
tangencies that break the curves into similar pieces, an infinite number of which have
the same number of extremal points and the same extremal y-coordinates occurring
in exactly the same sequence. Curve dualities have analogues for developables in
R3 , as illustrated in Figs. 9.23, 9.24 and in higher dimensions.
Exercises
1. Derive the representation and rulings’ curves for quadric cylinders (i.e.,
parabolic and hyperbolic). This is an easy course project.
9.4 ♣ FT-3 Developable Surfaces 345
2. For two hyperbolas representing a circular cylinder, prove that for any point on
the vertical line rr 23 , the tangents to the two hyperbolic branches (above the
point) have the same y-coordinate.
3. Prove that if one of the representing curves of a developable has a crossing
point, so does the other representing curve. Do crossing points always coincide
as in Fig. 9.24?
4. For the representing hyperbolas in Fig. 9.20 construct the vertical intervals:
(a) rr 1
2 consisting of the representing points r̄1
2 and
(b) rr 13 consisting of the representing points r̄13 .
Do the same for the representing hyperbolas in Fig. 9.21.
5. Given a circular cylinder CG and a point P , write an algorithm to decide
whether P is interior to CG.
6. Generalize Corollary 9.4.6 to 4-D and higher dimensions.
7. What kind of curves can the representing curves of a cone’s rulings be?
8. Show that (9.71) defines a developable surface. Hint: find the normal vector
and show that it depends on one parameter.
9. Show that the helicoid given by (9.72) is developable and find its representing
curves. Hint: check that (y
+ vg
)×g = 0 as in (9.71).
10. Write and implement an algorithm that inputs a cone’s representation and
outputs the representing curves rr 12 , rr 23 of its rulings.
11. Give an algorithm that constructs half-lines and points interior to a cone.
12. Find the curves representing the rulings of the helicoid given by (9.72).
13. How do the hyperbolas representing cones differ from those representing
cylinders?
14. Generalize the representation of circular cones to N-D (see also Section 11.3).
In particular, are there cases in which different conic curves appear simultane-
ously in the representation of a cone in N-D?
15. Prove that the representing curve σ0
of a developable σ is composed of the
envelopes of the family of lines R̄ on the points r̄12 , r̄13 , r̄23 of the rulings r of
the developable. Similarly, the curve σ1
is the envelope of the family of lines
R̄
on r̄1
2 , r̄1
3 , r̄23 .
16. Prove or give a counterexample that the two representing curves of a develop-
able in R3 are projectively equivalent (i.e., one can be obtained from the other
via a planar projective transformation) and generalize to RN ; this is a research
problem.
17. Dualities for developables in RN (see Figs. 9.23, 9.24). Prove that
(a) a line of cusps is represented by N inflection points having the same y
coordinate and
346 9. Hypersurfaces in RN
(b) a bitangent plane is represented by crossing points. Find the number and
positions of the crossing points.
18. By allowing “small variations” in the equation of developables (like the
proximate planes in Chapter 8), define and study families of “approximate
developables.” This is a serious research problem.
Developable surfaces are a subset of the more general class of ruled surfaces R
that are generated by a one-parameter family of lines. A ruled surface, also called
a scroll, can be created by the motion of a line called a generating line, generator,
or ruling, as shown in Fig. 9.34. Let C : y = y(s) be a curve and g(s) a unit vector
in the direction of a ruling passing through a point y(s) of C. A point P : x(s, v)
on the surface is then given by
The curve C : y = y(s) is called the base curve or directrix. The rulings are the
curves s = constant. When y is a constant, the surface is a cone, and when g(s) is
a constant, the surface is a cylinder. The difference here is that y
+ vg
× g = 0,
allowing ruled surfaces to “twist,” unlike developables. The tangent plane πP at a
9.5 ♣ FT-9 Ruled Surfaces 347
point P on a ruled surface ρ contains the whole ruling rP on P . For another point
Q ∈ ρ, the tangent plane πQ still contains rp . Whereas all points on a ruling of a
developable have the same tangent plane, moving along points on a ruling r of a ruled
surface causes the corresponding tangent planes to rotate about r, this being the
essential difference and the basis for the -coords representation of ruled surfaces.
There is a wonderful collection of ruled and many other kinds of surfaces in
[130]. Ruled surfaces used as architectural elements are not only beautiful but also
have great structural strength. A surface can be doubly ruled in the sense that any
one of its points is on two lines completely contained in the surface (i.e., it can be
generated by either one of two sets of moving lines). An elegant result [18, p. 42]
is that in R3 , the only doubly ruled surfaces are quadrics: the hyperboloid of one
sheet and saddle (hyperbolic hyperboloid).
It has been noted, in Exercise 15 in the previous section, that the representing
curve σ̄0
of a developable σ can be obtained as the envelope of the family of lines R̄0
on the points r̄12 , r̄13 , r̄23 for each ruling r of σ . Similarly, σ̄1
is the envelope of the
lines R̄1
on r̄1
2 , r̄1
3 , r̄23 . A matched pair of points π̄0
∈ σ̄0
, π̄1
∈ σ̄1
represents
the single plane containing r ⊂ σ and tangent to every one of its points. By contrast,
a plane tangent to a ruled surface ρ at a point contains a full ruling r, but as the
point of tangency is translated continuously along r, the tangent plane continuously
rotates about r. In -coords the points π̄0
, π̄1 continuously translate in tandem
(with the same y coordinate) along the corresponding lines R̄0
, R̄1
representing
the rotating tangent planes along r (see Fig. 5.6). An example is the saddle, Fig. 9.35
(left). By Corollary 9.3.5, it is represented by two regions whose boundaries are
conic curves. The first region and the lines R̄0
tangent to the parabolic boundary
(their envelope) are shown on the right.
348 9. Hypersurfaces in RN
(SA ∩ π0s
)12 : x12 − x22 + x1 − 2x2 = 0,
(SA)0
: −x 2 − 4y 2 − 4xy + 4x − 4y − 1 = 0. (9.75)
The transformation of the hyperbola (9.5) to the parabola in (9.75) is nicely found,
as shown in Fig. 9.36 (left), using a curve plotter.46 The second region is found by
repeating the procedure for π1s
: x1 + x2 − 2x3 = 0, x2 = 2x3 − x1 , yielding
(SA ∩ π1s
)1
3 : 2x12 − 4x32 + 4x1 x3 − x3 = 0.
This is a hyperbola, shown in Fig. 9.36 (right), whose transform in -coords is the
hyperbola
(SA)1
: x 2 + 48y 2 − 16xy + 2x − 8y + 1 = 0, (9.76)
46
Thanks to E. Rodity and V. Gurvich, who wrote the curve plotter for their course project
9.5 ♣ FT-9 Ruled Surfaces 349
Figure 9.36. The intersection of the saddle SA and the first superplane π0s
is a hyperbola.
(Left) The hyperbola transforms to a parabola, the boundary of the region (SA)0
. (Right) The
intersection of the saddle SA and the second superplane π1s
is a hyperbola that transforms to another
hyperbola, the boundary of the region (SA)1
.
seen on the right. Here, as explained for (9.27), the (directed) interaxis distance
d = −1 from the X̄1
to the X̄3 axis is used. These two regions are combined to
provide the complete representation of SA. Prior to that, we rotate the x1 , x2 axes
about the x3 axis by −45◦ , simplifying the saddle’s equation to
SR : 2x1 x2 = x3 (9.77)
and changing the planes tangent to the line u, which determine the presence of ideal
points on the boundary curves, yielding the saddle’s representing regions: ∂(SR)0
Figure 9.37. The saddle’s representation is the complement of the shaded regions.
The saddle SA is represented by the complements of the two shaded regions ((SA)0
and (SA)1
)
having parabolic and hyperbolic boundaries respectively. The points π̄0
, π̄1
representing a tangent
plane and the ruling r ⊂ π are constructed with the matching algorithm. A different ruling on π can
be constructed suggesting that SA is doubly ruled.
complicating this rule, the line is not allowed to cross at points where two portions
(one convex upward and the other downward) of ∂ are joined. For ∂ a convex
curve (not closed), it is helpful to consider it as a line-curve to recognize that its
exterior is still the region covered by its tangents. It is clear from Theorem 9.5.1
that for each point π̄j
∈ ∂ ρ̄j
, the region ρ̄j
must contain at least a segment of the
tangent at π̄j
, and hence all its points are on ∂ ρ̄j
or its exterior.
Corollary 9.5.2 (Representation of ruled surfaces; B) A ruled surface ρ ⊂ R3
is represented by ∂ ρ̄j
, j = 0, 1, and the regions exterior to it.
Basically, this is a restatement of Theorem 9.5.1. Keep in mind that no points
π̄j
(representing tangent planes of ρ) can be in the interior of the regions whose
boundaries are ∂ ρ̄j
. Returning to SA, on the xy plane its representing regions
(SA)0
, (SA)1
consist of the boundaries and the exterior of the convex portions
shown in Fig. 9.37 covered by their tangent lines. The two regions are superimposed
9.5 ♣ FT-9 Ruled Surfaces 351
in the sense that two indexed points, each belonging to a different region as dis-
tinguished from the index 0
or 1
, may be in the same position (x, y). As for
developables, the boundaries ∂(SA)0
, ∂(SA)1
are the envelopes of the family
of lines derived from their rulings. Here the two boundary curves do not have
the same y-range, something that distinguishes them from representing curves of
developables. For the representation of a ruled surface ρ, the two regions ρ̄j
need
to be linked with a “matching algorithm” enabling the construction of valid pairs
of points representing tangent planes. The algorithm is described in terms of the
representation of SA in Fig. 9.37. On a line y = c, a point π̄0
∈ ρ̄0
is chosen
and lines R̄, S̄ from it tangent to each of the ∂ ρ̄j
are constructed. In general,
there are several tangents from a point to each region, though here there are two
tangents to each conic region. Choose any other point π̄1
∈ ρ̄1
on the line y = c,
fixing the value of the first coefficient in π’s equation, also with two tangents
R̄
, S¯
to ∂ ρ̄j
on it. Then π, represented by π̄0
, π̄1
, is a tangent plane of SA,
since the tangent lines generate the regions’ boundaries (envelope). A ruling r on
π is found by r̄23 = R̄ ∩ R̄
and another by s̄23 = S̄ ∩ S¯
. This is significant,
for as previously mentioned, SA is doubly ruled. However, there are several such
intersections, suggesting that for developables, a convention is needed for the unique
reconstruction such as the possible generalization of the start points convention for
developables. Given ∂ ρ̄j
, a line y = c and a link-function g(x0 , x1 ) is provided,
ensuring that for all values of xj where the points are π̄j
= (xj , c) are exterior to
352 9. Hypersurfaces in RN
or on ∂ ρ̄j
, the pairs π̄0
, π̄1
represent tangent planes of ρ. Referring to Fig. 9.37,
an additional rule h(x0 , x1 ) is required to match the tangents such as R̄ on π̄0
with
a tangent R̄
on π̄1
. Then reconstruction of ρ’s tangent planes proceeds from the
pairs π̄0
∈ R̄, π̄1
∈ R̄
found by the vertical translation of the line y = constant
within the range of allowable values of y. The choice of the start line y = c is
important for its intersections with the ∂ ρ̄j
; the points π̄j
must be exterior to or on
boundaries. Filling out the necessary details, providing a proof or refutation with
counterexamples or alternative and better conditions, is left for Exercises 10 and 9.
The vertical translation of the line y = constant, while the points π̄j
, j = 0, 1,
are constrained to slide along their tangents R̄, R̄
, corresponds to the rotation of
the tangent plane about the ruling r. The tangent to ∂ ρ̄j
from π̄j
represents a point
πjs
= ρ ∩ π for either j = 0 or 1 so it is a point of tangency of π with ρ. The
construction for finding the point of tangency of π with ρ when the π̄j
are elsewhere
on R̄ or R̄
is deferred to the reader (Exercise 11). Avoiding tedious technicalities
at the expense of some rigor, we outlined above the steps required to obtain the
representation of a ruled surface ρ, the regions ρ̄j
, and the matching algorithm
linking them. The “straight-lines pattern” within the regions ρ̄j
, characteristic of
ruled surfaces, is easily discovered and explored interactively, as shown in Fig. 9.38,
by rotating and translating the surface and viewing its resulting representation.
A few words about the computation are in order. A rectangular grid is constructed
in the x1 x2 plane (or whatever parameters occur in the surface’s description) and
the tangent planes are computed at the grid points. The grid point density is also
interactively adjusted to reduce clutter.
Conoids are ruled surfaces whose rulings are parallel to a plane and are per-
pendicular to an axis normal to the plane such as those shown in Fig. 9.39.47 Spiral
staircases are shaped after the right conoids. Another specimen is the parabolic
conoid seen in Fig. 9.40 (center), which, like the saddle, has a parabolic directrix.
It is given by
PC : x1 x32 = x2 , (9.78)
and is defined in the first and third quadrant of the x1 x2 plane. The boundaries of
its representing regions are the images of
∂(PC)0
= (PC ∩ π0s
)12 : x13 − 4x12 x2 + 4x1 x22 − x2 = 0,
∂(PC)1
= (PC ∩ π1s
)1
3 : x1 x32 − 2x3 + x1 = 0. (9.79)
These are cubic curves, and from Plücker’s formula, Section 7.6, we find that their
transforms are algebraic curves of degree 6. The first is a cardioid (left) in Fig. 9.40,
47
The figures were obtained using the beautiful software written by M. Spivak for her course project.
9.5 ♣ FT-9 Ruled Surfaces 353
Figure 9.40. (Center) The parabolic conoid PC is a ruled algebraic surface of degree 3.
The first representing region (PC)0
, a cardioid, is on the left, and the second (PC)1
on the right.
The cusps are the images of inflection points.
and the second is on the right. Both are symmetric with respect to the x axis, the cusps
being the transforms of inflection points. The region (PC)0
consists of the cardioid’s
exterior, the region covered by its tangents, and (PC)1
is the exterior of the six
convex curves forming its boundary. The superposition of the two representing
354 9. Hypersurfaces in RN
Figure 9.41. Representation of the parabolic conoid and one of its tangent planes.
regions is shown in Fig. 9.41, where some tangents on the left cusp are drawn
illustrating subregions where the exterior of some boundary curves overlap. The
regions are linked with the matching algorithm described above. On a line y = c,
a point π̄0
∈ (PC)0
is chosen having two tangents to the cardioid’s boundary. The
second point π̄1
∈ (PC)1
, also on y = c, may have several tangents to its region’s
boundaries, reminding us of the need, mentioned earlier, for a convention enabling
the unique reconstruction of a ruled surface from its representation (Exercise 10).
The representation picture is like a landscape map pointing out interesting features
and pathways inviting exploration and study of the surface. The goal is, as we
gain experience and understanding, the discovery of invariants corresponding to
distinct surface properties such as dualities for the developables. In Fig. 9.42 are
the representations for two orientations with the straight lines tangent to the regions’
boundaries.
A famous ruled surface is the Möbius strip, described by
1 1
x = y(θ) + vg(θ), − < v < , 0 ≤ θ ≤ 2π,
2 2
y(θ) = (cos θ )ê1 + (sin θ )ê2 , (9.80)
1 1 1
g(θ) = sin θ cos θ ê1 + sin θ sin θ ê2 + cos θ ê3 ,
2 2 2
9.5 ♣ FT-9 Ruled Surfaces 355
Figure 9.42. Representations (left and center) of a parabolic conoid for two orientations.
Representation of the ruled cubic (Exercise 4) on the right. The straight lines reveal that the surfaces
are ruled and partially outline the regions’ boundaries. A tangent plane is represented by the two
linked points.
It is nonorientable in the sense that tracing the normal vector at a moving point
along a loop, specified by its directrix the circle y(θ) = cos θ ê1 + sin θ ê2 [128,
p. 170], the normal flips by 180◦ from its original direction when the traversal is
completed. In other words, this surface has only one side. The strip’s structure is
elucidated in Fig. 9.43 (right), showing that the ruling moving along the directrix
twists at an angle θ/2 from the vertical, where θ is the angle swept along the directrix.
The ruling intersects the central axis in three positions, inverting its orientation by
180◦ by the time it completes the circuit to create the twisted wonder we see in
Fig. 9.43 (left).
How does this surface appear in -coords? Dazzling patterns represent it at
various orientations, Fig. 9.44. Of particular interest is the search for a pattern
characterizing nonorientability. In Fig. 9.45 we see a closed circuit on the strip
and the corresponding pair of representing curves. This is repeated for a different
orientation, producing a pair of representing curves, that are easier to study, Fig. 9.46
(right). Each intersection point represents a tangent plane π for which π̄0
and π̄1
coincide, that is, π is perpendicular to the x2 x3 principal plane with its first coeffi-
cient c1 = 0. A nice way to understand the twisting is suggested in Fig. 9.46 (left),
where the strip is placed on a plane, in this case the x2 x3 plane, creating three “folds”
that do not have to be symmetrically positioned like those in the picture. At each of
the folds, the tangent plane is perpendicular to the x2 x3 plane, where by the “flip”
corollary, Corollary 5.3.2, the first coefficient c1 of the tangent plane’s equation
changes sign, say + → − → + → −, from the start to the completion of the circuit.
356 9. Hypersurfaces in RN
Figure 9.44. The two cusps on the left (dual of inflection points, see Fig. 9.23) show that the Möbius
strip has an “inflection point” in three dimensions. The curves going towards infinity upwards and
downwards show that it is a closed surface. The cusps and loops may merge as shown on the right.
A tangent plane is represented by the two linked points.
At each of the three intersections of the representing curves in Fig. 9.46 (right),
c1 = 0. By the same argument, the remaining coefficients c2 , c3 vanish three times
9.5 ♣ FT-9 Ruled Surfaces 357
and change their sign. Hence the tangent plane’s normal vector c = (c1 , c2 , c3 )
becomes −c and flips direction. If the triple intersection of the representing curves
is characteristic of nonorientability, what about the more numerous intersections in
the pair of curves in Fig. 9.45? It is in such situations that interactivity is essential.
Choosing a start position with a pair of linked points representing a tangent plane, the
curves are traversed, where we observe that the two points do not coincide at every
intersection point but only at three of them. With a bit of patience, the reader can
actually verify this from the picture, starting the traversal from the indicated position
with the two linked points and tracing their path, paying attention to the three ideal
points in each representing curve, returning to the start, observing that π̄0
and π̄1
coincide at only three of the intersection points. The three intersections together
with the ensuing flip are clearly a necessary and sufficient condition for nonori-
entability. For a closed circuit on a doubly twisted Möbius strip, the representing
curves π̄0
and π̄1
coincide at six intersection points corresponding to six folds, and
so on.
It appears, then, that a pattern characteristic of nonorientability has been found
whose verification relies on interactively tracing a closed circuit on the representing
curves. The picture, of course, is not proof, but it provides insights that may lead
to a proof; this is an objective of visualization. This points the way to researching
nonorientability in R4 and higher dimensions as well as to knot theory. Here is
another thought: twisting a curve about its tangent at a point creates an inflection
point. So is the cusp seen in Fig. 9.44 (right), which is the dual of an inflection
point, together with the surrounding pattern in the second curve, an inkling of an
nonorientable twist, like a “3-D inflection point” produced by twisting and then
joining a curved strip? Though imprecise, this depiction is in the spirit of visualiza-
tion, being intuitive and stimulating ideas. Does the birdlike pattern represent the
Möbius strip’s nonorientability? These observations and questions may stimulate
further research on the representation of nonorientability and ruled surfaces. The
representation results thus far can be summarized in the following theorem.
Theorem 9.5.3 (Representation of developable and ruled surfaces in RN ) A
surface σ ⊂ RN is represented by N − 1 regions σ̄ ⊂ P2 and is
1. ruled but not developable ⇔ all points of σ̄ are exterior with respect to the
boundary of at least one of its N − 1 regions,
2. developable ⇔ σ̄ consists of N − 1 curves, the boundaries of σ̄ , all having
the same y-range.
Prior to treating more general surfaces, an older inexact but very useful surface
representation is included, illustrated with an application to instrumentation and
9.5 ** Approximate Quadric Hypersurfaces 359
Exercises
1. Prove, or give a counterexample, that a ruled surface that is not developable
cannot be convex.
2. Prove theorem 9.5.3 for RN .
3. Construct the -coords representation of the hyperboloid of one sheet, Fig. 9.3,
given by x12 + x22 − x32 = 1.
4. Construct the representation of the ruled cubic x3 = x12 x2 .
5. Construct the representation of Zindler’s conoid given by 2x1 x2 = x3 (x12 −x22 ).
6. Construct the representation of Plücker’s conoid given by x3 (x12 + x22 ) =
x1 2 − x2 2 ; Fig. 9.39 (right).
7. Construct the representation of Whitney’s umbrella given by x32 = x22 ; Fig. 9.39
(left).
8. Explore the representation of the parabolic conoid in Fig. 9.41. List and justify
your findings.
9. Determine from its representation ρ̄ whether the surface ρ is doubly ruled.
10. Provide a convention, like the “start points” for developables, that enables the
unique reconstruction of a ruled surface ρ from its representation; this is a
research problem.
11. Provide an algorithm for constructing the point of tangency of a plane π tangent
to a ruled surface ρ from the representations ρ̄ and π̄; this is a research problem.
12. Prove or provide a counterexample of the nonorientability pattern conjecture
for R3 and RN ; this is a research problem.
3. Find the range of the next variable for the reduced convex hypersurface and
select a value in that range.
4. Repeat the previous step until the last variable is selected.
The convexity and boundedness of the convex hypersurface guarantee that in each
case, the range is an interval. The success of the algorithm hinges on finding the
intervals efficiently.
As we will see, for bounded convex hypersurfaces the intervals are found by
taking the projections of the hypersurface’s sections. The boundary of these sections
is transformed into parallel coordinates, resulting in the stepwise display of the point
selection process. Such a display provides:
1. information on the local properties of the hypersurface and
2. proximity information for the selected point, i.e., a measure of distance of the
point from the boundary.
These points are illustrated subsequently when the algorithm is applied to some
specific kinds of hypersurfaces. The algorithm also applies to certain nonconvex
hypersurfaces where the available ranges are a finit union of intervals at every stage
of the point selection process.
F (X) = 0
e(A−1 )T − α > 0.
A point is interior, on, or exterior to the surface according as F (X) is less than,
equal to, or greater than 0. Given a point X, it is straightforward to determine its
location relative to the hyperellipsoid. The object here is to find, component by
component, an interior point.
There are two kinds of processes required for this purpose. Fixing the value
of one of the variables produces a planar section of the hyperellipsoid that is
9.6 ** Approximate Quadric Hypersurfaces 361
itself a hyperellipsoid of dimension one less than the original; this necessitates
the computation of a new array for the resulting reduced hyperellpsoid. The other
requirement is to calculate the available range of the remaining free variables by
taking the projection of the reduced hyperellipsoid on a coordinate plane. Now let
A1 B T
A= , e = (e1 , e2 ), (9.82)
B C
where A1 consists of the first 2 × 2 submatrix of A, C is A with the first two rows
and columns deleted, B and B T account for the remainder of A, with e1 consisting
of the first two elements of e and e2 , which is the remainder of e. It is a relatively
straightforward to prove the following.
Theorem (B. Dimsdale). Let X ∗ = (X1 , X2 ). The projection of F (X ∗ ) on the
X1 , X2 plane is the ellipse
∗T
∗ ∗ Ā ēT X
f (X ) = 0 = (X , 1) (9.83)
ē a 1
and
⎫
Ā = A − B T C −1 B, ⎬ ⎪
ē = −1
e1 − e2 C B, (9.84)
⎪
⎭
ᾱ = α − e2 C −1 e2T .
Given the projection, the maximum ranges of X1 and X2 are easily calculated and
so is the available range for X2 , given X1 .
The hyperbola that is the transform of the ellipse into parallel coordinates is
essential for the display of the selection process. For one thing, the available range
of X1 is the interval on the X1 axis between the two branches of the hyperbola, and
similarly for X2 . Furthermore, the range of X2 , once X1 is selected, is exhibited by
drawing tangents to the hyperbola from the point on the X1 axis, the chosen value
of X1 . As the process is iterated through all the variables, the entire sequence of
selections and ranges is presented in a parallel coordinate display. Furthermore, the
hyperbolas themselves provide indications as to the sensitivity of various choices.
For an example of the display, see Fig. 9.47. In that picture the outer hyperbolic seg-
ments are the transforms of the original hyperellipsoid projections on the coordinate
planes. The inner segments come from the successive slices of the hyperellipsoid
and show the successive ranges. Note that a point is exterior to the hyperellipsoid
if and only if the intermediate envelopes, representing successive slices of the
hypersurface, are crossed by the polygons, is interior if it nowhere touches, and
is on the surface otherwise. The computational complexity is O(N 3 ) [42].
362 9. Hypersurfaces in RN
The Rule
Controlling the process is equivalent geometrically to staying in the interior of
the hypersurface. We apply the algorithm for doing so. The interval on the x1
axis between the upper and lower portions of the envelope indicates the range of
parameter x1 . When a value for x1 = a1 is chosen in the available range of x1 , the
364 9. Hypersurfaces in RN
When the value of a variable is fixed, the complete envelope of the 19-dimensional
surface may be drawn, showing at a glance not only the current value of any of
the parameters (in this case x1 ) but, unlike a conventional “intrument panel,” the
current available range of all the parameters; this is due to the interrelationship
among them. There are other salient features of the display. Note that for the
parameters x13 , x14 , x15 the available ranges are the narrowest. This indicates that
the feasible point is closest to the boundary with respect to these critical parameters.
Hence, when there is need for rapid decisions (such as in piloting very fast aircraft),
significant information reduction can be achieved by controlling the critical param-
eters whose priority is decided by their proximity to the boundary, adjusting the
remaining variables subsequently. This also brings out the possibility of displaying
or highlighting only the information desired (possibly specific subsystems) at any
given time. When a point is not feasible, the display shows the corresponding
polygonal line crossing some of the intermediate envelopes. It is then evident which
parameters must be changed and by how much in order to bring the polygonal
line inside the envelope and the process in control. In short, this instrument panel
provides a variety of information that an operator would somehow need to know
(at least implicitly derive or guess based on experience) in order to control the
process.
9.6 ♣ FT-10 More General Surfaces 365
The formulation in (9.15) applies to any sufficiently smooth surface. We open this
last section by examining the representation of the venerable sphere in R3 ,
C0 = ∂(SP)0
: 3r 2 x 2 − 6y 2 − 6r 2 x + 5r 2 = 0. (9.86)
√
The hyperbola’s vertices (i.e., min and max) are at the points (1, ± 2/3r). The
second boundary ∂(SP)1
is the same hyperbola translated to the right by one unit,
as shown on the left of Fig. 9.48. Due to its symmetry, a hypersphere in RN , like a
hypercube, Fig. 9.1, is represented by N − 1 identical patterns (hyperbolas) spaced
successively one unit apart. Translation of the sphere along the x1 axis rotates
∂(SP)0
clockwise and ∂(SP)1
counter-clockwise, Fig. 9.48 (right), an interesting
manifestation of the translation ↔ rotation duality we have encountered on previous
occasions. It is useful to compare this representation with the inexact one given in
the previous section. Consider the 5-D sphere
whose projection on the principal x1 x2 plane is the circle x12 + x22 = r 2 repre-
sented by the hyperbola 2r 2 x 2 − y 2 − 2r 2 x + r 2 = 0 going through the points
9.7 ♣ FT-10 More General Surfaces 367
√
slightly overlap the hyperbolas ∂(SPi
) that intersect the X̄i axes at y = ± 2/3r
(Exercise 4).
All the points representing tangent planes are in the interior √ of the upper and
lower branches (Exercise 5). Recall the unit vector û = 1/ 3(ê1 + ê2 + ê3 )
along the line u. Let πu be the plane through the origin with unit normal û. The
intersection πu ∩ SP = CU is a great circle, which plays an important role in the
representation of SP. All tangent planes of SP along CU have the sum of their
coefficients S = c1 + c2 + c3 = 0 vanishing, for N · û = 0, where N = (c1 , c2 , c3 ),
since being parallel to the line u, they are represented by ideal points, thus causing
the split into two hyperbolic branches. The representing points of the tangent planes
above CU are on the branch, and those below form the lower branch. Note that at the
north and south poles the tangent planes are πp : x3 = ±1 with representing points
π̄0
= (2, ±r, 1) on the X̄2 axis but not on the boundary SP0
, which is formed by
the representing points of tangent planes on π0s
∩ SP and does not include the poles.
Similarly, the π̄1
are on the X̄1
axis and the same y = ±r.
Whereas the interior points of the hyperbolic regions properly matched (Exer-
cise 6) represent the sphere’s tangent planes, there is another interesting matching
that gives a feel about the sphere’s interior. Consider the representation of concentric
spheres (centered at the origin) with radii r ranging between a minimum rm and
maximum rM . As r increases, the hyperbolas’ vertices and the rest of the curve
rise linearly with r, enlarging the region between the upper and lower branches.
Let a pair of points at y = ya be given on the hyperbolic boundaries representing
a tangent plane πa of one of the spheres. Its √ radius a is found from the vertices of
the hyperbolas with extreme values at y = ± 2/3a. Draw the vertical lines on the
pair of given points. Any other pair of points at y = yc represents a tangent plane
πc parallel to πa on the sphere with radius c = yc /ya a.
The intersection of the superplanes with ellipsoids and paraboloids are ellipses,
whence their representation by hyperbolic regions, Fig. 9.50. For the paraboloid, the
intersections may also be parabolas, in which case the representing regions would
be either hyperbolas, each with one vertical asymptote, or vertical parabolas; see
Section 7 (Exercise 7). In general, the intersection of the superplanes with bounded
and convex surface σ is a bounded convex set bc whose -coords representation is
a generalized hyperbola gh, and such an example is shown on the left in Fig. 9.51
(Exercise 8).
With the stipulation that all representing points are in the interior or boundary
points, consider a bounded convex hypersurface whose representation at a specific
orientation consists only of gh regions. By the translation ↔ rotation duality evident
in Fig. 9.48, the regions remain gh for all other orientations (i.e., translations and/or
rotations). The representation of an unbounded convex hypersurface also consists
9.7 ♣ FT-10 More General Surfaces 369
Figure 9.50. Representation of an ellipsoid on the left and a paraboloid on the right.
Figure 9.51. Representations: non-quadric convex surface (left) and a surface with a small bump
(right).
48
Discussed in the chapter on curves.
370 9. Hypersurfaces in RN
Figure 9.53. Torus representation showing two bitangent planes (left) and hyperbolic slices (right).
Figure 9.54. Astroidal surface and its representations for two orientations.
There are two pairs of crossing points (one pair is overlapping in the middle) which are present for
all orientations.
Many hyperbolas appear in the representation of the torus, Fig. 9.53 (right), but
unlike the representing hyperbolas of convex surfaces, here the hyperbolas are not
contained within an outermost hyperbola but are spread in the horizontal direction.
Curves from the two representing regions intersect at two points with the same x
coordinate. This is reminiscent of the crossing points corresponding to bitangent
planes. We surmise that the crossing points represent the two parallel planes tangent
at the top and bottom of the torus (Exercise 10). The representation of the asteroidal
surface [130] in Fig. 9.54 has a pattern with three crossing points that persists in
several orientations. Upon careful scrutiny we see that only at the midpoint do
372 9. Hypersurfaces in RN
curves from the two regions intersect, resembling the crossing points in the torus’s
representation. Could this point represent a tangent plane approaching one of the
surface’s vertices and becoming a bitangent plane in the limit? Another association
that comes to mind is of an exterior supporting plane touching the surface at exactly
three vertices.
The significant finding from these examples is that the -coords representation
even of complex nonconvex surfaces in various orientations is not chaotic but con-
sists of discernible patterns associated with their properties. All this may lead to new
surface classifications (Exercise 11). The surface representation seems preferable
to the standard surface representation (in terms of projections) even for R3 ; surface
properties like convexity and features like dimples, bumps, coiling and more are
not hidden in various orientations. The reason is that in -coords representation, a
surface is not only described by its points but also by the normal vector at each
point (review Fig. 9.2).
Arising from this discussion is the question, what happened to the claim that
the representing boundaries are the images of the surface’s intersection with the
superplanes? Let us return to the proof of Lemma 9.3.1 and note that the argument
is based on the assumption that the curve is on one side of its tangent. Recall that in
Section 6.2, on envelopes, the analysis was also based on the family being on one
side of the envelope, leading to necessary and sufficient conditions for the existence
and a method for obtaining the envelope. As was seen in the subsequent examples,
the method works even when there are singularities and when this condition fails.
In such cases the envelope has several components, each consisting of special points
on the family of curves, e.g., inflection points, cusps, extrema, crossing points, and
others. For the problem now at hand, the boundary of a representing region is an
envelope of lines “touching” it (but not necessarily tangent to it) and the curves
formed by the representing points. We saw that the method of Lemma 9.3.1 applies
well to developable, convex, and even ruled nonconvex surfaces; the representing
regions lie on the interior or exterior respectively and on one side of the boundary.
We found that for nonconvex surfaces, parts of the representing regions lie on both
sides of the boundary, so the condition of Lemma 9.3.1 fails, and the boundary is
not necessarily only the image of the surfaces’ intersection with the superplanes.
As pointed out below, this has important ramifications and is basically good news.
The refinement of Lemma 9.3.1 for nonconvex surfaces is a difficult research prob-
lem, related to that for the envelopes of general families of curves and surfaces.
These observations, even if partially true, may lead to a new approach for the
construction of (also approximate) convex hulls in RN as for R2 [110].
♣ FT-10e
9.7 ♣ FT-10 More General Surfaces 373
be in the interior (or boundary) of the first and second hexagons respectively for
the plane π ∈ . The hexagons are bc bounded convex sets, and so the collection
of planes in cannot be convex; for then it would be represented by gh regions.
49
Acknowledgment and thanks to Y. Lifshits and I. Makarov, who wrote this wonderful program for their
course project in 2005: navigation within the hexagonal regions representing families of proximate
planes.
374 9. Hypersurfaces in RN
A simplex within is chosen by specifying three vertices in the hexagons. For π̄0
and π̄1
in the triangles within the first and second hexagons, the pair represent a
valid plane π ∈ , as shown in Fig. 9.56. What is helpful here is that a triangle in
R2 is also represented by a triangle in -coords. So the triangular faces of the 3-D
simplex remain triangular in their representation. The process can be continued for
higher dimensions,50 allowing also variations in c0 ; Fig. So ⊂ R3 is represented
by octagons with two vertical edges, Fig. 9.57 and ⊂ R4 by decagons with two
vertical edges.
In view of what we have learned, we can surmise that the intersections of
the hyperplanes in a family ⊂ RN of proximate hyperplanes form a gh if it is
represented by convex 2N-gons, a uc if it is represented by uc’s, and a polyhedron
if it is represented by gh’s. Care is required to state this precisely (Exercise 3).
The reason for bringing up this approach again is that it may apply to surfaces in
50
Acknowledgment and thanks to A. Feigenbaum, T. Kafri, and S. Kamhin for extending the Y. Lifshits
and I. Makarov software to R4 .
9.7 ♣ FT-10 More General Surfaces 375
Figure 9.58. Decagons with two vertical edges representing proximate hyperplanes in R4 .
CC, whose representation consists of gh, uc, or bc regions with all the representing
points in their interior, and the regions can be partitioned into convex portions
(Exercise 12).
Tantalizing as it has been, we wind up for now our glimpse into the challenges,
beauty, and promise of surface representation.
Exercises
1. (a) Prove that the hyperbolic boundaries of the sphere SP rotate in opposite
angular directions with a translation of SP along the x1 axis. Find the
exact relation between the translation by x1 and angle of rotation.
(b) What changes in the representation with translations along the remaining
axes?
(c) Generalize for the representation a sphere in RN translated along an axis
xi , i = 1, . . . , N.
2. With reference to Fig. 9.1, find the representing boundaries of the cube in R3
using Lemma 9.3.1 and show that they are gh or uc. Generalize this for the
hypercube in RN .
3. For a family of proximate hyperplanes ⊂ RN describe precisely (with
proofs) the boundary of when it is represented by N − 1 convex 2N-gons,
ub, or bc regions.
4. Provide an algorithm for constructing interior points of a sphere directly from
the hyperbolas of its exact representation; hard.
5. Prove that the points representing tangent planes of a sphere are each on the
boundary or interior to its corresponding hyperbolic region.
6. Provide the matching algorithm for the sphere’s representation; this is a
research problem.
7. Under what conditions is an elliptic paraboloid represented by vertical parabolic
regions or by hyperbolas each with one vertical asymptote?
8. Provide criteria for distinguishing
(a) the convex quadrics (cylinder, ellipsoid, paraboloid) from each other
by their hyperbolic representing regions. Hint: the section on conics in
Chapter 7 on curves;
(b) the orientation of the convex quadrics from their representation.
9.7 ♣ FT-10 More General Surfaces 377
10.1 Introduction
The first, and still most popular, application of parallel coordinates is in exploratory
data analysis (EDA) to discover data subsets (relations) that fulfill certain objectives
and guide the formulation of hypotheses. A data set with M items has 2M subsets,
any one of which may be the one we really want. With a good data display, our
fantastic pattern-recognition ability cannot only cut great swaths in our search
through this combinatorial explosion, but also extract insights from the visual
patterns. These are the core reasons for data visualization. With parallel coordinates
(-coords), the search for relations in multivariate data sets is transformed into a
2-D pattern-recognition problem. Guidelines and strategies for knowledge dis-
covery are illustrated on several real data sets, one with hundreds of variables.
A geometric classification algorithm is presented and applied to complex datasets.
It has low computational complexity, providing the classification rule explicitly
and visually. The minimal set of variables required to state the rule is found
and ordered by their predictive value. Multivariate relations can be modeled as
hypersurfaces and used for decision support. A model of a country’s economy
reveals sensitivities, impact of constraints, trade-offs, and sectors unknowingly
competing for the same resources. This chapter can be read independently of the
rest, with foundational background provided where needed. Readers are encouraged
to browse through the book, looking into specific topics when the motivation arises.
Collision-avoidance algorithms for air traffic control are discussed separately in
Chapter 4, on multidimensional lines.
10.1.1 Origins
For the visualization of multivariate problems, numerous mappings encoding
multidimensional information visually into 2-D or 3-D (see [63] and [172], [173],
[174]) have been invented to augment our perception, which is limited by our
3-dimensional habitation. Wonderful successes such as Minard’s “Napoleon’s
March to Moscow,” Snow’s “dot map,” and others are ad hoc and exceptional.
Succinct multivariate relations are rarely apparent from static displays; interactivity
is essential. In turn, this raises the issues of effective GUI (graphic user interface),
queries, exploration strategies, and information-preserving displays, but we are
getting ahead of ourselves.
2. In the pairwise scatterplot matrix, the N variables appear N(N − 1)/2 times.
By contrast, there are only N axes in -coords, though there is an additional
preprocessing cost, pointed out in the ensuing. For N ≥ 10, the practical
barriers due to the required display space and visual difficulty limit the use of
SM. These barriers are less stringent for -coords.
3. Even with a nice perspective, orthogonal coordinates are inherently limi-
ted to N = 3, due to the dimensionality of our existence. With added
aspects, the illusion of a few more dimensions can be added. By contrast, for
-coords, implementation capabilities rather than conceptual barriers determine
the maximum useable N.
4. An example is the “Chernoff Faces” display, where each variable corresponds
to a specific facial feature and treated accordingly. The correspondence facial
feature → variable is arbitrary. Choosing a different correspondence gives a
different display, and the fun part is that there is no way to know that the two
different displays portray the same data set. Of course, this is true for general
glyphs displays.
5. This is true for SM and for -coords, though it has not been implemented in
general. Incidentally, this is a wonderful M.Sc. thesis topic.
6. The real value of visualization, in my opinion, is not seeing “zillions of objects”
but rather recognizing relations among them. We know that projections lose
information that can possibly be recovered with interactivity. Nevertheless,
important clues that can guide the exploration are lost. So it is preferable to
start with a display containing all the information, though it may be difficult
to uncover. The visual cues available and how they guide the exploration are
crucial deciding factors.
7. The value of rigor is self-evident.
These and additional issues that constitute the discovery process are better
appreciated via the exploration of real data sets. The basic queries are introduced
first with the example of a satellite and then a much larger astronomical data
set. Subsequently, they are combined with Boolean operators to form complex
queries applied to financial data. An example with several hundred variables
is discussed briefly before we move to automatic classification. Visualization
and -coords play key roles in the geometric algorithm’s conception, internal
function, and visual presentation of the classification rule. The minimal set of
variables needed to state the rule is found and ordered according to their predictive
value.
Mathematical background is interspersed to provide a deeper understanding
and wiser use of -coords and its applications. Specifically,
382 10. ♣ FT Data Mining and Other Applications
1. learning the patterns corresponding to the basic relations and seeking them out
for exploratory data analysis,
2. understanding the design and use of queries,
3. motivating further sophisticated applications to statistics such as response
surfaces [67], and
4. applications to regression; see the chapter on proximate planes,
5. understanding that the relational information resides in the crossings,
6. concentrating the relational information in the data in clear patterns elimi-
nating the polygonal lines altogether as with the “proximate planes” is feasible.
Before entering into the nitty gritty, we pose a visualization challenge that we
ask the reader to ponder. For a plane
π : c1 x1 + c2 x2 + c3 x3 = c0 , (10.1)
allow the coefficients to vary within a small interval. This generates a family of
“close” (let us call them proximate) planes
These are the planes generated by small rotations and translations of π with respect
to the three coordinate axes. Altogether they form a “twisted slab,” which even in
3-D with orthogonal axes is difficult to visualize. Conversely, given many points
in 3-D, how can it be discovered, using any general visual method you like, that
they lie on a twisted slab and how can such a creature be visualized and described
precisely, for N = 3 and then for any N? In the meantime, you can project, pursue,
scale, reduce, scintillate, regress, corollate, or tribulate to your heart’s content, but
please do not peek at the answer given at the end.
The exploration51 paradigm is that of a detective, starting from the data, search-
ing for clues leading to conjectures, testing, backtracking until voilá, the “culprit” is
discovered! The task is especially intricate when many variables (i.e., dimensions)
are involved, calling for the employment of a multidimensional detective (MD). As if
there were any doubt, our display of choice is -coords, where the data appears in
the by now familiar squiggly blotches and which, by means of queries, the MD
skilfully dissects to find precious hidden secrets.
During the ensuing interaction, think, dear reader, how similar queries can
be stated using other exploration methodologies, including the ubiquitous spread-
sheets. More important, what visual clues are available that would prompt the use
of such queries. A few basics (covered in Chapter 3) are recalled. In -coords
due to the point ↔ line and other dualities, some but not all actions are best
performed in the dual. The queries, which are the “cutting tools,” operate on the
display, i.e., dual. Their design should exploit the methodology’s strengths and
avoid its weaknesses, rather than mimic the action of queries operating on standard
“nondual” displays. Like a surgeon’s many specialized cutting tools, one of our
early software versions had many specialized queries. Not only was it hard to
classify and remember them but they still could not handle all situations encoun-
tered. After experimentation, I chose a few (three) intuitive queries called atomic,
which can be combined via Boolean operations to form complex intricate cuts.
Even for relatively small data sets, the -coords display can look uninformative
and intimidating. Lack of understanding of the basics of the underlying geometry
and poor choice of queries limits the use of -coords to unrealistically small
data sets. Summarizing, the requirements for successful exploratory data analysis
are:
• an informative data display,
• good choice of queries, and
• skillful interaction with the display.
Figure 10.1. Seven types of ground emissions were measured in this region of Slovenia.
Measurements recorded by the LandSat Thematic Mapper are shown in subsequent figures. Thanks
to Dr. Ana Tretjak and Dr. Niko Schlamberger, Statistics Office of Slovenia, for providing the data.
(Right) The display is the map’s rectangular region; the dot marks the position where the 7-tuple
shown in the next figure was measured.
two (X, Y ) specify the location on the map in Fig. 10.1 (left), a portion of Slovenia,
where 7 types of ground emissions are measured by satellite. The ground location,
(X, Y ), of one data item is shown in Fig. 10.1 (right), which corresponds to the map’s
region and remains open during the exploration. The query, shown in Fig. 10.2, used
to select the data item is called Pinch. It is activated by the button P on the tool bar.
By means of this query, a set of polygonal lines (i.e., data items) can be chosen by
being “pinched” between the axes. The cursor’s movement changes the position of
the selected arrowhead, which is the larger of the two shown. In due course, various
parts of the GUI are illustrated (Parallax).52 Aside from starting the exploration
without biases, it is essential
Here the task is the detection and location of various ground features (built-up
areas, vegetation, water, etc.) on the map. There is a prominent lake in the lower-
left corner with an unusual shape of an upward-pointing “finger.” This brings up
the next admonition, that no matter how messy it looks,
52
MDG’s Ltd proprietary software; all rights reserved, is used by permission.
10.2 Exploratory Data Analysis with -coords 385
Figure 10.4. (Left) The lake; result of query shown in Fig. 10.3.
On the right is just the lake’s edge. It is the result of the query shown in Fig. 10.5.
but we did pick B4 among several variables. Further, this is a nice “warm-up” for
the subsequent more involved examples, enabling us to show two of the queries.
The astute observer must have already noticed the regularity, the vertical bands,
between the B1, B2, and B3 axes. This is where the angle query, activated by the
10.2 Exploratory Data Analysis with -coords 387
A button, comes into play. As the name implies, it selects groups of lines within
a user-specified angle range. A data subset is selected between the B2 and B3
axes as shown, with enlarged interaxis distance better showing the vertical bands,
in Fig. 10.6 (left) to select a data subset that corresponds on the map to regions
with high vegetation. Clicking the A button and placing the cursor in the middle
of one axis opens an angle, with vertex on the midrange of the previous (left) axis,
whose range is controlled by the arrow movements on the right axis. Actually, this
“rule” (i.e., relation among some parameters) for finding vegetation can be refined
by tweaking a couple of more parameters. This raises the topic of rule finding in
general, classificatio , which is taken up in Section 10.3.
The angle and pinch queries are motivated by the
line → point
¯ duality
d b
: x2 = mx1 + b ↔
¯ = , (10.3)
1−m 1−m
in -coords, illustrated in Fig. 10.7, where the interaxis distance is d. As seen from
its x coordinate, the point
¯ lies between the parallel axes when the line’s slope m
is negative, to the right of the X̄2 axis for 0 < m < 1, and to the left of X̄1 for
m > 1. Lines with m = 1 are mapped to the direction with slope b/d in the xy
plane, with d the interaxis distance and b the constant (intercept) in the equation of
. This points out that dualities properly reside in the projective plane, the directions
388 10. ♣ FT Data Mining and Other Applications
being the ideal points, rather than the Euclidean plane. For sets of points having a
“overall” direction with negative slope, i.e., are “negatively correlated,” the lines
representing them in -coords cross each other roughly between the axes, and they
can be selected with the pinch query. For positively correlated sets of points, their
corresponding lines cross outside the axes and can be selected with the angle query.
All this exemplifies the need to understand some of the basic geometry so as to work
effectively with the queries and of course design them properly. The three atomic
queries having been introduced, there remains to learn how they can be combined
to construct complex queries.
10.2 Exploratory Data Analysis with -coords 389
Prior to that, Fig. 10.6 (left) raises the question, what if the B2 and B3 axes were
not adjacent? Then the pattern and hence their pairwise relation would be missed.
Hence the axis permutation used for the exploration is important. In particular, what
is the minimum number of permutations among N axes containing the adjacencies
for all pairs of axes? It turns out [95], [184] that M permutations are needed for
even N = 2M, and M + 1 for odd N = 2M + 1. It is fun to see why. Label the
N vertices of a graph with the index of the variables Xi , i = 1, . . . , N, as shown
in Fig. 10.8 for N = 6. An edge joining vertex i with j signifies that the axes
indexed by i, j are adjacent. The graph on the left is a Hamiltonian path, for it
contains all the vertices. Such paths have been studied beginning with Euler in the
eighteenth century with modern applications to the “traveling salesman” problem
and elsewhere [77, pp. 66], [16, pp. 12]. The graph corresponds to the axis index
permutation 126354. On the right, the union with the additional two Hamiltonian
paths, starting at vertices 2 and 3, forms the complete graph, which contains all
possible edges. Hence the three permutations 126354, 231465, 342516 contain all
possible adjacent pairs; just try it. The remaining permutations are obtained from
the first by successively adding 1 mod 6, and this works for general N .
390 10. ♣ FT Data Mining and Other Applications
Returning to EDA, the icon with the Rubik’s Cube on Parallax’s toolbar activates
a permutation editor, which automatically generates the Hamiltonian permutations
(HP). After scrutinizing the data set display, the recommended next step is to run
through the O(N/2) HP. This is how all nice adjacencies such as the one in Fig. 10.6
are discovered. Then using the editor, patch your own custom-made permutation
containing all the parts you like in the HP. With this preprocessing cost, referred to
earlier in list item 2 of the introduction, the user sets her own best permutation to
work with. Of course, there is nothing to prevent one from including axes several
times in different positions and experimenting with different permutations in the
course of the exploration.
Figure 10.9. The full Quasars dataset with 46, 000+ data items and 21 parameters.
There are two major clusters and an outlier with high value in the second variable. Several parameters
having similar values can be eliminated, uncluttering the display, as shown below in Fig. 10.10.
Note the patterns involving the intermediate range of values of the parameter
labeled Radio. On the right within the scatterplot of the variables Radio vs. X-Ray,
the only subset without horizontal or vertical segments (for missing values) is
selected using a query called Polygon. It has 234 data items with interesting rela-
tions, as shown in Fig. 10.11, between Radio vs. X-Ray and Radio vs. sig-K. The
explorations here are relatively straightforward. Much more complex multivariate
relations were discovered in complex datasets, and some are shown next. For such a
discovery process, more queries are needed whose design requires a deeper under-
standing of the methodology’s foundations. They are summarized next, preparing
the ground for some sophisticated applications described later.
jumped and stayed higher. The exploration was carried out in the presence of four
financial experts, who carefully recorded the relation between low yen, high 3MTB
rates, and low gold prices. By the way, the low yen rate of exchange means that the
yen had a high value relative to the US dollar.
There are two bunches of crossing lines between sixth and seventh axes in
Fig. 10.12, which together comprise more than 80% of the data set. This and
recalling the previous discussion on the line ↔ point mapping in Fig. 10.7 points
out the strong negative correlation between yen and 3MTB rates. The smaller cluster
in Fig. 10.14 is selected. Moving from the top range of any of the two axes, with
the I query, and lowering the range causes the other variable’s range to rise and is
a nice way to show negative correlation interactively. For the contrarians among
us, we check also for positive correlation, Fig. 10.15. We find that it exists when
gold prices are low to midrange, as happened for a period in the 1990s. This is
a free investment tip for bucking the main trend shown in Fig. 10.14. It is also
a nice opportunity for showing the inversion feature activated by the icon with
two cyclical arrows. A variable is selected and the min/max values on that axis
are inverted. Diverging lines (as for positive correlation) now intersect Fig. 10.16,
making it easier visually to spot the crossing and hence the correlation. Actually,
394 10. ♣ FT Data Mining and Other Applications
the recommendation is to work with the A query, experimenting with various angle
ranges using inversion to check out or confirm special clusters. When stuck, don’t
just stand there, but
• vary one of the variables, watching for interesting variations in the other
variables.
Doing this on the yen axis, Fig. 10.17, we strike another gold connection. The
(rough) intersection of a bunch of lines joining yen to the Dmark corresponds, by
the duality, to their rate of exchange. When the rate of exchange changes, so does
the intersection and the price of gold! That is, movements in currency exchange
rates and the price range of gold go together. Are there any indications that are
associated with the high range of gold? The top price range is selected, Fig. 10.18,
and prompted by the result of the previous query, we check out the exchange rate
between Sterling (BPS) and Dmark (or yen), and the result is stunning: a perfect
straight line. The slope is the rate of exchange, which is constant when gold tops
out. The relation between Sterling (BPS) and the Dmark is checked for different
price ranges of gold, Fig. 10.19, and the only regularity found is the one straight
line above. Aside from the trading guideline it establishes, it suggests “behind-the-
scenes manipulation of the gold market.” We could have said that, but we won’t.
We perish this thought and proceed with the Boolean complement, Fig. 10.20, of an
I (or any other) query. Not finding anything, we select a narrow but dense range on
10.2 Exploratory Data Analysis with -coords 397
the yen, Fig. 10.21, and notice an interesting relation between the Dmark, interest
rates, and gold.
There is an exploratory step akin to “multidimensional contouring,” which we
fondly call Zebra, activated by the last icon button on the right with the appropriate
skin color. A variable axis is selected, the SP500 axis in Fig. 10.22, and divided
into a number (user specified) of intervals (here it is 4) and colored differently. This
shows the connections (influence) of the intervals with the remaining variables,
which here is richly structured especially for the highest range. So what does it
take for the SP500 to rise? This is a good question and helps introduce Parallax’s
classifier, described in 10.3. The result, shown in Fig. 10.23, confirms the investment
community’s experience that low 3MTB and gold predict high SP500. A comparison
with the results obtained on this data set with other visualization tools would be
instructive, though unfortunately one is not available. Still let us consider such an
analysis done by the scatterplot matrix. There are 10 variables (axes), which requires
45 pairwise scatterplots each, even with a large monitor screen being no larger than
about 2.5 × 2.5 cm2 . Varying one, two, or more variables in tandem and observing
the effects simultaneously over all the variables in the 45 squares may be possible but
quite challenging. By contrast, the effects of varying the Dmark, conditionally for
398 10. ♣ FT Data Mining and Other Applications
stable yen, are easily seen on the two interest rates, gold as well as the remaining
variables in one, Fig. 10.21. This example illustrates the difficulties due to high
10.2 Exploratory Data Analysis with -coords 399
representational complexity (see Section 10.1.2 item #2), which is O(N 2 ) for the
scatterplot matrix but O(N) for -coords and made even clearer with the next
data set.
different names. When the data set was cleaned up of superfluous information,
it was reduced to about 90 variables, as shown in Fig. 10.25 and eventually to
about 30, which contained the information of real interest. By my tracking, the
phenomenon of repetitive measurements is widespread, with at least 10% of the
variables occurring in large data sets being duplicates or near duplicates, possibly
due to instrument nonuniformities, as suggested in the 2-variable scatterplot2 in
Fig. 10.25. Here the repetitive observations were easily detected due to the fortuitous
variable permutation in the display. Since repetitive measurements occur frequently,
it may be worth adding to the software an automated feature to detect and exhibit the
suspect variables. This brief exposure is just an indication that large (in dimension,
i.e., in number of variables) data sets can still be gainfully explored in -coords.
There follows a different example of EDA on a process-control data set [102],
where compound queries turned out to be very useful and where we learn to add to
the list of exploration guidelines arguably the most important one:
• test the assumptions and especially the “I am really sure of”s.
Figure 10.25. The above data set after “cleanup” with about 90 variables left.
Figure 10.27. The batches high in Yield, X1, and Quality, X2.
in the process. The parameters are denoted by X1, X2, . . . , X16. The yield, as
the percentage of useful chips produced in the batch, is denoted by X1, and X2
is a measure of the quality (given in terms of speed performance) of the batch.
Ten different categories of defects are monitored, and the variables’ scales of X3
through X12 are 100% pure (zero defect) so that the amounts of defect appear at
the top and increasing amounts appear proportionately lower. The remaining X13
through X16 denote some physical parameters.
Since the goal here is to raise the yield, X1, while maintaining high quality, X2,
we have the problem of multiobjective optimization due to the presence of more
than one objective. The production specialists believed that it was the presence of
defects that prevented high yields and qualities. So their purpose in life was to keep
on pushing — at considerable cost and effort — for zero defects.
With this in mind, the result of our first query is shown in Fig. 10.27, where
the batches having the highest X1 and X2 have been isolated. This in an attempt
to obtain clues; and two real good ones came forth. Notice the resulting range of
X15, where there is a significant separation into two clusters. As it turns out, this
gap yielded important insight into the physics of the problem. The other clue is
almost hidden. A careful comparison — and here interactivity of the software is
404 10. ♣ FT Data Mining and Other Applications
Figure 10.28. The batches with zero in nine out of ten defect types.
essential — between Fig. 10.26 and Fig. 10.27 shows that some batches that were
high in X3 (i.e., low in that defect) were not included in the selected subset. That
casts some doubt into the belief that zero defects are the panacea and motivates
the next query, where we search for batches having zero defects in at least nine
(excluding X3, where we saw that there are problems) out of the ten categories.
The result is shown in Fig. 10.28 and is a shocker. There are nine such batches,
and all of them have poor yields and for the most part also low quality! That this
was not questioned and discovered earlier is surprising. We scrutinize the original
picture Fig. 10.26 for visual cues relevant to our objectives and our findings so far.
And there is one staring us in the face! Among the ten defects X3 through X12,
whatever X6 is, its graph is very different from those of the others. It shows that
the process is much more sensitive to variations in X6 than the others. For this
reason, we chose to treat X6 differently and remove its zero-defect constraint. This
query (not shown) showed that the very best batch (i.e., highest yield with very high
quality) does not have zeros (or the lowest values) for X3 and X6; a most heretical
finding. It was confirmed by the next query, which isolated the cluster of batches
with the top yields (note the gap in X1 between them and the remaining batches).
10.2 Exploratory Data Analysis with -coords 405
These are shown in Fig. 10.29, and they confirm that small amounts (the ranges can
be clearly delimited) of X3- and X6-type defects are essential for high yields and
quality.
Returning to the subset of data that best satisfied the objectives, Fig. 10.27, in
order to explore the gap in the range of X15, we found that the cluster with the
high range of X15 gives the lowest (of the high) yields X1, and worse, it does not
give consistently high quality X2, whereas the cluster corresponding to the lower
range has the higher qualities and the full range of the high yield. It is evident that
the small ranges of X3, X6 close to (but not equal to) zero, together with the short
(lower) range of X15, provide necessary conditions for obtaining high yields and
quality. This is also indicated in Fig. 10.29. By a stroke of good luck, these three can
also be checked early in the process, avoiding the need of “throwing good money
after bad” (i.e., by continuing the production of a batch whose values of X3, X6,
and X15 are not in the small “good” ranges we have found).
These findings were significant and differed from those found with other
methods for statistical process control [9]. This approach has been successfully used
406 10. ♣ FT Data Mining and Other Applications
Figure 10.30. Only the lower range of X15 is associated with the highest yields and quality.
10.3 Classification
Though it is fun to undertake this kind of exploration, the level of skill and patience
required tends to discourage some users. It is not surprising, then, that the most
persistent requests and admonitions have been for tools that, at least partially,
automate the knowledge discovery process [103]. Classification is a basic task
in data analysis and pattern recognition, and an algorithm accomplishing it is called
a classifie [149], [57], [136]. The input is a dataset P and a designated subset S.
The output is a characterization, a set of conditions or rules, to distinguish elements
of S from all other members of P , the “global” dataset. The output may also be that
there is insufficient information to provide the desired distinction.
With parallel coordinates, a dataset P with N variables is transformed into
a set of points in N-dimensional space. In this setting, the designated subset S
can be described by means of a hypersurface that encloses just the points of S.
10.3 Classification 407
In practical situations, the strict enclosure requirement is dropped, and some points
of S may be omitted (“false negatives”), and some points of P − S are allowed
(“false positives”) in the hypersurface. The description of such a hypersurface is
equivalent to the rule for identifying, within some acceptable error, the elements of
S. Casting the problem in a geometric setting leads us to visualize how such a rule
may work. This entails:
1. Use of an efficient “wrapping” (a convex-hull approximation) algorithm to
enclose the points of S in a hypersurface S1 containing S and in general also
some points of P − S; so S ⊂ S1 .
2. The points in (P −S) ∩S1 are isolated and the wrapping algorithm is applied to
enclose them, and usually also some points of S1 , producing a new hypersurface
S2 with S ⊃ (S1 − S2 ).
3. The points in S not included in S1 −S2 are next marked for input to the wrapping
algorithm, a new hypersurface S3 is produced containing these points as well
as some other points in P − (S1 − S2 ), resulting in S ⊂ (S1 − S2 ) ∪ S3 .
4. The process is repeated, alternatively producing upper and lower contain-
ment bounds for S; termination occurs when an error criterion (which can
be user-specified) is satisfied or when convergence is not achieved. After
termination is obtained, two error measures are available to estimate the rule’s
precision:
• Train & Test. A portion of the dataset (usually 2/3) selected at random is used
to derive the classification rule, which is then tested on the remaining 1/3 of the
data.
• Cross-Correlation.
It can and does happen that the process does not converge when P does not
contain sufficient information to characterize S. It may also happen that S is so
“porous” (i.e., spongelike) that an inordinate number of iterations are required.
On convergence, say at step 2n, the description of S is provided as
this being the terminating expression resulting from the algorithm that we call nested
cavities (NC).
The user can select a subset of the available variables and restrict the rule
generation to these variables. In certain applications, as in process control, not all
variables can be controlled, and hence it is useful to have a rule involving only the
accessible (i.e., controllable) variables. An important additional benefit is that the
minimal set of variables needed to state the rule is found and ordered according
408 10. ♣ FT Data Mining and Other Applications
to their predictive value. These variables may be considered as the best features to
identify the selected subset. The algorithm is display-independent and there is no
inherent limitation as to the size and number of variables in the dataset. Summarizing
for NC,
1. Satellite image dataset has over 6,000 items and NC’s classification error was
9%, k-NN was next with 9.4%, the remainder had errors as high as 30%, and
one was unable to be classified at all, as shown in Table 10.1.
2. Vowel recognition data with about 1,000 data items. The data collection process
involves digital sampling of speech with acoustic signal processing, followed
by recognition of the phonemes, groups of phonemes, and words. The goal here
is a speaker-independent rule based on 10 variables of 11 vowels occurring in
various words spoken (recorded and processed) by 15 British male and female
speakers. Deterding [40] collected this dataset of vowels, which can be found
in the CMU benchmark repository on the Internet. There are 528 entries for
training and 462 for testing. Three other types of classifiers were also applied
10.3 Classification 409
Error rate %
Rank Classifie Train Test
1 NC 4.3 9.0
2 k-NN 8.9 9.4
3 LVQ 4.8 10.5
4 DIPOL92 5.1 11.1
5 RBF 11.1 12.1
6 ALLOC80 3.6 13.2
7 IndCART 2.3 13.8
8 CART 7.9 13.8
9 Backprop 11.2 13.9
10 Baytree 2.0 14.7
11 CN2 1.0 15.0
12 C4.5 4.0 15.0
13 NewID 6.7 15.0
14 Cal5 12.5 15.1
15 Quadisc 10.6 15.5
16 AC 2 11.3 15.7
17 SMART 12.3 15.9
18 Cascade 11.2 16.3
19 Logdisc 11.9 16.3
20 Discrim 14.9 17.1
21 Kohonen 10.1 17.9
22 CASTLE 18.6 19.4
23 NaiveBay 30.8 28.7
24 ITrule Failed Failed
to this dataset: neural networks and k-NN by Robinson and Fallside [56], and
decision trees by Shang and Breiman [158]. Again NC was top with 7.9%;
next was CART-DB at 10%; the rest were down to 66%, with many unable to
provide a classification rule. The results are shown in Table 10.2.
410 10. ♣ FT Data Mining and Other Applications
3. A neural-pulse dataset has interesting and unusual features. There are two
classes of neurons whose outputs to stimuli are to be distinguished. They consist
of 32 different pulses measured in a monkey’s brain (poor thing!). There are
600 samples with 32 variables (the pulses).54 Various classification methods
were unable to obtain a rule. With NC, convergence is obtained requiring only
9 of the 32 parameters for the classification rule for category 1. The resulting
ordering shows a striking separation. In Fig. 10.31, the first pair of variables
x1 , x2 in the original order is plotted on the left. On the right, the best pair
x11 , x14 , as chosen by the classifier’s ordering speaks for itself. By the way,
the discovery of this manually would require constructing a scatterplot matrix
with 496 pairs, then carefully inspecting and comparing the individual plots.
The implementation provides all the next-best sections, some of which are
shown in Fig. 10.31, to aid the visualization of the rule. The data set consists
of two “pretzel-like” clusters wrapping closely in 8-D, one enclosing the other,
showing that the classifier can actually “carve” highly complex regions with the
cavity shown. One can understand why separation of clusters by hyperplanes
or nearest-neighbor techniques can fail badly for such data sets. The rule has
4% error, some of which are shown in Fig. 10.32.
The rules are explicit, “visualizable,” optimally ordering the minimal set of
variables needed to state the rule without loss of information. There are variations
that apply in some situations where the NC classifier fails, such as the presence of
54
I am grateful to Prof. R. Coiffman and his group at the Departments of Mathematics and Computer
Science at Yale University for giving me this data set.
10.3 Classification 411
Figure 10.31. The neural-pulses dataset with 32 parameters and two categories.
The data set is shown in the background. On the left plot are the first two parameters in the original
order. The classifier found the nine parameters needed to state the rule with 4% error and ordered
them according to their predictive value. The best two parameters are plotted on the right, showing
the separation achieved.
several large “holes” (see [103]). Further, keeping in mind that the classification
rule is the result of several iterations suggests heuristics for dealing with the pesky
problem of overfittin . The iterations can be stopped just where the corrections in
(10.4) become very small, i.e., the Si consist of a small number of points. The
number of iterations is user defined, and the resulting rule yields an error in the test
stage more stable under variations in the number of points of the test set. In addition,
the user can exclude variables from being used in the description of the rule; those
ordered last are the ones providing the smaller corrections and hence more liable to
overcorrect.
412 10. ♣ FT Data Mining and Other Applications
Examining the vehicles’ files from the IDs, a surprising separation is found: those
with v4 values in the top (dense range) have — let’s call them S1 (shown in
Fig. 10.35) — automatic transmission, and the remainder (denoted by S2 ) with
sparse v4 values have manual transmission! Classifying each of the S1 , S2 separately
and then taking the union of the rules provides a much more accurate overall rule
for S.
Proceeding, the classification rule for subset S1 is obtained with an error of
2%; Fig. 10.36. Variable v6 is redundant and can be omitted. The two variables
with the highest predictive value are v4 , v2 , and their plot indicates that they are
three clusters in the data set: a dense one with low v2 and v4 lower than S1 , and a
sparse one with higher values of v2 . Even though the rule’s error is very low, this is a
situation in which information on the misclassified trucks is very important. For this
purpose, we stop the iteration after the first step. The output is the subset shown in
Fig. 10.37. It consists of data from the top five categories, i.e., the subset S and some
from category #2. Knowing the classifier’s final output is obtained by subsequent
iterations refining this subset; we surmise that the misclassifieds are likely to be
from class #2. Independently, it was found that the class #2 trucks, manufactured
10.3 Classification 415
Figure 10.39. Competition for labor between the fis ing and mining sectors.
The picture is in effect a simple visual model of the country’s economy, incorpo-
rating its capabilities, limitations, and interelationships among the sectors. A point
interior to the region satisfies all the constraints simultaneously, and therefore
represents a feasible economic policy for that country (i.e., the 8-tuple of values).
Using the interior point algorithm we can construct such points. It can be done
interactively by sequentially choosing values of the variables, and we see the result
of one such choice in Fig. 10.38. Once a value of the first variable is chosen (in this
case the agricultural output) within it’s range, the dimensionality of the region is
reduced by one. In fact, the upper and lower curves between the second and third
axes correspond to the resulting 7-dimensional hypersurface and show the available
range of the second variable (fis ing) reduced by the constraint. This can be seen
(but not shown here) for the rest of the variables. That is, due to the relationship
between the eight variables, a constraint on one of them impacts all the remaining
ones and restricts their range. The display allows us to experiment and actually
see the impact of such decisions downstream. By interactively varying the chosen
value for the first variable, we found that it not possible to have a policy that favors
agriculture without also favoring fis ing and vice versa.
Proceeding, a very high value from the available range of fis ing is chosen, and
it corresponds to very low values of the mining sector. By contrast, in Fig. 10.38 we
see that a low value in fis ing yields high values for the mining sector. This inverse
correlation was examined, and it was found that the country in question has a large
number of migrating semiskilled workers. When the fishing industry is doing well,
418 10. ♣ FT Data Mining and Other Applications
most of them are attracted to it, leaving few available to work in the mines and
vice versa. The comparison between the two figures shows the competition for the
same resource between mining and fis ing. It is especially instructive to discover
this interactively. The construction of the interior point proceeds in the same way.
In the next section, in the discussion on surfaces this construction is shown for
higher-dimensional hypersurfaces.
The following short review of -coords and the discussion on duality provide the
essential background to make this chapter self-contained.
10.5.1 Lines
An N-dimensional line
can be described by the N − 1 linear equations
⎧
⎪
⎪
: x2 = m2 x1 + b2 ,
⎪ 1,2
⎪
⎪
⎪
2,3 : x3 = m3 x2 + b3 ,
⎪
⎪
⎪
⎨ ···
: (10.5)
⎪
⎪
i−1,i : xi = mi xi−1 + bi ,
⎪
⎪
⎪
⎪ ···
⎪
⎪
⎪
⎩
N−1,N : xN = mN xN −1 + bN ,
each with a pair of adjacently indexed variables. In the xi−1 xi plane, the relation
labeled
i−1,i , N = 2, . . . , N, is a line, and by the line ↔ point duality (10.3), it
can be represented by the point
1 b
¯i−1,i =
i
+ (i − 2), . (10.6)
(1 − mi ) (1 − mi )
Here the interaxis distance is 1, so that i − 2 is distance between the y (or X̄1 ) and
X̄i−1 axes. Actually, any N − 1 independent equations such as
can equivalently specify the line
, for (10.7) is the projection of
on the xi xj 2-D
plane, and N − 1 such independent projections completely describe
. There is a
beautiful and very important relationship illustrated in Fig. 10.40 (left). For a line
in 3-D, the three points
¯12 ,
¯13 ,
¯23 are collinear (this line is denoted by L̄), and
10.5 Parallel Coordinates: The Bare Essentials 419
any two points represent
. It is easy to see that a polygonal line on all N − 1 points
given by (10.6) or their equivalent represents a point on the line
. Conversely, two
points determine a line
. Starting with the two polygonal lines representing the
points, the N − 1 intersections of their X̄i−1 , X̄i portions are the
¯i−1,i points for
the line
. A line interval in 10-D and several of its points are seen on the (right) of
Fig. 10.40. By the way, the indexing of the points
¯ is essential. It is usually omitted
to save display space but it must always be available for it is needed for algorithms
that involve lines (e.g., intersections and minimum distance; see Chapter 4).
While a line can be determined from its projections, a plane even in 3-D cannot.
A new approach is called for [47]. Rather than discerning a p-dimensional object
from its points, it is described in terms of its (p−1)-dimensional subsets constructed
from the points. Let us see how this works. In Fig. 10.41 (left), polygonal lines
representing a set of coplanar points in 3-D are seen. From this picture even the
most persistent pattern-seeker cannot detect any clues hinting at a relation among
the three variables, much less a linear one. The plane has dimension p = 2, so
we look at lines (having dimension p − 1 = 1) on the plane constructed so that
from each pair of polygonal lines, the lines L̄ of the 3-point collinearity shown in
Fig. 10.40 (left) are obtained. The result, shown on the right, is stunning. All the
L̄ lines intersect at a point, which turns out to be characteristic of coplanarity but
not enough to specify the plane. Translating the first axis X̄1 to the position X̄1
,
one unit to the right of the X̄3 axis, and repeating the construction, based on the
420 10. ♣ FT Data Mining and Other Applications
π : c1 x1 + c2 x2 + c3 x3 = c0 , (10.8)
the two points, in the order they are constructed, are respectively
c2 + 2c3 c0 3c1 + c2 + 2c3 c0
π̄123 = , , π̄1 23 =
, , (10.9)
S S S S
for S = c1 +c2 +c3 . Three subscripts correspond to the three variables appearing in
the plane’s equation and the axis triple used for their construction, and distinguish
them from the points with two subscripts, representing lines. The second and third
axes can also be consecutively translated, as indicated in Fig. 10.41 (left), repeating
the construction to generate two more points, denoted by π̄1
2
3 , π̄1
2
3
. These points
can also be found in an easier way (see Chapter 5). The gist of all this is shown in
Fig. 10.42 (right). The distance between successive points is 3ci . The equation of
the plane π can actually be read from the picture!
In general, a hyperplane in N dimensions is represented uniquely by N − 1
points, each with N indices. There is an algorithm that constructs these points
recursively, raising the dimensionality by one at each step, as is done here starting
from points (0-dimensional) and constructing lines (1-dimensional). By the way,
all the nice higher-dimensional projective dualities such as point ↔ hyperplane
10.5 Parallel Coordinates: The Bare Essentials 421
Returning to 3-D, it turns out that for points as in Fig. 10.41 that are “nearly”
coplanar (i.e., have small errors), the construction produces a pattern very similar
to that in Fig. 10.42 (left). A little experiment is in order. Let us return to the family
of proximate (i.e., close) planes generated by
= {π : c1 x1 + c2 x2 + c3 x3 = c0 , ci ∈ [ci− , ci+ ], i = 0, 1, 2, 3}, (10.10)
randomly chosing values of the ci within the allowed intervals to determine several
planes π ∈ , keeping at first c0 = 1, and plotting the two points π̄123 , π̄1
23 as
shown in Fig. 10.43 (left). Not only is closeness apparent, but more significantly, the
distribution of the points is not chaotic. The outline of two hexagonal patterns can
be discerned. The family of “close” planes is visualizable, but also the variations in
several directions. It is possible to see, estimate, and compare errors or proximity.
422 10. ♣ FT Data Mining and Other Applications
It can be proved that in 3-D, the set of pairs of points representing the family of
proximate planes forms two convex hexagons when c0 = 1, with an example shown
in Fig. 10.43 (right), and are contained in octagons, each with two vertical edges
for varying c0 . In general, a family of proximate hyperplanes in N-D is represented
by N − 1 convex 2N-gons when c0 = 1, or 2(N + 1)-gons for c0 varying (for an
extensive exposition, see Chapter 8). These polygonal regions can be constructed
with O(N) computational complexity. Choosing a point in one of the polygonal
regions, an algorithm matches the remaining possible N − 2 points, one each from
the remaining convex polygons, which represent and identify hyperplanes in the
family by N − 1 points.
We pose the thesis that visualization is not about seeing many things but
rather discovering relations among them. While the display of randomly sam-
pled points from a family of proximate hyperplanes is utterly chaotic (the mess
in Fig. 10.41 (right) from points in just one plane), their proximate coplanarity
relation corresponds to a clear and compact pattern. With -coords we can focus
and concentrate the relational information rather than wallowing in the details,
ergo the remark “without loss of information” when referring to -coords. This
is the methodology’s real strength and where the future lies. Here, then, is
a visualization challenge: how else can proximate coplanarity be detected and
seen?
10.5 Parallel Coordinates: The Bare Essentials 423
enough, are also hyperbolas, the curves determined by points representing the
sphere’s tangent planes. Retaining the exact surface description (i.e., its equation)
internally, interior points can be constructed and displayed as shown for the 5-D
sphere in Fig. 10.45 (left). On the right the same construction is shown, but for
a more complex 20-dimensional convex hypersurface (“model”). The intermedi-
ate curves (upper and lower) also provide valuable information and previews of
coming attractions. They indicate a neighborhood of the point (represented by the
polygonal line) and provide a feel for the local curvature. Note the narrow strips
around X13, X14, X15 (as compared to the surrounding ones), indicating that at
this state, these are the critical variables where the point is bumping the boundary.
A theorem guarantees that a polygonal line that is between all the intermediate
curves/envelopes represents an interior point of the hypersurface, and all interior
points can be found in this way. If the polygonal line is tangent at any one of the
intermediate curves, then it represents a boundary point, while if it crosses any one
of the intermediate curves, it represents an exterior point. The latter enables us to
see, in an application, the first variable for which the construction failed and what is
needed to make corrections. By varying the choice of value over the available range
of the variable interactively, sensitive regions (where small changes produce large
changes downstream) and other properties of the model can be easily discovered.
Once the construction of a point is completed, it is possible to vary the values of
each variable and see how this affects the remaining variables. So one can do trade-
off analysis in this way and provide a powerful tool for, decision support, process
control, and other applications. As new data becomes available the model can be
updated, with decisions being made based on the most recent information. This
algorithm is used in the earlier example on a model for a country’s economy shown
in Figs. 10.38, 10.39.
10.6 Future
Searching for patterns in a -coords display is what skillful exploration is about.
If there are multivariate relations in the data set, the patterns are there, though they
may be covered by the overlapping polygonal lines, and that is not all. Our vision
is not multidimensional. We do not perceive a room that is 3-dimensional from its
points, which are 0-dimensional, but from the 2-dimensional planes that enclose and
define it. The recursive construction algorithm does exactly that for the visualization
of p-dimensional objects from their (p − 1)-dimensional subsets, one dimension
less. We advocate including this algorithm within our armory of interactive analysis
tools. Whatever p-dimensional relations exist are revealed by the pattern from the
representation of the tangent hyperplanes of the corresponding hypersurface. The
426 10. ♣ FT Data Mining and Other Applications
polygonal lines are completely discarded, for the relation is concentrated in the
pattern: linear relations into points, proximate coplanarity into convex polygons,
quadrics into conics, and so on. Note further, again with reference to Figs. 10.40 and
10.41, that relational information resides at the crossings. What can be achieved for
the representation of complex relations by patterns is exemplified by the pictures of
a helicoid and Möbius strip in Cartesian and -coords in Figs. 10.46, 10.47. These
are state-of-the-art results, showing what is achievable and how easily it generalizes
to N-D. Can one imagine a higher-dimensional helicoid, much less a nonorientable
surface like the Möbius strip? It is possible to do such a process on a data set, though
at present it is computationally slow. The challenge is to speed up the algorithm for
real-time response and thus break the gridlock of multidimensional visualization.
There will still be work and fun for the multidimensional detectives visually separa-
ting and classifying the no longer hidden regions, identifying complex multivariate
relations that have evaded us until now.
This page intentionally left blank
11
Recent Results
11.1.1 Abstract
This chapter suggests ways to improve the visualization of several lines in parallel
coordinates, specifically how to overcome the inconvenience caused by the fact
that the indexed points are not necessarily arranged “neatly” along the horizontal
axis. Several approaches are presented by which the input data (or alternatively, the
axes) may be transformed so as to reduce or eliminate the problem, with minimal
information loss.
11.1.2 Introduction
Recall that in order to visualize a line
∈ RN , we first represent it as a set of
equations of the following form:55
55
It is also possible to represent the linear relations between the components in different notation, for
example,
xi = mi x1 + bi
for i ∈ [2, . . . , N], where x1 corresponds to some “base” variable. Such representation may convey
important properties of the data, but the corresponding graphic representation inherently lacks the
“neatness” we are seeking in this chapter.
xi = mi xi−1 + bi
If
has constant components, they are first plotted independently, using any
convenient graphic notation; then the above approach is used for the nonconstant
components.
Some basic properties of the indexed points:
• For any pair of points on
, the lines connecting their xi and xi+1 components
intersect at
¯i,i+1 .
• The horizontal position of a point
¯i,i+1 is determined by the corresponding
slope mi .
• The vertical position of a point is determined by the slope as well as the
corresponding displacement bi .
Let us refine the relation between the slope mi and the horizontal position of
¯i,i+1 :
• If mi < 0, the point lies between the xi and xi+1 axes.
• If mi = 0, the point lies on the xi+1 axis.
• If 0 < mi < 1, the point lies to the right of the xi+1 axis.
• If mi = 1, the point is ideal.
• If mi > 1, the point lies to the left of the xi axis.
Several problems are apparent:
1. A visualization of ideal points is required for some lines.
2. The indexed point
¯i,i+1 may fall anywhere in the 2D display, regardless of
i or of any other indexed point. Indeed, different indexed points may fall on
the same point in 2D. In other words, there is no visual separation between
dimension components.
3. If we wish to plot multiple lines in this manner, the display quickly becomes
very confusing.
4. There is a discontinuity along the horizontal display axis as the slope approaches
1: A line with slope 1 + ε would appear at the extreme left side, while a line
with slope 1 − ε would appear at the extreme right side.
These problems are demonstrated in Figures 11.1 and 11.2. Different ways to
overcome these problems are suggested in what follows.
11.1 Displaying Several Lines Efficiently 431
Figure 11.2. Five randomly chosen lines in R9 . The display is very hard to understand.
Figure 11.3. Displaying the line shown in Figure 11.1 after flipping axes x6 and x9 .
• If all dimensions agree for L, then running the axis flipping algorithm on any
line in L, for any permutation of the axes, will give a solution for all lines in L.
• Otherwise, no solution based on flipping or permuting the axes exists.
This suggests a method for finding a partial solution in the general case (not
necessarily the best partial solution, but a simple one nonetheless). We can easily
find the equivalence classes of the dimensions and reorder the axes by the classes.
Running the “axis flipping” algorithm on these axes (on any line) will give a solution
such that indexed points corresponding to dimensions from the same class will be
between their appropriate axes. This solution maximizes the number of dimensions
without any “bad” indexed points, though not necessarily the total number of “bad”
indexed points.
To conclude this section, we have shown that the simple “axis flipping” algo-
rithm finds a full solution if one exists, or a partial one otherwise. Reordering the
axes may improve the partial solution, but will never uncover a full solution. The
basic algorithm is of order O(N), and checking that the solution is correct for all
lines is of order O(L × N), which is the lower bound for the problem. We have
also shown a necessary and sufficient criterion for the existence of a solution.
So far we have allowed flipping axes and reordering them. Next we will
investigate other operations that can be used.
in Figure 11.5). These lines do not agree, but they can be made to agree by slightly
rotating the axes.
More generally, a set of lines in 2D can be made to agree by rotation if and
only if they can be bounded between two orthogonal lines. An appropriate rotation
angle can be found by taking the angle between one of the bounding lines and one
of the axes.
Checking this new criterion is easy, because if a pair of bounding lines exists,
then a pair exists such that the slope of one of the lines is just below56 one of the
given lines. We can look for solutions as follows:
• For each given line, position a bounding line just below it.
• Construct the orthogonal bounding line and count the given lines bounded
between them.
• Choose the bounds that contain the most given lines.
56
“Just below” means “smaller by some infinitesimal value.”
11.1 Displaying Several Lines Efficiently 437
This method yields a rotation angle such that the greatest number of lines have
no “bad” indexed points at all. It also allows us to choose some lines that must not
have “bad” indexed points, or to assign priorities to the lines, etc.
It is worth noting that orthogonal lines never agree, and they cannot be made
to agree by any rotation (since they will always remain orthogonal).
All that was said is true for 2D. In 3D, the agreement criterion means that all
lines are contained in exactly two octants. We would like to find a 3D rotation, if
one exists, such that a given set of lines will be contained in exactly two octants
after the rotation.
As in 2D, a set of lines in 3D can be made to agree by rotation if and only if
they can be bounded between three orthogonal lines (this is not an exact definition).
In this case, an appropriate rotation matrix can be constructed by inverting the
matrix that maps the Cartesian axes onto unit vectors on the bounding lines.
Unlike the 2D case, it is not clear how one can find the bounding lines, or check
whether they exist. This question is left open.
The subject of rotations in 3D and higher dimensions will be revisited later on.
438 11. Recent Results
N ε − VijT
T T T
(V xj )i = Vik xkj = tj Vi1 + VijT ≥ T
T
Vi1 + VijT = ε > 0.
k=1 Vi1
Figure 11.6. Five randomly chosen lines in R9 (one ideal point is not displayed).
440 11. Recent Results
Figure 11.7. The same five lines after transformation. The visual display is much clearer than
before.
get the transformed lines is to choose a pair of points on each line, apply the
transformation T to the points, and construct the lines passing through the points
correspondingly. The result can be seen in Figure 11.7. The visual display is much
clearer than before.
We can do even better by noticing that the indexes are now redundant: all
points between axes Xi , Xi+1 have indexes i, i + 1. The final result is shown in
Figure 11.8.
Figure 11.8. The same five lines after transformation, without the indexes.
57
More precisely, we want them to be orthonormal, but the additional constraint does not affect the
problem significantly.
11.2 Separating Point Clusters on Different Planes 443
Nir Shahaf
School of Mathematical Sciences
Tel Aviv University, Israel
[email protected]
11.2.1 Overview
We start by describing a family of problems. Suppose that we have m planes in RN
and that we have a sample of n random points taken from each of those planes. Our
purpose is to be able to recover the planes from the sample data (without knowing
which sample point came from which plane). This family of problems depends on
two parameters: m, the number of planes, and N, the dimension. We solve the
problem in a certain setting where m = 3 and N = 3 (extension to other problems
from the family is immediate). We show a probabilistic algorithm that solves the
problem with high probabilty; the complexity of that algorithm is O(n2 ).
Figure 11.9. Sample run of the algorithm. “Interesting” rectangles are shown.
One question remains open: how do we determine the best threshold? For
obvious efficiency reasons, we would like to choose a threshold that is as high as
possible. However, choosing too high a threshold might cause us to miss some of
11.2 Separating Point Clusters on Different Planes 445
the intersection clusters. The next subsection deals with the question of determining
a threshold that is not too high and not too low.
and therefore
(β − 1)(αβ − β − 2α)
E(Xi Xj ) = .
4 · (α − 1)2 (α − 3)
Obviously,
p2 (β − 1)2
E(Xi ) · E(Xj ) = 2 = .
2 4 · (α − 1)2
Hence
cov(Xi , Xj )
αβ 2 − β 2 − 2αβ − αβ + β + 2α − (β − 1)2 (α − 3)
=
4 · (α − 1)2 (α − 3)
αβ 2 − β 2 − 2αβ − αβ + β + 2α − (β 2 − 2β + 1)(α − 3)
=
4 · (α − 1)2 (α − 3)
αβ 2 − β 2 − 2αβ − αβ + β + 2α − αβ 2 + 3β 2 + 2αβ − 6β − α + 3
=
4 · (α − 1)2 (α − 3)
2β 2 − αβ − 5β + α + 3
= ,
4 · (α − 1)2 (α − 3)
and eventually,
β
Var(X) = Var(Xi ) + 2 cov(Xi , Xj )
i=1 1≤i<j ≤β
pβ
EX = , (11.1)
2
β(α − β)(β − 1) β(β − 1) 2β 2 − αβ − 5β + α + 3
Var(X) = + 2 · · . (11.2)
4(α − 1)2 2 4 · (α − 1)2 (α − 3)
Consider the following process: for α2 rounds, we pick pairs from the γ possible
pairs. Our choice might be impossible, since two distinct pairs we choose might
have a line in common (that would not be a legal pairing). However, every possible
pairing can be described as a choice of its pairs out of all the possible pairs. Let Y
be a random variable indicating the number of “good” pairs chosen (out of the δ
“good” pairs). We indicate the sample space by and define the following events:
A = {ω ∈ | ω is a legal pairing},
B = {ω ∈ | X(ω) = k},
C = {ω ∈ | Y (ω) = k}.
Notice that when X = k, our choice is a legal pairing, and in addition, we have
chosen exactly k “good” pairs: B = A ∩ C. Therefore: B C.
Corollary 11.2.2. For X and Y define as above,
P (X = k) < P (Y = k).
11.2 Separating Point Clusters on Different Planes 449
almost never miss the points. Even if it does miss, executing the process once more
will succeed with even higher probability.
11.2.5 Complexity
In this subsection we will estimate the complexity of the process described in the
previous subsections. In the described algorithm, we first take all possible pairs of
the n points. We have α(n) of those, which is of order O(n2 ). At the next stage
we randomly devide the α(n) lines into pairs, find their intersection point, and get
l(n) := α(n)
2 “superlines.” Obviously, the complexity of that stage is of order O(n )
2
as well. The final stage, the recursive consolidation points lookup, requires a more
delicate analysis. Denote by M(n) the following constant:
l(n)
M(n) = ,
t (n)
where t (n) is the threshold chosen as described in the previous subsections
(EX − 4σ ). This constant is a bound on the maximal number of distinct portions of
the workspace that can contain a number of points that is more than the threshold
at the same time. However, for our purposes, we need a bound that does not depend
on n. Fortunately, this is the case. A short computation shows that the sequence
M(n) is strictly decreasing; hence there exists a constant M such that for all n,
M(n) < M.
11.2 Surface Representation Decomposition and Developable Quadrics 451
Another interesting point (which will not be used here) is that sequence actually
converges:
lim M(n) = 34 ,
n→∞
where the number 3 in the limit is due to the number of planes we started with.
During the recursion process, we take care of portions of the original workspace
that get smaller: first we start with 102 of them; on the second recursion step we
already have 104 of them, and so on. However, on every recursion level, there cannot
be more than M(n) portions that contain more than t (n) points. We now define
one more constant, C, which is dictated by the precision of the computation. The
constant C is the maximal depth of the recursion that still improves the computation.
This is a universal constant, which does not depend on n (it depends only on the
capabilities of the computer performing the calculations). Since on every level
we can inspect at most M(n) portions of the workspace, and since the maximal
recursion level is C, we have that the maximal number of totally inspected portions is
bounded by
C · M(n) < C · M.
Note that this is a very loose bound: it is obviously impossible to be simulta-
neously in M(n) portions in the Cth level. The meaning of that scenario would be
finding M(n) points, while we expect to find only 3. While processing a portion we
count a number of points that is less than O(n2 ) (we observe only the points that
belong to the portion). Therefore the complexity of the consolidation points lookup
is of order O(n2 ), and this is also the complexity of the entire algorithm, as claimed.
II : v &→ MII v,
where the matrix MII is directly constructed from the above equations:
⎛ ⎞
0 1 1 ... 1
MII = ⎝ 0 d1 d2 . . . dN ⎠ .
−1 0 0 ... 0
sloppy here and refer to a point as a 0-flat, a line as a 1-flat, and so on, as if they
were embedded in RN .
Let us first recall the well-known “point ←→ hyperplane” duality in projective
geometry:
0 0 0 0 x3
which reduces to
−ξ0 x0 + 4ξ1 x1 + 9ξ2 x2 = 0,
since ξ ∈ σ . Its dual ξ̄ is therefore [−ξ0 , 4ξ1 , 9ξ2 , 0]. It is easily verified that the
collection of all such points lies on the intersection of the plane x3 = 0 and the
x2 x2
quadric −x02 + 41 + 92 = 0. It is also straightforward to verify that conversely,
every point on the intersection dualizes to a tangent plane of σ . The dual of this
particular elliptical cylinder is therefore an ellipse (a curve) in P3 . Let us call this
curve σ̄ .
Are we justified in calling this curve the “dual” of σ ? If we “dualize” this
ellipse, do we get the elliptical cylinder back? For a brief moment it is easier to
think in R3 rather than in P3 . Let η = (η1 , η2 , 0) be a point on σ̄ , where we
write in inhomogeneous coordinates and η0 is taken as 1. There are many tangent
planes to σ̄ at η. In fact, they are precisely the pencil of planes containing the
tangent straight line to σ̄ at η. The equation of any plane in this family looks like
η1 η2
4 (x1 −η1 )+ 9 (x2 −η2 )+tx3 = 0, where t ∈ R. Indeed, these planes collectively
dualize to one ruling of σ .
The above example can be generalized in two ways.
First let us extend this to higher dimensions. Suppose that Q is an (N + 1) ×
(N + 1) diagonal matrix of rank c + 1 representing a hypersurface σ in PN . Without
loss of generality, we will assume that the nonzero entries are in the upper left
(c + 1) × (c + 1) block, and we will write this block as Q(c+1)(c+1) . That is,
Q(c+1)(c+1) 0
Q= 0 0
. The hypersurface σ can be seen as composed of “rulings”
each of which is an (N − c)-flat of the form {[ξ0 , ξ1 , . . . , ξc , xc+1 , . . . , xN ] :
xc+1 , xc+2 , . . . , xN ∈ R}. All points on one “ruling” share the same tangent
hyperplane. Moreover, it is a result from projective geometry that the dual of any
hyperplane of this form lies in the c-flat φ that is the intersection of the N − c
hyperplanes xc+1 = 0, xr+2 = 0, . . . , xN = 0. (Think of the plane x3 = 0 in the
third example.)
We might as well restrict our attention on σ to the confine of φ, a c-dimensional
subspace of PN , since this “cross section” of σ gives all nontrivial features of
σ . The rest is just “linear extension” along the N − c uninteresting coordinate
axes. Denote [x0 x1 . . . xc ]T by xφ . The equation of σ restricted to φ is thus
xφT Rxφ = 0. Since Q(c+1)(c+1) is nonsingular, the dual of σ (in this restriction
space) is xφT Q−1
(c+1)(c+1) xφ = 0. Stepping back into P , the dual of σ is seen as a
N
some orthogonal matrix U and some diagonal matrix . In fact, column vectors of U
are the unit eigenvectors of Q, and the diagonal elements of are the corresponding
eigenvalues. Thus the equation of an arbitrary quadric σ : xT Qx = 0 can be written
as xT U U T x = 0. Perform a change of basis y = U T x to obtain yT y = 0,
and the previous results can then be applied to σ in this new coordinate system,
since is diagonal. We note that both tangency and duality of flats are invariant
under change of basis. The c + 1 column vectors of U corresponding to the nonzero
eigenvalues span φ, the intersection c-flat. The remaining N − c column vectors
correspond to the directions that form the “rulings.”
The result in this section can be summarized as follows. Let σ be a geometric
object in PN that
• lies in the intersection of e hyperplanes, which is a copy of RN −e that we shall
call φ,
• is composed of “rulings” each of which is a copy of Pf , where L̄ ≡ e,
• has an equation of the form xT Qx = 0 in φ, where the rank of Q is c + 2 ≡
N + 1 − e − f.
Then the duality map D maps σ to a geometric object σ̄ in PN that
• lies in the intersection of ē ≡ f hyperplanes, which is a copy of RN −f that we
shall call ψ,
¯
• is composed of “rulings” each of which is a copy of Pf , where f¯ ≡ e,
• has an equation of the form xT Q̄x = 0 in ψ, where the rank of Q̄ is again
c + 2 = N + 1 − ē − f¯.
This is actually a slightly generalized version of what we have discussed above.
However, we will make use only of the results from the prior discussions and hence
will omit the tedious but straightforward proof of this more general result. On the
other hand, this general result is so interesting that such digressions and some further
comments are warranted.
We choose the mnemonics e, f , and c to mean, respectively,
• emptiness: the difference of dimensions between N and that of the minimal
subspace that contains σ ,
• flatness: the “degree of degeneracy” of σ , or more precisely, the dimension of
each flat “ruling” of σ ,
• curvedness: the number of nonvanishing terms in the diagonalized first
fundamental form, properly generalized to objects in higher dimensions.
In view of the identity e + f + c = N − 1 and the above observation, one can say
that emptiness dualizes to flatness and vice versa, while curvedness is unchanged
456 11. Recent Results
by the duality D. Consider again the above elliptical cylinder 4x12 + 9x22 = x02 as
an example. Here e = 0, f = 1, c = 1, and N = 3. For its dual, a circle in P3 ,
ē = 1, f¯ = 0, and c̄ = 1.
As a special case, c = 0 means f + e = N − 1. This corresponds to the
classical duality that a k-flat in PN dualizes to an (N − k − 1)-flat. As another
special case, c = N − 1 means f = e = 0. This corresponds to the classical
duality for nondegenerate quadrics, whose dual is found by inverting its representing
symmetric matrix. The flat duality and the quadric duality in projective geometry
are thus unified in this general duality map D.
We will make use of only the special case e = 0 in later sections, and will
be particularly interested in the most special case e = 0 and c = 1, the class of
developable hypersurfaces.
and
⎛ ⎞
201.3 0 0 0 0 0
⎜ 0 −178.1 0 0 0 0 ⎟
⎜ ⎟
⎜ 0 0 −6.241 0 0 0 ⎟
=⎜ ⎟.
⎜ 0 0 0 0 0 0 ⎟
⎜ ⎟
⎝ 0 0 0 0 0 0 ⎠
0 0 0 0 0 0
In octave, calling the eig() function to compute the eigenvectors and eigenvalues
of Q gives the desired result, except that the order has to be rearranged so that the
nonvanishing eigenvalues appear at the upper left corner.
For the σ̄12345 curve, the transformation matrix for II is
⎛ ⎞
0 1 1 1 1 1
MII = ⎝ 0 0 1 2 3 4 ⎠ .
−1 0 0 0 0 0
⎛ ⎞
−10.573 3.662 11.776
Q̄ = ⎝ 3.662 −1.268 −4.076 ⎠ .
11.776 −4.076 −13.112
We need to find a simple parametric equation for this curve in order to draw its
picture. To this end, we try to write Q̄ as
1 cT f 0 1 0
,
0 V 0 L c VT
where V is a 2 × 2 rotation matrix and c is the translation vector. This can be done
by first diagonalizing the lower-right 2 × 2 block of Q̄:
Q̄ = V LV T
0.297 −0.955 −14.379 0 0.297 0.955
= .
0.955 0.297 0 −0.00133 −0.955 0.297
0.297 −0.955 0.017 cos(t) 0.809
x(t) = + .
0.955 0.297 1.789 sin(t) 0.647
The same technique can be used to find a rigid motion (rotation + translation)
that centers σ at the origin of the new coordinate system and places the axes
of σ aligned with the new axes. Specifically, by decomposing MII as AT BA,
where
⎛ ⎞
1 0 0 0 0 0
⎜ 0.340 −0.010 −0.663
⎜ 0.616 0.294 0.307 ⎟⎟
⎜ 0.137 −0.403 −0.347
⎜ 0.092 −0.119 −0.833 ⎟ ⎟
A=⎜ ⎟
⎜ −1.250 −0.831 0.054 −0.281 0.375 0.295 ⎟
⎝ 3.438 0.384 −0.281 −0.511 0.681 −0.222 ⎠
0.577 −0.010 −0.599 −0.521 −0.543 0.274
and
⎛ ⎞
0 0 0 0 0 0
⎜ −161.8 ⎟
⎜ 0 0 0 0 0 ⎟
⎜ −6.16 ⎟
⎜ 0 0 0 0 0 ⎟
B=⎜ ⎟,
⎜ 0 0 0 0 0 0 ⎟
⎜ ⎟
⎝ 0 0 0 0 0 0 ⎠
0 0 0 0 0 153
Yaron Singer
School of Computer Science,
Tel Aviv University, Israel
[email protected]
and
Ohad Greenshpan
IBM Research Center
Haifa, Israel
[email protected]
11.4.1 Introduction
Large networks impose a challenge in many areas of research, and visualization
plays a major role in analyzing topological traits and large amounts of (associ-
ated) information. Methods such as SeeNet [1], Genius [2], SpectralNet [3] and
approaches suggested by Bolser et al. [4] and McGrath et al. [5] all display a
variety of network visualization techniques in different research areas, dealing with
complexity and data of large-scale networks. Although the intersection between
the disciplines of network topological analysis and multivariate visualization is
not immediate, with the wide spectrum of applications that we have thus far wit-
nessed [6], [7], [8], it is clear that topological network analysis could benefit from
multivariate visualization in general, and -coords in particular. In this chapter
11.4 Network Visualization and Analysis with Parallel Coordinates 461
Extracted Networks
Informally, dynamic networks are networks that are subject to topological change.
We focus on a unique subset of dynamic networks, called extracted networks, which
are defined as follows.
For the network modeled by a directed graph S = (V , E) with nodes
V = {v1 , v2 , . . . , vn } and edges E = {(vi , vj ) ∈ V × V |vi is connected to vj },
let the ith extracted network, denoted by Si , be the original network S without the
node vi and without any edges connected to it. That is,
For example, in Fig. 11.14, the network S and its third extracted network, S3 , are
shown. Transformation of a network with n nodes as above requires producing a set
of extracted networks {S1 , S2 , . . . , Sn }. This set produces an n-dimensional space
as explained in detail below.
462 11. Recent Results
Figure 11.15. Network S whose χ function values are given in Table 11.2.
11.4 Network Visualization and Analysis with Parallel Coordinates 463
Table 11.2.
vi d(vi , v1) d(vi , v2 ) d(vi , v3) d(vi , v4) d(vi , v5) χ value
n
j =1,j =1 d(v1 ,vj ) = 4
1
v1 0 1 1 1 1
n
j =1,j =2 d(v2 ,vj ) = 3
1
v2 1 0 1 2 2
n
j =1,j =3 d(v3 ,vj ) = 3
1
v3 1 1 0 2 2
n
j =1,j =4 d(v4 ,vj ) = 2.5
1
v4 1 2 2 0 2
n
j =1,j =5 d(v5 ,vj ) = 2.5
1
v5 1 2 2 2 0
Why χ? For a node vi ∈ V , note that χ (vi ) depends on the number of nodes
connected to vi and their distances from it; χ monotonically increases with respect
to both centrality and connectivity of the node. Thus, in relation to other nodes in
the network, for a node vi that is connected to a large number of nodes at short
distances, χ(vi ) is high; symmetrically, for a node vj that is connected to a small
number of nodes at large distances, χ (vj ) is low. These properties make the χ
function a favorable candidate for measuring a node’s centrality in the network.
end for
Mij ← χ(vj )
end for
end for
return M
The matrix is then transformed to its equivalent multidimensional representation
by considering each row as an n-dimensional point. With parallel coordinates,
each point is represented as a polygonal line. We obtain visualization with the
networks S1 , S2 , . . . , Sn represented by the multidimensional coordinates system
with first, second, . . . , nth axes respectively. In turn, the nodes v1 , v2 , . . . , vn
are represented by n polygonal lines. Figure 11.16 describes a flow of this
implementation.
NEVIS transforms a network with n nodes into n points in an n-dimensional
space. The n extracted networks serve as the components of the nth dimensional
space, and the nodes’ χ values are transformed into points in that space. The
following section discusses the properties of this transformation and their use in
network analysis.
Topological Significanc
backup. We can think of v3 as having a backup of order 4 (v3 ’s degree) in the sense
that there is another node (v10 ) connected to all of v3 ’s four neighbors ({v6 , v7 , v9 ,
v10 }). Formally, suppose that vi is connected to {v1 , . . . , vr }. We say that vi has a
backup of order k, k ≤ r, if there is at least one node in the network connected to k
of vi ’s neighbors. Clearly a node’s significance in the network highly depends on
its backup order. Study of the drops in the ith axis in NEVIS provides a measure of
vi ’s global significance which considers its backup order.
The ability to measure node significance considering both centrality and its
backup order enables evaluating a node’s impact on the network’s topology in the
network. Since a node can be partially backed up by a set of nodes that are reached
at different distances, the ability to consider a complicated factor such as a node’s
backup makes NEVIS a useful tool.
point below). In this example it is evident that polygonal lines of the same color have
a specified range in which they are subject to change and a complementary range
where they run horizontally. It is easy to see that this property directly derives from
the fact that nodes in the same connected component react similarly to extractions
in the network, influenced only by extractions in the connected component to which
they belong, and insensitive to extractions from other connected components. In this
example we have chosen a specific axis ordering obtained by sorting according to
χ value.
Stability of Nodes
Since the nodes’ χ values are represented by polygonal lines in the NEVIS rep-
resentation, peaks of polygonal lines disclose the corresponding nodes’ centrality
values in instances in which the node extracted has minimal effect. Note that for
a network S = (V , E) as above, it is possible to implement NEVIS as n points
in an (n + 1)-dimensional space by adding the 0th extracted network to S and
thus obtaining visualization of the χ value in S itself. In Figure 11.19, the top
outlier is shown by a red polygonal line, which represents v15 in the network,
with noticeably higher values than the rest of the nodes in the network. This can
be easily verified by observing the node-link diagram. NEVIS orders the poly-
gonal lines, starting from the top, in order of decreasing centrality throughout all
extractions.
Since the axes represent the extracted networks, it follows that polygonal lines
free of dramatic inclines and declines represent nodes that are relatively stable
and immune to node extractions in the network. Note that node stability does not
necessarily correlate with high centrality value. In Figure 11.19, the sharp inclines
and declines of the red polygonal line testify that its corresponding node v15 is
unstable in the sense that its centrality is highly affected by extractions. In contrast,
it can be inferred that v3 is relatively stable by inspecting the yellow polygonal
line by which it is represented in NEVIS. In this case, it is not clear how this can
be deduced by studying the node-link diagram alone. The ability to analyze node
stability in the network can be widely used in network analysis, since it discloses
weak links in the network.
NEVIS reveals the network’s distinct topological properties by mapping them one-
to-one into distinct patterns. Figure 11.20A displays a clique, a graph in which all
the nodes are connected between one another, and Figure 11.20B shows a star, a
set of independent nodes all connected to a single node.
Following a one-to-one transformation between topological properties and pat-
terns in -coords, networks with topological patterns that are almost symmetric are
represented as their almost symmetrical equivalents in NEVIS. Figures 11.21A and
11.21B display networks that are almost a clique and almost a star, respectively.
Comparing the NEVIS representation of the perfect graphs with the almost perfect
ones illustrates this point. This property is very useful in the study of topological
properties in networks. Perfect topological patterns are rare; it is their almost coun-
terparts which are encountered in the real world. We now show how this property
can be used in network study.
data sets in -coords. We display examples of both in this section. Our interest here
is not to offer novel methods for re-scaling networks or reducing large data sets for
visualization, but rather to show how existing methods of these ideas can be applied
in NEVIS.
Matrix Manipulations
We can now view possible simple solutions to deal with large-scale networks uti-
lizing -coords. The need to analyze large networks raises the issue of scalability,
which can be accomplished with -coords. Figure 11.22A displays a node-link
diagram of a network that consists of 100 nodes, and its NEVIS presentation is
represented in Figure 11.22B. Due to NEVIS’s simple construction, selecting a
subset of nodes to be visualized is easy. Recall from Section 11.4.2 that imple-
menting NEVIS requires producing a matrix that represents the nodes’ χ values
throughout extractions. To ignore polygonal lines, we simply replace the values of
their corresponding rows in the produced matrix with −∞. That is, in order to ignore
11.4 Network Visualization and Analysis with Parallel Coordinates 471
Figure 11.21. In A, a network that is almost a clique, and in B an almost star topology.
the vj in the NEVIS visualization, replace the j th row in the matrix returned by
CreateMatrix:
⎛ ⎞ ⎛ ⎞ ⎛ ⎞
x11 ... x1n 0 0 0 x11 ... x1n
⎜ .. .. .. ⎟ ⎜ .. .. ..⎟ ⎜ .. .. .. ⎟
⎜ . . ⎟ ⎜ ⎟ ⎜ . . ⎟
⎜ . ⎟ ⎜ . . .⎟ ⎜ . ⎟
⎜ xj 1 xj n ⎟ + ⎜
⎟ −∞ ⎟ ⎜ −∞ ⎟
⎜ ... ⎜ −∞ ... ⎟ = ⎜ −∞ ... ⎟.
⎜ .. .. .. ⎟ ⎜ .. .. .. ⎟ ⎜ . .. .. ⎟
⎝ . . . ⎠ ⎝ . . . ⎠ ⎝ .. . . ⎠
xn1 ... xnn 0 ... 0 xn1 ... xnn
The results of this procedure are shown in Figure 11.22C. Similarly, it is easy to
reduce a subset of axes from NEVIS by reducing the matrix to represent the desired
axes only. An example of such reduction is shown below. The result of reducing
both polygonal lines and axes is displayed in Figure 11.22D and corresponds to the
matrix
472 11. Recent Results
⎛ ⎞ ⎛ ⎞
x11 ... x1j ... x1n 0 ... −∞ ... 0
⎜ x21 ... x2j ... x2n ⎟ ⎜ 0 ... −∞ ... 0 ⎟
⎜ ⎟ ⎜ ⎟
⎜ .. .. .. ⎟+⎜ .. .. .. ⎟
⎝ . ... . ... . ⎠ ⎝ . ... . ... . ⎠
xn1 . . . xnj ... xnn 0 ... −∞ ... 0
⎛ ⎞
x11 ... −∞ ... x1n
⎜ x21 ... −∞ ... x2n ⎟
⎜ ⎟
= ⎜ .. .. .. ⎟.
⎝ . ... . ... . ⎠
xn1 ... −∞ ... xnn
Figure 11.23. NEVIS applied to a genetic regulatory network with over 3000 nodes.
Only one-fifth of the nodes are shown.
due to this implementation, a wide range of solutions to dealing with large data sets
in -coords can be applied in a simple manner.
Combinatoric Manipulations
Figure 11.23 displays a node-link diagram of a genetic regulatory network of over
3000 nodes. The network shown is a protein regulatory network, modeled by a
directed graph, where proteins are represented by nodes and regulatory interactions
are represented by edges. Clearly, the size of the network raises serious obstacles
in attempts for visual analysis. To obtain visualization of the above network, we
apply NEVIS to the network and show nodes with out-degree greater than zero.
The reasoning here is that nodes with zero out-degree have little effect on χ values
(why?), and visualization in NEVIS does not provide any relevant information.
We thus obtain a visualization of 142 nodes of the network in NEVIS, as shown in
Figure 11.24.
We can now use the properties of NEVIS from the section above to analyze
the network. In this instance a few immediate conclusions can be drawn about the
network. Generally, apart from a few specific instances, the polygonal lines run
relatively horizontally, which testifies that the network is relatively stable. Note
also that there is an area that is clear of polygonal lines. We conclude that no
node receives χ values in that area, and that it may testify to segmentation of
two separate connected components in the network. The horizontal polygonal lines
in the lower values support this hypothesis, similar to the connected-components
474 11. Recent Results
Figure 11.24. Visualization of the 142 nodes in the regulatory network of Figure 11.23 with degree
greater than zero.
example presented in the previous section. Examining the top blue polygonal line,
it is evident that despite its high centrality value, its extraction does not affect
the network’s functionality. Using an interactive tool that enables pointing on
the polygonal line and obtaining its number, we can inspect its extraction effect
on other nodes. Examining the 127th axis, we learn that its extraction does not
affect functionality in the network. Closer study reveals that there are, in fact, two
polygonal lines of maximal χ values that race between one another throughout all
extraction. We assume that this node serves as its backup.
There are four nodes whose extraction has significant effect on the network.
This is manifested in the drops of polygonal lines in the area of the 9th, 15th, 34th,
82nd, 124th axes. This signifies that these nodes are have relatively poor backup in
the network, and their extraction affects the network’s functionality.
This example is applicable to biological networks, the Internet and elsewhere.
Other works on combinatoric reduction of the problem can also be applied as
preprocessing algorithms in a similar manner to reduce the combinatoric problem.
Exercises
1. What is the running time of the CreateMatrix algorithm?
2. Give an example of a connected graph that has horizonal portions in NEVIS.
3. Suppose that for S = (V , E) and some node u ∈ / V we implement NEVIS,
replacing the χ function with the function deg : V ∪ {u} → N defined by
|{w : w is connected to v}|, v ∈ V ,
deg(v) =
−∞, v∈/ V.
11.4 To See C2 475
(a) Apply NEVIS with the deg and χ (not χ0 ) functions on a five-node star
and five-node clique. Any difference? Why?
(b) What would be the motivation to replace deg with χ for topological pattern
identification?
(c) Think of other topological functions under which a star would look the
same as in NEVIS.
4. This question discusses backup order, which has been defined above.
References
[1] Becker, R.A., Eick, S.G., Wilks, A.R., Visualizing network data. IEEE Trans-
actions on Visualization and Computer Graphics (1995), Vol. 1–1; 16–21.
[2] Ciccarese, P., Mazzocchi, S., Ferrazzi, F., Sacchi, L., Genius: A new tool
for gene networks visualization. Intelligent Data Analysis in Medicine and
Pharmacology (IDAMAP) Proceedings (2004).
[3] Forman, J.J., Clemons, P.A., Schreiber, S.L., Haggarty, S.J., SpectralNET–an
application for spectral graph analysis and visualization. BMC Bioinformatics.
2005 October 19; 6:260.
[4] Bolser, D., Dafas, P., Harrington, R., Park, J., Schroeder, M., Visualisation
and graph-theoretic analysis of a large-scale protein structural interactome.
BMC Bioinformatics 2003; 4:45.
[5] McGrath, C., Hardt, D.C., Blythe, J., Visualizing Complexity in networks:
Seeing both the forest and the trees. Connections 25(1):37–41 2002 INSNA.
[6] Keim, D.A., Information Visualization and Visual Data Mining. IEEE TVCG,
7–1, 2002, pp. 100–107.
[7] Shneiderman, B., The Eyes Have It: A Task by Data Type Taxonomy for
Information Visualizations. Proceedings of the 1996 IEEE Symposium on
Visual Languages.
[8] Wegenkittl, R., Loffelmann, H., Groller, E., Visualizing the Behaviour of
Higher Dimensional dynamical systems. Proceedings of IEEE VIS 1997
pp. 119–126.
476 11. Recent Results
11.5 To See C2
Yoav Yaari
School of Mathematical Sciences
Tel Aviv University
Tel Aviv, Israel
[email protected]
Figure 11.27. The lines joining the points (z, 2z) intersect a point.
11.5 To See C2 479
Figure 11.28. The lines joining the points (z, (1 + i)z) do not intersect.
For the representation of f (z) = az, where a is a complex number (but not real),
the lines joining the pairs 3z, az4 are (5(z + taz − tz), 6(z + taz − tz), t). To find
their intersection, we look for points p, q ∈ Z1 (p = q) such that p + tap − tp =
q + taq − tq, with t being their common w coordinate. That is, 1 + ta − t = 0 or
t = 1−a1 , but t must be real; therefore, these lines do not intersect for complex a,
as shown in Figure 11.28.
In addition, the first two boundary values suggest an exponential function g(a, w) =
a L(a,w) , and computing L(a, w) from (11.4) yields
log(1 + (|a| − 1)w)
L(a, w) = , |a| = 1.
log(|a|)
Although the function is undefined when |a| = 1, it is easy to see that it has a limit
as |a| → 1, and we can set L(1, w) = w. This function satisfies the criteria though
it does not have a value for every w. As we know, the log function is defined only
for positive arguments. We conclude that
1
|a| > 1 ⇒ L(a, w) is defined only for w > ,
1 − |a|
1
|a| < 1 ⇒ L(a, w) is defined only for w < ,
1 − |a|
11.5 To See C2 481
which is zero only when a L(a,w) = 0. This is the intersection point we have already
found. A duality between points and linear complex-valued functions exists when
the pairs (z, f (z)) are joined by the curves (also called concho spirals) specified by
(11.5), as shown in Figure 11.29.
The position of the cone’s apex has properties reminiscent of -coords for R2 ,
where the horizontal position of the point representing a line reveals the slope of the
482 11. Recent Results
Figure 11.29. Representing the function f (z) = (1 + i)z by joining the pairs z, f (z) with concho
spirals given by (11.5).
line. Here, the w coordinate of the cone’s apex reveals the absolute value of the slope
rather than the slope itself. The w axis can be divided into three sections, similar to
-coords. A point whose w coordinate is less than 0 corresponds to a slope whose
absolute value is larger than 1, while a w with coordinate greater than 1 corresponds
to a slope with absolute value in the interval (0, 1). It is clear from (11.5) that points
in the interval (0, 1) must be excluded; if they are not, then 0 < 1−|a| 1 < 1 leads to
a contradiction: a < 0.
It was pointed out earlier that duality is obtained as for -coords when the
imaginary parts are zero. On the real axis the origin can be approached in only
two directions. On the complex plane the origin can be reached via an infinite
number of angles, and hence the conditions above pertain to absolute values. A more
11.5 To See C2 483
visual explanation is that a spiral whose cone has its apex between the parallel
planes (where 0 < w < 1) only intersects one of the planes and therefore, it can
not represent a pair in C2 point. For lines with slope having absolute value 1,
the corresponding cone becomes a cylinder with a spiral that looks like a spring
coiling from −∞ to ∞ over w. To clarify further, a line in C2 is represented by a
point in R3 . The four parts (real and imaginary) of (z1 , z2 ) are mapped into three
coordinates of the representing point in R3 . Hence we get information about |a|
rather a. In short, we cannot have a full point-line duality. But what we have allows
us to visualize complex-valued functions.
where
−f
(q)q + f (q) 1
p= ,w = .
1 − f
(q) 1 − |f
(q)|
If f (z) is linear then it is its own complex tangent and therefore is represented
by the same point.
Inversion
Inversion is a common mapping and our first holomorphic function visualization
example. It is defined by
1
f (z) = .
z
In polar coordinates, this is
1 −iθ
f (ρeiθ ) = (ρeiθ )−1 = e ,
ρ
484 11. Recent Results
showing that vector’s absolute value is inverted and the angle is reflected. Actually,
the following variation of inversion is far more interesting:
r2
f (z) = , r ∈ C. (11.7)
z
In order to visualize it, p and w are computed:
r2
f
(z) = − 2
z
q+ q r2 r2
−f
(q)q + f (q) q2
p(q) = =
1 − f
(q) 2
1 + qr 2
2r 2
q 2r 2 q
= = 2
q +r 2
2
q + r2
q2
1 1
w(q) = = .
1 − |f (q)| 2
1 − qr 2
Happily, the resulting surface reveals some properties of the inversion mapping.
The symmetry between z and f (z) in (11.7) is seen in Figure 11.30. It is clear that
2 2
when f (z) = rz , z = fr(z) .
The second observation is that the points (0, 0, 0) and (0, 0, 1) are not part of
the surface but are in the closure of it. These points represent the limit of the surface
tangents as q → 0 and q → ∞. Third, the vertical section of the curve, which
2teiθ for w =
is r 1+t 1 , t ∈ R, consists of two nearly circular arcs. Fourth,
2 e2iθ 1−t −1
a complex r adds a rotation factor to the inversion, causing the surface to rotate
around the w-axis. The r 2 term doubles the angle.
Möbius Transformation
The computation
ad − bc
f
(z) =
(cz + d)2
ad−bc q + aq+b
− (cq+d)2 cq+d bcq − adq + (aq + b)(cq + d)
p(q) = =
1− ad−bc (cq + d)2 − ad + bc
(cq+d)2
acq 2 + 2bcq + bd
=
(cq + d)2 − ad + bc
486 11. Recent Results
1
w(q) =
ad−bc
1 − (cq+d)2
provides the image in Figure 11.31. The ratios of the ovals’ diameters to their
intersecting curves have analytical significance that would take too long to explain
here. Observe that inversion is a specific instance of the Möbius mapping, where
a = 0; b = r 2 ; c = 1; d = 0.
Power Function
The power function f (z) = zn , n ∈ N, is yet another holomorphic mapping for
which we can calculate p and w:
f
(z) = nzn−1
−f
(q)q + f (q) −nq n−1 q + q n (1 − n)q n
p(q) = = =
1 − f
(q) 1 − nq n−1 1 − nq n−1
1 1 1
w(q) =
= = .
1 − |f (q)| 1 − |nq n−1 | 1 − n|q|n−1
We consider at first the cases where n ≥ 2. As can be seen in Figure 11.32, the
surfaces are not symmetric. For w ≥ 1 we get n − 1 cones that all share the same
apex (0, 0, 1). At this point, the derivative of the function is zero. On the opposite
side, where w ≤ 0, the number of cones is the same, but instead of a single apex
they merge into an almost flat disc. This disc gets bigger as w → 0, corresponding
to the function values approaching infinity. The number of cones is actually |n − 1|,
for it is determined by the derivative f
(z) used to construct the picture. Hence, for
inversion, where n = −1, there are two cones. Furthermore, the image of the inverse
function f −1 can actually be obtained from the mirror image of the function, but
this requires some care. Notice that in p(q) there is a q n term, and for 0 < n < 1,
there are n choices for this root. To include all these choices we need to include all
z for 0 < θ < 2nπ. Specifically, in Figure 11.33, n = 1/2 results in a “half-cone,”
which is exactly half the image of its inverse z2 .
(e) Constructing the point of intersection between circle C and line l (given
by two points A and B):
With centers A and B and radius AO and BO, respectively, draw two
arcs.
Case 1. If the two arcs intersect only at point O, the center O lies on
the line AB. The arc centered at A intersects the circle at P and Q, and
the arc centered at B intersects the circle at M and N. Now we have to
find the midpoints of those two arcs PQ and MN on the circle.
Let us find the midpoint of PQ with center O:
From P and Q as centers draw two arcs of radius PO. From O draw
arcs OT and OK equal to PQ, then draw two arcs with TP and KQ as
radii and with T and K as centers intersecting at R. Finally, with OR
as radius draw an arc from T ; it intersects the arc PQ at the midpoint
X, which is also the intersection point of the circle and the line AB. The
same construction has to be done on the arc MN in order to find the other
intersection point X
.
Case 1. OA > 21 · r.
Draw an arc with center A of radius AO; the arc intersects the circle at
two points C and D. Draw two arcs centered at C and D of radius CO;
they meet again at A
, which is the inverse point of A.
Case 2. OA ≤ 21 · r.
Find the point A1 such that OA1 = 2 · OA (as in Exercise 1a).
If OA1 > 21 · r find the inverse A
1 of A1 by Case 1. If OA1 ≤ 21 · r,
we must go on doubling, finding in succession A2 , A3 , . . . , Ap in OA,
where OA2 = 2·OA1 , OA3 = 2·OA2 , . . . , OAp = 2·OAp−1 = 2p ·OA
until OAp > 21 · r. We then find the inverse A
p of Ap , and again double
p times, constructing in succession the points A
p−1 , . . . , A
2 , A
1 , A
,
where OA
= 2 · OA
1 = 2p · OA
p .
Then A
is the inverse of A.
From M and N as centers draw two arcs with radius MO; they again
intersect at point P . The circle with center P and with radius OP is the
inverse circle of C with respect to AB. (Figure 12.6)
(f) Let the lines be given by AB and A
B
. Draw any circle C and by the
preceding method find the inverse circles (with centers T1 , T2 ) of C
with respect to AB and A
B
. These circles intersect at O and Y . The
point X inverse to Y is the required point of intersection, and can be
constructed by the process explained before. That X is the required point
is evident from the fact that Y is the only point that is inverse to a point
of both AB and A
B
. Hence the point X inverse to Y must lie on both AB
and A
B
.
494 12. Solutions to Selected Exercises
Figure 12.9. The rectangle and the square have the same area.
5. To prove that a triangle having two equal angle bisectors is isosceles, it suffices
to prove the following theorem.
Theorem. In a triangle having two different angles, the smaller angle has
the longer bisector.
Proof. In ABC, AE and BD are the angle bisectors with angles ∠B > ∠A.
Draw a circle through the three points A, D, and B that intersects AE at a point
F . The angles ∠DAF and ∠DBF must be equal (i.e., 21 · A), since they subtend
496 12. Solutions to Selected Exercises
the same arc DF. By construction, angles ∠DAB < ∠FBA ⇒ that the arcs
DB < AF ⇒ the chords DB < AF < AE.
The above result is sometimes called the “Steiner–Lehmus theorem.” The
problem was first posed in 1840 by Lehmus to Sturm, who passed it on to
the famous geometer Steiner, who apparently gave the first satisfactory proof.
Papers appeared in various journals in 1842, 1844, 1848, 1854–1864, and many
others since. Henderson wrote surveys in Scripta Mathematica, Vol. 21, 1955,
223–232, 309–312, and there are others. The proofs given are indirect, i.e.,
based on the contrapositive, which has upset some people, though Euclid him-
self used this method of proof extensively. There exist several (60+) different
proofs of this result. The above, after some modifications, is mine. Enjoy!
Exercises on Page 13
1. The line l and point C determine a plane πl in R3 that intersects the hemisphere
in a great circle, c
. This semicircle is the image of the line.
2. Let θ be the angle between two lines, l1 , and l2 , on the plane. The angle
between planes πl1 and πl2 is also θ, and therefore, so is the angle between the
semicircles c
1 and c
2 , which are the images of the two lines on the hemisphere.
3. Circles are mapped to circles. An intersection of a cone with a hemisphere is a
circle.
4. The upper line is called l1 and the other is l2 . Using the ruler draw any other line
l3 . Choose two points, point A on line l1 , point K on line l3 . Draw the segment
AK. The intersection point with l2 is C. Choose another point A
on l1 . Draw
KA
. The intersection with l2 is C
. Draw A
R and continue until it intersects
12.1 Solutions to Exercises in Chapter 2 497
Exercises on Page 16
1. Ideal points satisfy the axioms of points (Axioms 1 + 2):
Exercises on Page 21
A proof for the duals using only the projective 3-space axioms:
1. Two planes are on a line; if they are distinct they are on a unique line according
to Axiom 5.
The dual is: Two points are on a line (Axiom 1).
2. Axiom 4: A plane π and a line
not on π are on a point. Its dual is: A point P
and a line
are on a plane; choose two distinct points P1 , P2 on
; P , P1 , P2
are noncollinear; according to Axiom 2, they are in a plane.
3. The sets of points and lines satisfy the projective plane axioms.
Proof.
1. Any two distinct points A, B on a unique line satisfy Axiom 1.
2. If p, q are distinct lines, there is at least one point on both; there is one
point on both; this satisfies Axiom 3.
3. There are at least three distinct points on any line ⇒ there are two distinct
points on a line; satisfies Axiom 1.
4. Not all points are on the same line. This means that every three
noncollinear points are on a plane; satisfies Axiom 2.
6 12 14 20 6 13 16 19
7 13 15 21 7 10 17 20
4 −→ 5 −→
8 10 16 18 8 11 14 21
9 11 17 19 9 12 15 18
The 6-Point Geometry (31 points):
2 3 4 5 6
7 12 17 22 27 7 13 19 25 31
7 8 9 10 11
8 13 18 23 28 8 14 20 26 27
12 13 14 15 16
1 −→ 2 −→ 9 14 19 24 29 3 −→ 9 15 21 22 28
17 18 19 20 21
10 15 20 25 30 10 16 17 23 29
22 23 24 25 26
11 16 21 26 31 11 12 18 24 30
27 28 29 30 31
7 14 21 23 30 7 15 18 26 29 7 16 20 24 28
8 15 17 24 31 8 16 19 22 30 8 12 21 25 29
4 −→ 9 16 18 25 27 5 −→ 9 12 20 23 31 6 −→ 9 13 17 26 30
10 12 19 26 28 10 13 21 24 27 10 14 18 22 31
11 13 20 22 29 11 14 17 25 28 11 15 19 23 27
Exercises on Page 29
1. Create 24 distinct permutations of four symbols A, B, C, D. According to the
cross ratio,
AC BD
(A, B; C, D) = (B, A; D, C) = (C, D; A, B) = (D, C; B, A) = · ,
BC AD
AD BC
(A, B; D, C) = (B, A; C, D) = (D, C; A, B) = (C, D; B, A) = · ,
BD AC
AB CD
(A, C; B, D) = (C, A; D, B) = (B, D; A, C) = (D, B; C, A) = · ,
CB AD
CA BD
(C, B; A, D) = (B, C; D, A) = (A, D; C, B) = (D, A; B, C) = · ,
BA CD
12.1 Solutions to Exercises in Chapter 2 501
DA BC
(D, B; A, C) = (B, D; C, A) = (A, C; D, B) = (C, A; B, D) = · ,
BA DC
BA CD
(B, C; A, D) = (C, B; D, A) = (A, D; B, C) = (D, A; C, B) = ·
CA BD
⇒ There are six sets of permutations having the same cross ratio values.
2. The cross ratio is invariant under a prespectivity with respect to an ideal point
P∞ :
Given two lines
l1 (A, B, C, D) ∧∞ l2 (A
, B
, C
, D
),
P
P∞ is an ideal point ⇒ AA
BB
CC
DD
.
502 12. Solutions to Selected Exercises
A
B
AB
⇒ =
A
C
AC
A
C
− B
C
AC − BC
⇒
=
AC AC
B
C
BC
⇒1− =1−
A
C
AC
B
C
BC
⇒
= .
AC AC
In the same way, BD B
D
AD = A
D
, so the cross ratio is invariant:
⇒ (A, B; C, D) = (A
, B
; C
, D
).
ABC ∧ A
BC0 ∧ A
B
C
.
R S
(If A and A
coincide, we merely use the perspectivity from S.)
If the two triads are on one line, we use a quite arbitrary perspectivity
ABC∧ A1 B1 C1 to obtain a triad on another line and then relate A1 B1 C1 to
A
B
C
by the above construction.
Lemma 2. A projectivity having more than two invariant points can only be
the identity.58
Proof of Theorem 2. Suppose we are given three points A, B, C of one range
and corresponding points A
, B
, C
of the other. We proceed, as in the proof
of Lemma 1, to construct a projectivity X ∧ X
such that ABC ∧ A
B
C
.
To establish the uniqueness of this projectivity, we have to prove that a different
construction (e.g., by joining AB
instead of BA
) would yield the same X
for
a given X. Suppose one construction gives ABCX ∧ A
B
C
X
, while another
gives ABCX ∧ A
B
C
X1
. Then by combining the two constructions we obtain
A
B
C
X
∧ A
B
C
X1
.
58
H.S.M. Coxeter. The Real Projective Plane, pp. 40–42.
504 12. Solutions to Selected Exercises
O
P
O
∈ n, P
∈ l such that l ∧ m
∧ n gives the projectivity l ∧ n.
AA
∧ BB
∧ CC
.
O P
Let OP intersect n at O
. Since we assumed O, P , l ∩ n = X are not collinear,
O
= X, so O
∈ l. Draw O
A, O
A
, and let them intersect PC, PC
at D, D
, respectively. Now corresponding sides of the triangles ABD and
A
B
D
intersect at O, P , O
, respectively, which are collinear; hence the
lines joining corresponding vertices are concurrent. Thus m1 passes through
the point Y = l ∩ m.
Thus m1 is determined by D and Y , so as A
varies, D
varies along the line
m1 . Thus our original projectivity is equal to the projectivity
O
P
l ∧ m1 ∧ n.
12.1 Solutions to Exercises in Chapter 2 505
l ∧ m
∧ n
Similarly, ABH ∧ A
B
H
, so using Desargues’s theorem again, we find that
X
AH ∩ A
H
= M ∈ PQ. Hence,
∧ h. So we have the original projectivity
M
M N
∧ h ∧ o.
12.1 Solutions to Exercises in Chapter 2 507
Exercises on Page 43
1. Analytic proof for Pappus’s theorem:
Assign homogeneous coordinates as follows:
A1 = (1, 0, 0), A2 = (0, 1, 0), C3 = (1, 1, 1), B3 = (0, 0, 1).
On line A2 C3 choose point B1 = (1, p, 1); on line A1 C3 choose point
B2 = (m, 1, 1).
C1 = A2 B3 ∩ A1 B1 = (0, p, 1),
C2 = A1 B3 ∩ A2 B2 = (m, 0, 1),
1 p 1 1 p 1
B1 C2 = , , = [−pm, 1 − m, p],
m 0 m 1 0 1
0 p 0 1 p 1
B2 C1 = , , = [−pm, −m, p − 1],
m 1 m 1 1 1
A3 = B2 C1 ∩ B1 C2
−pm 1 − m −pm p 1 − m p
= ,
−pm , ,
−pm −m p − 1 −m p−1
Exercise on Page 46
The set of all linear fractional transformations
ax + b
T (x) =
cx + d
with the composition operation form a group.
Proof. Closure property:
y+b1
a ac11y+d +b
T (x) ◦ T (y) = a y+b 1
c c11y+d11 + d
Identity:
1x + 1
∃e= ∈ G : ∀ a ∈ G e ◦ a = a ◦ e = a.
1x + 1
12.2 Solutions to Exercises in Chapter 3 509
Inverse:
a1 x + b1 c1 x + d1
∀a= ∈ G ∃ a −1 = ∈ G : a ◦ a −1 = a −1 ◦ a = e
c1 x + d 1 a1 x + b1
⇒ the projective transformations form a group.
: x2 = mx1 + b,
Choose two arbitrary points on l: A1 = (a1 , ma1 +b) and A2 = (a2 , ma2 +b).
The point A1 is represented in -coords as the line
ma1 + b − a1
Ā1 : x2 = x1 + a 1 .
d
The point A2 is represented in -coords as the line
ma2 + b − a2
Ā2 : x2 = x1 + a2 .
d
The intersection point of these lines is
d b
¯ : , , m = 1.
1−m 1−m
This point is not dependent on a1 and a2 . Therefore, every two points on
are
¯
represented as two lines in the dual plane that always intersect at
.
−1
2. Let us check whether [B A] = I :
k
⎡ ⎤
0 −d −1
B −1 A = ⎣ −d −d 0 ⎦ ∀k ∈ N : [B −1 A]k = I.
0 d 2 0
510 12. Solutions to Selected Exercises
There are some dualities that do not repeat themselves, and this is one of them.
Exercises on Page 61
1. Let us look at the point P (−1, 1) and the line
: y = 2x + 4. The translation of
the origin O to the point (2, 5) is represented in -coords as a rotation. We can
see that the coordinates are moved and rotated to become the dotted ones. The
point P (−1, 1) −→ P
(−3, −4).
The line
: y = 2x + 4 −→
y = 2x + 3.
In -coords
¯ = (−6, −4) −→
¯
= (−6, −3).
The distance d becomes d
:
,
d
= (y1 − x1 )2 + d 2 .
2. Without moving the coordinates, moving only the objects P and
, the reflection
about the x1 and x2 axes:
is reflected to
1 : y = −2x − 4 about the x axis
and to
2 : y = −2x + 4 about the y axis. In -coords,
¯1 = 2, − 43 and
l¯2 = 2, 43 . The point P is reflected to P1 (−1, −1) about the x axis, and to
P2 (1, 1) about the y axis. For -coords this is shown in Figure 12.21.
12.2 Solutions to Exercises in Chapter 3 511
3. The rotation of the axes about the origin by an angle: θ(m = tan(θ))
In -coords,
d
d
X1 = , 0 , X2 = ,0 .
1 − tan(90 + θ) 1 − tan(θ)
4. The composition of the translation of the origin to the point (2, 5) followed by
the rotation of the axes by angle 30◦ yields
P = (−1, 1) −→ P
= (−3, −4) −→ P
= (−4.59, −1.96),
: y = 2x + 4 −→
: y = 2x + 3 −→
: y = 0.659x + 1.6,
¯ = (−6, −4) −→
¯
= (−6, −3) −→
¯
= (17.59, 4.69).
¯ij = (j − i, bi , 1 − mi )
j j
∀i, j ∈ S = (i1 , . . . , iM ); i = j,
¯0k = (k − 1, bk , 1) ∀k ∈ S̃ = (iM+1 , . . . , iN ).
2. Consider the plane
π123 : c1 x1 + c2 x2 + c3 x3 = c0 .
12.3 Solutions to Exercises in Chapter 4 515
c0 c3 + c2 c3 + c2 2c3 + c2 2c3 + c2 c0
L1 = ,
0 1 , 1 0 0 0
c0 c3 + c1 c3 + c1 2c3 2c3 c0
L2 = ,
0 1 , 1 1 1 0
= [c0 , c1 − c3 , −c0 ],
c1 c0
L3 = π123 ∩ π3 #⇒ c1 x1 + c2 x2 = c0 #⇒
12 : x2 = − x1 + ,
c2 c2
¯12 = (c2 , c0 , c2 + c1 ) and
¯03 = (2, 0, 1) (const.),
c0 c2 + c1 c2 + c1 c2 c2 c0
L3 = , ,
0 1 , 1 2 2 0
L1 ∩ L2 = π̄123
2c + c2 0 0 −c0 −c0 2c3 + c2
= 3 , ,
c 1 − c3 −c0 −c0 c0 c0 c1 − c3
516 12. Solutions to Selected Exercises
= (2c3 + c2 , c0 , c1 + c2 + c3 ),
L1 ∩ L3 = π̄123
2c + c2 0 0 −c0 −c0 2c3 + c2
= 3 ,
−2c0
,
c0
2c1 + c2 −2c0 c0 2c1 + c2
= (2c3 + c2 , c0 , c1 + c2 + c3 ),
L2 ∩ L3 = π̄123
c − c3 −c0 −c0 c0 c0 c1 − c3
= 1 , ,
2c1 + c2 −2c0 −2c0 c0 c0 2c1 + c2
= (2c3 + c2 , c0 , c1 + c2 + c3 )
3. Algorithm for determining the point
¯ij , for any distinct pair i, j of a line
given all the points
¯i−1,i , i = 1, 2, . . . , N:
Complexity: O(N).
4. For lines where some of the m’s are close to 1 we make a transformation of
variables xi
= ei xi , where ei = 1 ∀i ∈ S̃ (for the constants). For the variables
in S the linear equation is
j
ij : xi = mi xj + bj .
12.3 Solutions to Exercises in Chapter 4 517
The remaining ei are developed recursively. Starting at the root index i, set
ei = 1 and visit the remaining nodes in order, setting ej = +1 to ensure that
the slope m
i of the line
j
ij : xi = m
i xj + bj
is negative. Here m
i = ei ej mi and bj
= ei bj . Since the slope is negative, it
j j
follows that
¯
ij is between X̄i−1 and X̄j −1 .
Exercises on Page 86
1. (a) For the example, choose as a start variable x1 .
518 12. Solutions to Selected Exercises
X1 −4 2 1 3 2 1 0 0
X2 2 2 1 4 7.5 2 1 2
X3 −3 3 1 5 2.4 −0.7 1 1
X4 −1.6 2 3 9 6 −1 0 0.8
X5 1.5 −2.5 5 8 5.5 0.25 1 − 76
X6 −2 −2 0 2 1 2 1 −2
X7 −0.5 −0.5 0 6 5 −2 1 −0.5
X8 −1 3 0 7 6 −0.5 1 2
3
X9 −4 2 0
(d)+(e) Find
¯
and the points P1
and P2
in the x
system:
x1
−4 2 1 3 1 −0.5
x2
2 2 1 4 1.87 −0.25
x3
3 −3 1 5 2.4 −0.7
x4
2 −1.6 3 9 3 1.5
x5
1.5 −2.5 5 8 5.5 0.25
x6
−2 −2 0 2 1 2
x7
−0.5 −0.5 0 6 5 −2
x8
−1 3 0 7 6 −0.5
x9
−4 2
520 12. Solutions to Selected Exercises
Output: if N is even, N2 × (N) matrix (called “Permut [i] [j ]”), if
N is odd, N2 + 1 × (N) matrix; every line in the matrix is
a permutation.
k=1
Permut[1][k]=dequeue-head
Permut[1][k++]=dequeue-head
while the queue is not empty do
Permut[1][k++]=dequeue-head
Permut[1][k++]=dequeue-tail
if N is even
for i=2 to N2
for j =1 to N
Permut[i][j ]=Permut[i − 1][j ]+1 (mod N)
if N is odd
for i=2 to N2 + 1
for j =1 to N
Permut[i][j ]=Permut[i − 1][j ]+1 (mod N)
(c) Research problem.
(d) Research problem.
2. Given three noncollinear points in R3 , an algorithm for constructing a set of
planar coordinates for the plane determined by the three points A, B, C is as
follows:
i. First check whether one of the lines AB, BC, AC lies on one of the principal
2-planes; if so, this line determines a planar axis y 1 . In order to determine
522 12. Solutions to Selected Exercises
the other planar axis, assume that AB lies on x2 x3 and determine y 1 , and
AC intersects plane x1 x2 at a point D; AB intersects x1 at E, so the other
planar axis y 2 is determined by DE.
ii. If two lines already lie on the principal 2-planes, they define both planar
axes.
iii. If the three points have one common coordinate, for example, they have
the same x3 , it means that the plane is parallel to the x1 x2 plane; find the
point of intersection of the lines AB, AC, BC with the planes x1 x3 and
x2 x3 to obtain four points: G and F on x1 x3 determine y 1 , and D and M
on x2 x3 determine y 2 .
iv. Otherwise, if the points A, C determine the line
and B, C determine
the line
, the points are not collinear; therefore
¯ıj and
¯
ıj are not
coincident. Find the intersecting points of
and
with the x1 x2 plane
(points E and D) and with the x2 x3 plane (points F and G). The lines DE
and FG determine the y 1 and y 2 axes respectively. In parallel coordinates
1 and Ȳ 2 , which complete the representation of the
we get the points Ȳ12 23
plane determined by A, B, and C.
3. Given a plane π parallel to one of the orthogonal axes, for example to the axis
x3 , an algorithm for constructing planar coordinates for the plane π, assuming
π x3 , is as follows:
Then π
is determined by y 1 and y
2 .
12.4 Solutions to Exercises in Chapter 5 523
5. Here is an algorithm for determining the intersection line of two planes: given
two planes π and π
with their planar coordinates y 1 , y 2 and y
1 , y
2 , find the
intersecting points P1 = y 1 ∩ y
1 and P2 = y 2 ∩ y
2 ; the intersection line
is
determined by P1 and P2 . For a different construction, see Section 5.3.4.
6. Given a plane π and a line
, here is an algorithm for determining whether
⊂ π: in -coords π is represented by two axes Ȳ 1 and Ȳ 2 ;
is represented by
two points
¯12 and
¯23 . If
⊂ π, then
can be represented, relative to the planar
coordinates y 1 y 2 , by a single point η12 . Let P1 =
∩ x1 x2 , P2 =
∩ x2 x3 ; in
-coords connect the intersections of P1 with Ȳ 1 and Ȳ 2 with a straight line;
the same is done with the intersections of P̄2 with Ȳ 1 and Ȳ 2 . The intersection
of these two straight lines is the point η12 . If the three points
¯12 ,
¯23 , η12 are
collinear, then
⊂ π.
7. Given a plane π and a point P , here is an algorithm for determining whether
P is below or above π:
, then P is above π .
524 12. Solutions to Selected Exercises
, then P is above π.
iii. If π is parallel to one of the principal 2-planes, assume π x1 x3 ; let
A be the origin of y 1 y 2 . If the x2 coordinate of P̄ is higher than the x2
coordinate of Ā, then P is above π.
We see that
P = PA ∩ = PB ∩ = PA ∩ PB ∩ .
is represented by
π : (x3 − m3 x2 − b3 ) + k(x2 − m2 x1 − b2 ) = 0.
12.4 Solutions to Exercises in Chapter 5 527
Proof.
Every containing
contains the points (0, b2 , m3 b2 + b3 )
plane
b2
and − m2 , 0, b3 and another general point (e, f, g). We find that π is
represented by
f m3 + b 3 − g m3 b2 − g + b3 + em2 m3
m2 x1 − x2 +x3
b2 − f + em2 b2 − f + em2
m3 b2 − g + b3 + em2 m3
+ b2 − m3 b2 − b3 = 0.
b2 − f + em2
Let
g − f m3 − b3
K= .
b2 − f + em2
Then
1
1
ȳ12 = (k − m3 , kb2 + b3 , k − m3 − km2 ),
⇒ Ȳ :
1 = (2, 0, 1).
ȳ03
N1 = P̄1 ∩ Ȳ 1 = ȳ12
1
= (k − m3 , kb2 + b3 , k − m3 − km2 ),
+ km2 b3 m3 − k 2 m2 b3 ,
Let
M1 = P̄2 ∩ Ȳ 1 = (k − m3 , b2 k − b2 m3 , k − m3 − km2 ),
M2 = P̄2 ∩ Ȳ 2 = ȳ23
2
= (2 + k − m3 , b3 + kb2 , 1 + k − m3 ).
+ k 2 m2 b2 + km2 b3 ,
− m3 + km2 m3 + k − 2km2 − k 2 m2 ,
This page intentionally left blank
12
Alphabetic
Symbols
General
∈ belongs to
such that
∃ there exists
∀ for all
⊂ subset of
∪ set union
∩ set intersection
p p
projectivity between the lines p and p
df
dx derivative of f with respect to x, also written as f
(x)
∂ boundary of a region
∂F partial derivative of F with respect to xi , also denoted Fxi
∂xi
and when context is clear, Fi
∇F gradient of F
Bibliography
[1] A.E. Abbot. A Romance of Many Dimensions. Dover, New York (originally
published in 1884 as ‘Flatland by A Square’, Seeley & Co., London), 1992.
[2] N. Adrienko and G. Adrienko. Constructing Parallel Coordinates Plots for
Problem Solving. in Proc. 1st Inter. Symp. on Smart Graphics, A. Butz,
A. Krueger, P. Oliver and M. Zhou (eds.), ACM Press 9–14, New York,
2001.
[3] C. Ahlberg and B. Shneiderman. Visual Information Seeking: Tight Cou-
pling of Dynamic Query Filters with Starfiel Displays. Proc. CH94 Conf.,
313–317, ACM Press, New York, 1994.
[4] D. Asimov. The grand tour: A tool for viewing multidimensional data.
SIAM J. Sci. & Stat. Comp., 6:128–143, 1985.
[5] T. Avidan and S. Avidan. Parallax – a data mining tool based on parallel
coordinates. Comput. Statit., 13–1:65, 1998.
[6] S. Axelson. Understanding Intrusion Detection Through Visualization.
Ph.D. Thesis, CS Dept. Chalmers Univ., Gotesborg, Sweden, 2005.
[7] F. Ayres Jr. Projective Geometry. Shaum’s Outlines on Math., McGraw-
Hill, New York, 1967.
[8] T.F. Banchoff. Beyond the Third Dimension. Scientific American Library,
New York, 1990.
[9] E.W. Bassett. Ibm’s ibm fix. Industrial Computing, 14(41):23–25, 1995.
[10] A.F. Beardon. The Geometry of Discrete Groups. Springer-Verlag,
New York, 1983.
[11] B. Bederson and B. Shneiderman. (eds.) The Craft of Information Visu-
alization: Readings and Reflection . Morgan-Kaufman, San Francisco,
2003.
[12] J. Bergen, J. Borwein and P. Borwein. Pi: A Source Book. Springer-Verlag,
New York, 1997.
[13] M. Berger. Geometry I & II. Corrected second printing, Springer-Verlag,
New York, 1994.
[14] J. Bertin. Sémiologie Graphique. First pub. 1967, Ecole des Hautes Etudes
en Science, Paris, 1999.
536 Bibliography
[15] D.M. Bloom. Linear Algebra and Geometry. Cambridge University Press,
Cambridge, 1979.
[16] B. Bollobas. Graph Theory. Springer-Verlag, New York, 1979.
[17] V.G. Boltyanskii. Envelopes, R.B. Brown, translator (original in Russian).
Pergamon Press, New York, 1964.
[18] M.F. Brannan, D.A. Esplen and J.J. Gray. Geometry. Cambridge University
Press, New York, 1999.
[19] O.S. Brodetsky. A First Course in Nomography (fi st published in 1920).
G. Bell and Sons, London, 1949.
[20] S. Bulthoff and H.H. Edelman. Psychophysical support for a two-
dimensional view interpolation theory of object recognition. Proc. Nat.
Acad. Sci., 89-Psychology: 60–4, 1992.
[21] J. Canny and J. Reif. New Lower Bound Techniques for Robot Motion
Planning Problems, in Proc. of 28th Symp. on Found. of Comp. Sci. IEEE
Comp. Soc., Washington, D.C., 1987.
[22] S. Card, J. MacKinlay and B. Shneidermanm. (eds.) Readings in
Information Visualization. Morgan Kaufman, San Francisco, 1999.
[23] A. Chatterjee. Visualizing Multidimensional Polytopes and Topologies for
Tolerances. Ph.D. thesis, Dept. Comp. Sci., Univ. of S. Calif., 1995.
[24] A. Chatterjee, P.P. Das and S. Bhattacharya. Visualization in linear pro-
gramming using parallel coordinates. Pattern Recognition, 26–11:1725–36,
1993.
[25] C. Chen. Information Visualization: Beyond the Horizon, 2nd ed. Springer,
New York, 2004.
[26] C.H. Chen. Generalized association plots for information visualization: The
application of the convergence of iteratively formed correlation matrices.
Statistica Sica, 12:1–23, 2002.
[27] C.H. Chen and J.A. Chen. Interactive diagnosis plots for multidimensional
scaling with applications in psychosis disorder data analysis. Statistica
Sica, 10:665–691, 2000.
[28] E.H. Chi. A Framework for Visualizing Information. Kluwer, Amsterdam,
2002.
[29] H. Choi and H. Lee. PCAV: Internet Attack Visualization in Parallel
Coordinates, LNCS 3783, 454–466. Springer-Verlag, New York, 2005.
[30] T. Chomut. Exploratory Data Analysis in Parallel Coordinates. M.Sc.
thesis, Dept. Comp. Sci., UCLA, 1987.
[31] S. M. Cohan and D.C.H. Yang. Mobility analysis in parallel coordinates.
J. Mech. & Mach., 21:63–71, 1986.
Bibliography 537
[166] D.J. Struik. Lectures on Classical Differential Geometry 2nd. Ed. Dover
(Addison-Wesley 1961), New York, 1988.
[167] D.F. Swayne, D. Cook and A. Buja. XGobi: Interactive Dynamic Graphics
in the X Window System. JCGS, 7–1, 113–130, 1998.
[168] D.F. Swayne, (T. Lang) Duncan, A. Buja and D. Cook. Ggobi: evolving
from Xgobi into an extensible framework for interactive data visualization.
J. of Comp. & Graph. Stat., 43:423–444, 2003.
[169] J.L. Synge and A. Schild. Tensor Calculus, 2nd ed. University of Toronto
Press, Toronto, 1956.
[170] V. Tontodonato. Symbolic Objects Representation, Ph.D. thesis. Dept. of
Math and Stat., Univ. Federico II, Napoli, 2002.
[171] M. Tory, S. Potts and T. Moller. A parallel coordinates style interface for
exploratory volume visualization. Trans. on Vis. & Comp. Grap., 11–1:
71–80, 2005.
[172] E.R. Tufte. The Visual Display of Quantitative Information. Graphic Press,
Connecticut, 1983.
[173] E.R. Tufte. Envisioning Information. Graphic Press, Connecticut, 1990.
[174] E.R. Tufte. Visual Explanation. Graphic Press, Connecticut, 1996.
[175] L.A. Tweedie, R. Spence, H. Dawkes and Su H. Externalizing Abstract
Mathematical Models, Proc. CHI, Vancouver, Can., 406–412. ACM Press,
1996.
[176] A.R. Unwin. Requirements for interactive graphics software for exploratory
data analysis. Comp. Stat., 14:7–22, 1999.
[177] A.R. Unwin, M. Theus and H. Hofmann. (Eds.) Graphics of Large Datasets.
Springer, New York, 2006.
[178] F.B. Viegas, M. Wattenberg and D. Kushal. Studying Cooperation and Con-
flic between Authors with history flo Visualizations in Proc. of SIGHCI on
Human Factors in Computing Systems, 575–582. ACM Press, New York,
2004.
[179] R.J. Walker. Algebraic Curves. Springer, New York, 1978.
[180] W.A. Walker. What is a point of inflection? Amer. Math. Monthly, 63:
182–183, 1956.
[181] M.O. Ward. XmdvTool: Integrating multiple methods for visualizing multi-
variate data, Proc. IEEE Conf. on Vis., CA, 326–333. IEEE Comp. Soc.,
Los Alamitos, CA, 1994.
[182] C. Ware. Information Visualization: Perception and Design, 2nd ed.
Morgan Kaufman, San Francisco, 2004.
546 Bibliography
Index