Post on 04-Jun-2018
transcript
8/13/2019 Ghosh Support Functions
1/25
COMPUTER VISION AND IMAGE UNDERSTANDING
Vol. 72, No. 3, December, pp. 379403, 1998
ARTICLE NO.IV980674
Support Function Representation of Convex Bodies, Its Applicatio
in Ge o met ric Co mput ing , an d So me Rela te d Represent a tions
Pijush K. Ghosh and K. Vinod Kumar
National Centre for Software Technology, Gulmohar Cross Rd. No. 9, Juhu, Mumbai 400 049, India
Received March 26, 1997; accepted December 29, 1997
The importance of the support fun ctionin representation, manip-
ulation, and analysis of convex bodiescan indeed be compared with
hat ofthe Fouriertransform in signal processing. The support func-
ion, in intuitive terms, is the signed distance of a supporting plane
of a convex body from the origin point. I n this paper we show that,
ust as simple multiplication in the Fourier transform domain turnsout to be the convolution of two signals, similarly simple algebraic
operations on support functions result in a variety of geometric op-
erations on the corresponding geometric objects. In fact, since the
support function is a real-valued function, these simple algebraic
operations are nothing but arithmetic operations such as addition,
subtraction, reciprocal, and maxmin, which give rise to geometric
operations such as Minkowski addition (dilation), Minkowski de-
composition (erosion), polar duality, and unionintersection. Fur-
hermore, it has been shown in this paperthat a number of represen-
ation schemes (such as the Legendre transformation, the extended
Gaussian image, slope diagram representation, the normal trans-
form, and slope transforms), which ap pear to be very disparate atfirst sight, belong to the same class of the support function represen-
ation. Finally, we indicatesome algebraic manipulations of support
functions that lead to new and unsuspected geometric operations.
Supp ort function like representations fornonconvex objects are also
ndicated. c 1998 Academic Press
Key Words: support function; convexity; shape representation
and analysis; polar body; mathematical morphology; Legendre
ransformation; Fourier transform.
1. INTRODUCTION
The significant role that a convex body plays in shape descrip-
ion and analysis (in fields such as computer vision, graphics,
and image processing) does not require any elaboration. Not
only does the domain of convex bodies provide a suitable space
for theorizations and experiments, but one also notices that even
n dealing with a complex geometric object, the most frequently
adopted technique is either to approximate it by a convex object
or to decompose it into a union of convex constituents. Obvi-
ously the representations and manipulations of convex bodies
remain foremost issues in computer vision, graphics, and other
related fields.
In classical mathematics the most widely used represen
scheme for convex bodies is the support function represen
[3, 13, 29]. It was introduced by Minkowski in 1903, an
been extensively studied by mathematicians thereafter.
The representation scheme goes as follows. Let A
a convex body (i.e., nonempty compact convex set) in th
Euclideand-dimensional spaceRd. Thesupport function
v) ofA for all vRd (providedv= 0; i.e.,v is an arbitrary
different from the origino) is given by
H(A, v) = sup{a, v | a A},
where sup stands for supremum or least upper boun
a, v denotes the inner/scalar product of two vectors a
(the inner product is also denoted by other notations such
or in matrix form asaTv, etc.).
Since H(A, v) = H(A, v) for any real number >
support function H(A, v) is completely determined by its
on the unit sphere v = 1, where v denotes the Euc
norm of the vector v (i.e., v = (v, v)1/2). Thus, if
notes a unit vector (i.e., u Sd1, where Sd1 is the unit
in Rd with center at the origin), it is most convenient
the function H(A, u) as the support function of A. H
is a complete representation of the convex body A, sin
values of H(A,u) for all u Sd1 completely specify A
that
A = {x Rd | x, u H(A, u) for allu Sd1},
which, in words, meansAis the intersection of all the half
x, u H(A,u).
Although a large part of the theory of convex bodies in
ematics usesH(A,u) as the standard representation of a c
body A, in the fields of computer vision, graphics, or
processing the use of the support function representation
quite limited. Oneprimary reason is that (i) the functionH
is, in general, a continuous function ofu, whose closed
specification may not be readily available. It is, therefo
lieved that such a representation is not computationally c
nient in most of the situations. (ii) In addition, it appears th
8/13/2019 Ghosh Support Functions
2/25
380 GHOSH AND KUMAR
H(A,u)-representation is less intuitive than the boundary repre-
entation or halfspace representation of convex bodies. (iii) We
must also mention that a number of representation schemes
hat are currently in vogue in the vision- and graphics-related
fields are nothing but slight variants of the support function rep-
esentation, though they cannot be immediately recognized as
uch.
In this paper, after presenting the preliminaries on support
unction representation, we first attempt to show that the repre-
entation is not as nonintuitive as it seems at first sight
Section 2). We then show that thesupport function representa-
ionof convex bodies can be very effectively used in computing
variety of geometric operations within a single framework. The
dea of a single framework is to establish that such geometric
operations are nothing but simple algebraic transformations of
he support functions of the operand objects (Section 3). The
upport function, it is shown, can be viewed not as a single
epresentation, but one of a classof representation schemes. A
number of other representation schemes for convex curves and
bodies, which may appear quite dissimilar, can be establishedas schemes that belong to the same class (Section 4). One more
eature of support function representation, though not reported
adequately in the paper, is also mentioned. We notice that some
of the algebraic manipulations of support functions indicate in-
eresting but, to the best of our knowledge, hitherto unknown
geometric operations (Section 5). It also appears that we can
devise support function-like representations for geometric ob-
ects which are nonconvex.
Remark. (1) It is beyond the scope of this paper to point
out, even briefly, the specific application areas where the sup-
port function class of representations have already been in use.
Apart from the shape representation application, the other areas
nclude the Hough transform in image processing [31], grasps
or probes in the realm of robotics [15, 31], convex hull, intersec-
ion, and such operations in computational geometry, interpre-
ation of deforming shapes in high-level vision [23], morpho-
ogical operations in mathematical morphology [30], offsetting
n CAD, Steiner symmetral in medical CAT scanning [9], and
o on. The reader may get a glimpse of such applications from
he rest of the paper. (2) Various geometric computations by
means of support functions become particularly remunerative
because of its rich theory already available in mathematics.n this paper we make use of the classical results whenever
needed.
Note. For indicating a vector or a point we use bold letters
uch asu,v,x, while capital letters such as A,B,Xare used to
ndicate a set (of points) in a vector space. Though in most of
he places we use Greek letters for real numbers (scalars), we,
or pragmatic reasons, are not consistent. For example, the coor-
dinate of a point x in R2 is denoted by the conventional (x ,y)
notation, though x ,y are real numbers. To avoid any confusion
most of the notations are described wherever they are being used
n our presentation.
2. SUPPORT FUNCTION REPRE SENTATION
SOME PRE LIMINARIE S
2.1. A Support Function Is Signed Distance
If H(A,u) < (this condition ensures that A is bo
then the point set
L(A,u) = {x Rd
| x,u = H(A,u)}
is obviously the supporting hyperplane ofAwith outwar
normalu. (Notice that the supporting hyperplane also sp
a halfspace defined by x,u H(A,u).) In R2, for ex
a supporting hyperplane becomes a supporting line of
outer normalu (Fig. 1). It is easy to see that the support fu
H(A,u) is precisely the signed distance from the o
to the supporting hyperplane L(A,u). This distance i
considered positive if A and the origin lie on the sam
of the supporting hyperplane, negative if A and the ori
separated by the supporting hyperplane, and zero if the
lies in the supporting hyperplane.
Note. It is, therefore, convenient for all practical pu
to assume that the origin lies in the interior of A, so t
function H(A,u) is positive for every u.
To provide examples we consider three simple 2D c
figuresa unit circle having its center at the origin, a tr
and an ellipse, and show their correspondingH(A,u)s in
Notice that for the unit circle whose center is ato, H(A,
for allu. In fact, for some simple convex bodies one may
closed-form representations of their support functions:
1. For a singleton point set {a} inRd,H({a},u) = a,2. For a ball B having radius and center o,H(B
u,u = .
3. For a line segmentL abjoining pointsa and b,H(L amax( a,u, b,u ).
2.2. From Support Function Representation to Boundar
Representation and Vice Versa
Support function to boundary points. Assume that t
port function H(A,u) of a convex body A is given
FIG. 1. The support functionH(A, u) is the signed distance from or
the hyperplaneL (A, u).
8/13/2019 Ghosh Support Functions
3/25
SUPPORT FUNCTION REPRESENTATION OF CONVEX BODIES
FIG. 2. The support function representation of some typical convex figures; since inR2 a unit vectoru = (cos , sin ), it is specified in the graph by the
in radians) along thex -axis and the corresponding value ofH(A,u) along the y -axis.
8/13/2019 Ghosh Support Functions
4/25
382 GHOSH AND KUMAR
uSd1. How do we determine the boundary points ofA? We
answer this question by following the approach given in [3].
The boundary points ofAwhere the outer normal is either u
or parallel tou is precisely the set of points
F(A,u) = L(A,u) A. (4)
F(A,u) is termed the face of A having outer normal u (see
Fig. 1). Obviously, the dimension ofF(A,u) is at mostd 1.
Now let uk be some fixed direction and F(A,uk) be the
ace of A having the outer normal uk. Our task is to deter-
mine F(A,uk). Since F(A,uk) is a subset of the supporting
hyperplane L (A,uk), for any pointx F(A,uk) it must satisfy
because of Eq. (3))
x,uk = H(A,uk). (a)
Moreover, F(A,uk) is a subset of the convex body Atoo. So a
pointxofF(A,uk) must also satisfy, for allu, all the following
nequalities (see Eq. (2))
x,u H(A,u). (b)
Now ifw is a unit vector in an arbitrary direction andu =uk +
w, where > 0, then using Eqs. (a) and (b) we can write,
x,w H(A, uk+ w) H(A,uk)
. (c)
Therefore, letting 0,
x,w Hw(A,uk), (5)
where Hw(A,uk) is the directional derivative of H(A,u) at
u=uk, in the direction of the unit vector w. (On the question
of the existence of the directional derivatives we refer the reader
o [29], pp. 25 and 40.)
If we consider all thews (i.e., unit vectors in all directions),
hen the inequalities of Eq. (5) represent the intersection of the
corresponding halfspaces, and that intersection is precisely the
aceF(A,uk).
Thus one arrives at the following proposition.
PROPOSITION 1. If H(A,u)is the support function of a con-
vex body A, then the face F(A,uk) of A having the outer normal
ukhas the support function Hu(A,uk), i.e.,
Hu(A,uk) = H(F(A,uk), u).
According to Proposition 1, the support function ofF(A,uk)
canbe determined if the support functionH(A,u) ofA is known.
Notice that F(A,uk) is itself a convex body of dimension at
most d 1. Therefore, by repeated application of the directional
derivative one eventually (after at most dsteps) reaches a face
whose dimension is zero; i.e., the face is a singleton point set.
The support function H({x}, u) of a singleton point
is simply x,u. If the coordinates of the pointx = (x1,x
xj , . . . ,xd) andu = (u1, u2, . . . , u j , . . . , ud), then
xj =H({x},u)
u j,
where H/u j denotes a partial derivative of Hwith
tou j .
Remark. The procedure givenabove to determinethe
ary points from the support function is for general convex
in a d-dimensional space. But for 2- or 3-dimensional bod
procedure reduces to much simpler ones. For example, (1
outer normal directions of two adjacent edges of a conve
gon are u1 and u2, then the intersection of the corresp
supporting lines L(A,u1) and L(A,u2) (whose equatio
be obtained by using Eq. (2)) gives the vertex ofAat wh
two edges meet. (2) Almost similar consideration follow
convex polyhedron too, where the intersection of the supp
planes corresponding to two adjacent facets (i.e., 2-dime
faces or planar faces of a polyhedron) determine their co
edge line, and so on. (3) The procedure turns out to be
ularly simple for convex bodies whose boundaries ares
(For a formal definition of a smooth boundary, note that
porting hyperplane L(A,u) is called regularif it has on
point in common with A; i.e., the corresponding face F
is a single point. If Ahas only regular supporting hyper
we say that the boundary of A is smooth.) For such sm
boundary convex bodies, it is easy to derive the followi
cedure which we state as a proposition.
PROPOSITION2. If a convex body A has only regular su
ing hyperplanes, then
xj =H(A,u)
u j
holds for the coordinates of each of its boundary points
From boundary points to support function. H(A,u)
obtained using Eq. (1). Clearly, instead of using every
a A, it is sufficient to consider only the boundary poin
there.
2.3. Support Function Transforms a Line into a Point
In this section we shall confine ourselves in R2 (i.e
dimensional convex figures), though the approach is eas
tendible to higher dimensions. In higher dimensions the c
of line has to be replaced by hyperplanes.
Theprinciple of duality between points and lines inR2
essentially consists of transforming a line into a point, ha
used very extensively from the classical projective geom
the Hough transform in image processing. It is also kno
the support function of a convex polygon provides one
transformation of this kind.
8/13/2019 Ghosh Support Functions
5/25
SUPPORT FUNCTION REPRESENTATION OF CONVEX BODIES
FIG. 3. Transforming a line into a point: (a) the coordinates of the vertices of A are (2, 5), (6, 1), (1, 5), (4, 3), (5, 3) in the x y-space; (b)
-space (i.e., plot ofalongx -axis and along y -axis) where a line becomes a point and a point becomes a sinusoidal curve; (c) A in thest-space (i.e.,
alongx -axis andtalong y -axis) where again a line becomes a point but a point becomes a circle; (d) the transformation of the point (3, 2) (in the x y-spac
circle in thest-space.
-space. Consider a convex polygon A in the Cartesian
coordinate system (Fig. 3a). Since a pointis the primitive entity
n this system, it is generally referred to as the point coordinate
space. However, since the coordinate of a pointxin this system
s conventionally denoted by (x ,y) in R2, we shall simply call
t the x y-space. For each edge of Athere is only one support-
ng line, and, if the outer normal direction of an edge ei is uihen the equation of the corresponding supporting lineL (A, ui )
would be (refer to Eq. (3)) x, ui = H(A, ui ). Since H(A, ui )
s nothing but the distance from the origin oto the edgeei (refer
o Section 2.1), we may follow a more conventional notation
i to denote this distance, i.e., H(A, ui ) = i . Note that, in the
2-dimensional space a unit vectoruS1 is uniquely deter
by the angle between the positive x -axis andu(varie
0 to 2 radians), i.e.,u = (cos , sin ).Therefore, the eq
ofL (A, ui ) (see Fig. 3a) can be expressed as
xcos i + ysin i = i .
(Equation (6) is sometimes referred to as the normal eq
of a straight line.)
If we now consider a new coordinate system having
values as its axes, the line L(A, ui ), which is comp
specified by i and i , will be represented as a point i
8/13/2019 Ghosh Support Functions
6/25
384 GHOSH AND KUMAR
pace having the coordinate (i , i ) (Fig. 3b). Let us refer to
his space as the -space, or, more generally, as the support
function space. Obviously, a point in the x y-space will be trans-
ormed into a sinusoidal curve in the -space. The reason is,
f (xi ,yi ) is the Cartesian coordinate of some point, say of the
vertex vi of A, then its support function H({vi },u) is vi ,u.
Using the conventional notations H({vi },u) = , vi= (xi ,yi ),
andu = (cos , sin ), we can write
=x icos +yisin = sin(+ ), (7)
where = (x 2i +y2i)
12and = tan1(xi /yi ).Equation(7),which
s clearly a sinusoidal curve, is the representation of the point
xi ,yi ) in the -space. To sum up, a convex polygon Ain the
x y-space transforms in the -space into a sequence of sinu-
oidal curves representing its vertices and the intersection point
between two consecutive sine curves representing the respective
edges ofA(Fig. 3b).
In the same way we may argue out the representations of a
circle, ellipse, etc. in the -spaces which have been depictedearlier in Fig. 2.
st-space. A slight variation of the-space will be of use
o us in the future. Essentially it is apolar transformationof the
-space. Let
s = cos , t= sin . (8)
Assuming a system having the coordinate axess and t, respec-
ively, we can conceive of the st-space. In thest-space the line
given by Eq. (6) is being represented again as a point having co-ordinatessi= icos i and ti = isin i (Fig. 3c). On the other
hand, a point is transformed into a circle. To see this, use Eq. (8)
o write = (s2 + t2)12 and = tan1(t/s), and substitute these
values into Eq. (7) which, after simplification, reduces to
s
xi
2
2+
tyi
2
2=
x 2i +y2i
2
2
. (9)
Equation (9) states that a point (xi ,yi ) in thex y-space is trans-
ormed in the st-space into a circle whosecenter is at (xi /2,yi /2)and the radius is equal to
x 2i +y
2i/2. This circle always passes
hrough the origin (0, 0) and (xi ,yi ), and intersects the s-axis and
he t-axis at the points (xi , 0) and (0,yi ), respectively (shown
eparately in Fig. 3d). Therefore, the vertices of a convex poly-
gon in thex y-space transform into circular arcs in the st-space,
and the intersection point between two consecutive arcs repre-
ents the corresponding edge ofA(Fig. 3c).
Remark. The transformation of a circle in thex y-space hav-
ng radius and center o is particularly interesting. In the
t-space it transforms into the same circle; that means, it remains
nvariant.
FIG. 4. An example where the resulting functionH(A, v) H(B, v
be a valid support function; the supporting line corresponding to t
H(A, u3
) H(B, u3
) is a redundant line.
2.4. Necessary and Sufficient Conditions for a Function
To Be a Support Function
The support function H(A, v) (see Eq. (1)) is a scala
tion of the vector vand hence, in the present case, a m
fromRd toR. A natural question is which functions from
Rcould be characterized as support functions. This que
particularly important to us since in the next section we
concerned whether a functionH(A, v) H(B, v) resultin
some operation on the given support functions H(A,H(B, v) is a valid support function or not. Consider, for
ple, the situation shown in Fig. 4, where no object could h
the support function values H(A,u1) H(B,u1), H(A
H(B,u2),H(A,u3) H(B,u3),H(A,u4) H(B,u4)
the supporting line corresponding to the value H(A
H(B,u3) is a redundant line.
For the characterization of support function, we may st
following result:
PROPOSITION3. (a) Every real-valued function F(v)
for allv Rd and satisfying the properties
1. F(o) = 0
2. F(v) = F(v), for > 0
3. F(v + w) F(v) +F(w)
is a support function of a convex body.
(b) If F(v) is a support function then the convex bod
presents must be the intersection of all the halfspaces
F(v).
Part(a)oftheresultisaclassicalonewhoseproofcanb
in [3]. Part (b) follows easily from Eq. (2). We also re
reader to [15] for a review on the topic of consistency ch
of support functions.
8/13/2019 Ghosh Support Functions
7/25
SUPPORT FUNCTION REPRESENTATION OF CONVEX BODIES
FIG. 5. The conditionF(v+w) F(v) + F(w) ensures that the support func-
ion does not define any supporting hyperplane which is redundant.
(Remark. Condition 3 in the proposition, i.e., F(v + w)
F(v) + F(w), appears to be most nonintuitive compared to the
other two conditions. However, its connection with the question
of redundant halfspace can be easily demonstrated.
Consider Fig. 5 where we show a part of the boundary of a
convex body A(drawn by a solid curve line). Let u1 and u2 be
wo arbitrary unit vectors, and let H(A,u1) and H(A, u2) be
he corresponding support function values which are denoted
by the line segments oa and ob, respectively; the correspond-
ng supporting lines are, respectively, a m andbm in the figure
(here mis the intersection point of the two supporting lines). Let
v=u1 + u2, and let L be the supporting line of Ahaving outernormalv. It is obvious that if such a line L moves beyond the
point m, i.e., beyondL , the line becomes a redundant supporting
ine.
Now assume that the angle between u1 and u2 is . There-
fore, v = 2 cos(/2). That means, a supporting line having
outer normalv will not be redundant if the corresponding sup-
port function value H(A, v) 2 cos(/2) |oc| (the point c is
he intersection point of L with the line in the direction ofv;
.e., mcis perpendicular to oc). By a simple geometric argument
from the figure we can show that |oa| + |ob| = 2cos(/2) |oc|.
That means a supporting line will not be redundant if the cor-responding support function H(A, v) |oa| + |ob|; i.e., H(A,
u1 + u2) H(A, u1) +H(A,u2).)
3. GEOMETR IC OPER ATIONS BY MEANS
OF SU PPORT F UNCTIONS
We assume that the support functionsH(A, u)andH(B, u) of
wo convex bodies Aand Bare given. We now show that some
simple algebraic operations on the support functions result in
fairly complicated geometric operations involving the bodies A
and B .
3.1. MAX and MIN Operations (Convex hullandInterse
MAX operation. The max operation is defined as
max{H(A, u),H(B, u)},
for everyu Sd1, where max(, ) specifies the maxim
the two real numbers and .
It is not difficult to prove that the max operation restheconvex hulloperation of the union ofAand B. We ne
following proposition toward that end.
PROPOSITION 4. If H(A,u) and H(B, u) are the suppor
tions of two convex bodies A and B, then the following ineq
H(A, u) H(B, u)for allu
holds if and only if A B.
The proof of the proposition follows immediately from E
(2). The reader may also refer to [3].
We can now state and prove the main result concerni
max operation.
PROPOSITION 5. (a) The functionmax{H(A, u),H(B
a support function.
(b) max{H(A, u),H(B, u)} = H(C,u), where C= con
B).(Hereconv(X)denotes the convex hull of the set X.)
Proof. (a) Refer to Proposition 3a. Conditions 1 and 2
ously hold for max{H(A, u),H(B, u)}, since they hold fo
H(A, u) andH(B, u). Only the condition 3, i.e., the suba
ity condition, requires to be proved.
LetuswriteF(u) = max{H(A, u),H(B, u)},andassumu1, u2are two arbitrary unit vectors.
F(u1) + F(u2) = max{H(A,u1),H(B,u1)}
+ max{H(A, u2),H(B, u2)}
H(A, u1) + H(A, u2)
H(A, u1 + u2), sinceH(A, u) is a su
function.
Similarly, F(u1) + F(u2) H(B, u1 +u2).
Furthermore, sinceF(u1 +u2) = max{H(A, u1 +u2),
u1 +u2)},F(u1 + u2) is either equal to H(A, u1 +u2) or
to H(B, u1 +u2).
Therefore,F(u1) + F(u2) F(u1 +u2). That means, m
(A, u),H(B, u)} is a support function of some convex
say,C.
(b) Let max{H(A, u),H(B, u)} =H(C, u), where Cis
vexbody.SinceH(C, u) H(A, u)andalsoH(C, u) H
for allu, according to Proposition 4,C A B .
Let us assume that the convex hull conv(A B) is not
conv(A B) = C, and C is strictly smaller than C, i.e., C
Therefore, according to Proposition 4, H(C
, u) H(C,
8/13/2019 Ghosh Support Functions
8/25
386 GHOSH AND KUMAR
FIG.6. Demonstration of themax operation: (a)input convex polygonsAandB (in thex y-space); (b) support function representations ofAandB (the c) max{H(A, u),H(B, u)} (the -space); (d) the resulting convex polygon C(in thex y-space) whose support function representation is max{H(A, u),H
8/13/2019 Ghosh Support Functions
9/25
SUPPORT FUNCTION REPRESENTATION OF CONVEX BODIES
allu. For some u, say u1, let H(C,u) be strictly smaller than
H(C, u), i.e., H(C, u1) < max{H(A, u1),H(B,u1)}.But that
s not possible. That means,C = C.
We show two convex polygons Aand B (in thex y-space) in
Fig. 6a and their support function representations (i.e., A and B
n the -space) in Fig. 6b. The max operation of the support
functions is to take, for each fixed, the maximum of the two
s. It is shown in Fig. 6c. The resulting polygon which is equalo conv(A B ) is presented in Fig. 6d.
Remark. In Fig. 6e we show the max operation done in the
st-space. In that space the max operation turns out to be nothing
but the set union operation. In this connection it may be of some
use to view the representations of an object in various spaces
as variousgeometric transformations. For example, we may say
hat a geometric transformation transformsA toH(A,u), or,
ransformationsttransforms Ato its s t-space form. Then one
can write
conv(A B ) x y-space
max( (A), (B)) -space
st(A) st(B) st-space
.
MIN operation. The min operation is similarly defined as
min{H(A,u),H(B, u)},
for every uSd1, where min(, ) denotes the minimum of
he two real numbers and .
The min operation, it is not difficult to show, performs the in-
ersection operationA B. But unlike the previous case, min{H( A,u),H(B, u)}is not a support function. As a result some of
he supporting hyperplanes defined by min{H(A, u),H(B, u)}
may be redundant. But the common intersection of all the halfs-
paces (some of which may be redundant corresponding to the re-
dundant hyperplanes) defined by the function min{H(A, u),H
(B, u)} will result in A B.
To give an example we consider the same two polygons pre-
sented in Fig. 6a, and show the function min{H(A,u),H(B,u)}
n Fig. 7a. The corresponding supporting lines ei s are depicted
n Fig. 7b. Note that the supporting lines e1and e2are redundant.
However, the common intersection of the halfspaces defined by
all the supporting lines is A Bwhich is shown in Fig. 7c.
Remark. In the latter part of this paper we shall talk about
polar duality of a convex body and describe how such a duality
operation can be used to remove redundant supporting lines.
3.2. Addition and Subtraction Operations (Minkowski
Addition/DilationandMinkowski Decomposition/Erosion)
Addition operation. Theadditionof two support functions
s defined as
H(A, u) + H(B, u),
for everyu Sd1, where + denotes the arithmetic addi
the two real numbers.
The geometric operation performed by the addition ope
is of importance for various reasons. We first state the geo
operation (in the form of a proposition) and then briefly m
its significance.
PROPOSITION 6. (a) Thefunction H(A, u) +H(B, u) is
port function.
(b) H(A, u) + H(B, u) =H(A B,u), where deno
Minkowski additionof two point sets.
(If A and B are two arbitrary sets of points in th
Euclidean d-dimensional spaceRd, their Minkowski ad
A B, is defined as
A B = {a + b | a A, b B},
where + denotes the vector addition of two points; A and
called the summands of the sum A B .It can also be expressed in terms of the set union an
metric translation operations. If Ax denotes the transla
set A by a vectorx, that is, Ax = A {x}, then it is easy
that
A B = B A=bB
Ab =aA
Ba.
Note. The proposition simply states that Minkowsk
tion reduces to arithmetic addition of two real numbers
support function space. It is a well-known result and a sproof of the proposition can be found in [17].
The reader may be aware that Minkowski addition
a fundamental role in shape description and analysis. T
ear combination of convex bodies has been extensively s
under the classical convexity theory. The study become
ticularly interesting because if1, 2, . . . , n are positiv
numbers andA1,A2, . . . ,Anare convex bodies then their
combination1A1 2A2 nAn also turns out t
convex body. Its application in recent times includes the
pline ofmathematical morphologywhere Minkowski ad
(calleddilationin that discipline) is used as the kernel op
for image processing and analysis [30]. In robotics, Mink
addition operation is a primary tool to construct configu
space for motion planning [20]. The other important appli
domains are blending and offsetting in CAGD [22, 27]
metric modeling [10, 25], textured object modeling, com
animation [16], type font design [19, 28], etc.
In Fig. 8 we present an example. The two summand
gons Aand B are shown in Fig. 8a and their support fun
H(A, u),H(B, u) in Fig. 8b. The sum H(A, u) + H(B
shown in Fig. 8c, whereas the convex polygon correspond
H(A,u) +H(B, u) is shown in Fig. 8d. This polygon is
to A B .
8/13/2019 Ghosh Support Functions
10/25
388 GHOSH AND KUMAR
FIG. 7. Demonstration of the min operation (for input polygons and their support functions, refer to Figs. 6a and 6b): (a) min{H(A, u),H(B, u)} drawn
ines, dashed lines indicate H(A, u),H(B, u) separately (it is the -space); (b) supporting lines corresponding to the function min{H(A, u),H(B,u)} a
n (a); supporting linese1 and e2 are redundant; (c) common intersection of the halfspaces defined by the supporting lines gives a convex polygon which
o A B .
Subtraction operation. Thesubtractionoperation (which is
nothing but theinverseof addition operation) is defined as
H(A,u) H(B,u),
or everyu Sd1, where denotes the arithmetic subtraction
of one real number from another.
The function H(A,u) H(B,u), in general, is not a support
unction. This can be understood by examining the following
wo cases.
Case I. Let Aand Bbe two given convex bodies such that
one of the Minkowski summands of A is the convex body B,
.e., A =B C. Then according to Proposition 6, H(A,u) =
H(B, u) +H(C,u), and thereby, H(A,u) H(B,u) is
port function corresponding to the other summandC. Case II. Let A = B C, i.e., B is not a summand
In this case H(A, u) H(B,u) cannot be a support fu
(because if it is then it implies that there exists a convex b
whose support function is H(A,u) H(B,u) and B
which is contrary to our initial assumption).
In Fig. 9 we present a case where H(A,u) H(B,u)
support function. We take the input polygons which are th
two polygons considered in the example of Fig. 8a. W
the function H(A,u) H(B,u) in Fig. 9a. The corresp
supporting lines ei s are depicted in Fig. 9b. Notice tha
of the supporting lines are redundant.
8/13/2019 Ghosh Support Functions
11/25
SUPPORT FUNCTION REPRESENTATION OF CONVEX BODIES
FIG. 8. Demonstration of theadditionoperation: (a) input convex polygons A and B (in the x y-space); (b) support function representations ofA and B
pace); (c)H(A, u) +H(B,u) drawn by solid lines (the-space); (d) the resulting convex polygon A B(in thex y-space) whose support function repres
s H(A,u) +H(B, u) as shown in (c).
It has been shown (for example, refer to [11, 30]) that the com-
mon intersection of all the halfspaces (some of which may be
redundant corresponding to the redundant hyperplanes) defined
by H(A,u) H(B, u) will result into A B, where denotesheMinkowski decompositionoperation (also known aserosion
n the literature of mathematical morphology). (Minkowski de-
composition A B is the inverse of Minkowski addition in a
restricted sense. It is defined as
A B =
b B
Ab.
The set B = {b | b B} is called the symmetrical setofB with
respect to the origin point.)
3.3. Reciprocal Operation (Polar Duality)
Unlike the previously mentioned operations which are
nary operations, the reciprocal operation is a unary operThe reciprocal operation on a support function H(A, u)
fined as
1
H(A, u)
for everyu Sd1.
The significance of the geometric transformation perf
by means of the reciprocal operation can be properly unde
if we represent 1/H(A,u) in thest-space.
At this point, to keep our explanation intuitively simp
shall concentrate only on convex polygons in the plane
8/13/2019 Ghosh Support Functions
12/25
390 GHOSH AND KUMAR
FIG. 9. Demonstration of thesubtractionoperation (for input polygons and their support functions, refer to Figs. 8a and 8b): (a) H(A, u) H(B, u) d
olid lines, dashed lines indicateH(A, u),H(B,u) (it is the -space); (b) supporting lines corresponding to the function H(A, u) H(B, u) as shown in
upporting lines are redundant; (c) common intersection of the halfspaces defined by the supporting lines gives a convex polygon which is equal to A
n R2), though the basic theory is equally applicable to higher
dimensional convex bodies.
Recalling that inR2 we use the notation rather thanH(A,u),
he representation of the reciprocal 1/in thest-space becomesrefer to Eq. (8))
s =cos
, t=
sin
. (10)
Eliminating and from Eq. (10) using Eq. (7), we obtain
xi s + yi t 1 = 0. (11)
Equation (11) states that a point (xi ,yi ) in the x y-space, by
means of reciprocal operation, becomes a straight line in the
t-space whose equation will bex ix +yiy 1 = 0.
Exactly in the same way we can show that a straig
aix + biy + ci = 0 in the x y-space, by the reciprocal tr
mation, becomes a point in the st-space whose coordina
be (ai /ci , bi /ci ).In Fig. 10 we give two examples to demonstrate the geo
interpretation of the reciprocal operation.
(Note. In the second example (i.e., quadrilateral), th
gon A is completely outside the unit circle centered at the
(Fig. 10a); in that case thetransformed polygon is comple
side the unit circle (Fig. 10c). In the first example, the pol
is partly inside and partly outside the unit circle (Fig. 10a)
is the transformed polygon (Fig. 10c). The distinction b
these two cases will be clearer from our subsequent discu
In summary, the reciprocal operation of the support fun
a dual transformationa transformation that transforms
8/13/2019 Ghosh Support Functions
13/25
SUPPORT FUNCTION REPRESENTATION OF CONVEX BODIES
FIG. 10. Two examples of reciprocal operation on H(A, u) and corresponding geometric transformation: (a) Input polygon A (x y-space); unit circl
hown; (b) Support function H(A, u) (dotted) and its reciprocal 1/H(A,u) (-space); (c) Polygon corresponding to 1/H(A, u) in thest-space; input poand unit circle (dotted) are drawn in the same space to show the relationship among them
8/13/2019 Ghosh Support Functions
14/25
392 GHOSH AND KUMAR
FIG. 11. Polar duality: Polar lineL of a pointp.
nto a line and a line into a point. Since there exist many such
dual transformations, it is required to characterize the type of
duality obtained by the reciprocal transformation. We show thatt is nothing but the well-known polar duality which is briefly
described below.
Letp= (xi ,yi ) be a given point and B be the unit circle about
he origin (i.e., having equation x 2 +y2 = 1). With respect to
he positions ofp and B, there arise two cases.
(i) Ifp lies outside B (Fig. 11a), draw tangents to B fromp.
Let the tangents touch B in pointsb1andb2. The lineL through
b1 and b2 is called the polarof the pointp. Since L is perpen-
dicular to the lineopand the equation ofB can be rewritten as
x x +y y 1 = 0, it is easy to show that the equation ofL will
bex xi + yyi 1 = 0.
(ii) Ifp lies inside B (Fig. 11b), draw a line L through p
perpendicular toop. Let L intersect B at the points b1 and b2,
and let T1 and T2 be the tangent lines to B through those two
points b1 and b2, respectively. The line L drawn through the
ntersection point ofT1 and T2 and perpendicular to op is the
polar line ofp in this case. The equation ofL , in this case too,
will bex xi+ yyi 1 = 0.
Note. Another way to look at the pointp and its polar L is
o observe that L is perpendicular to the lineop at the point p
uch that |op| |op
| = 1.Thus the dual transformation we obtain by the reciprocal op-
eration is the polar duality. The polar duality, one may note, not
only transforms a point into its polar line or vice versa, but also
uggests a set transformation in the following way. Let Abe a
convex polygon which can be viewed as the intersection of the
halfspaces defined by its boundary lines. By means of polar du-
ality the vertices of Acan be transformed into their polar lines
which, in turn, define a set of halfspaces. The intersection of
hese halfspaces results in another convex polygon, say A . The
polygon A is known as the polar dual(polar body) ofA. The
concept of polar dual, the reader may be aware, is widely studied
n the theory of convex bodies.
From the observation that |op| |op | = 1, the polar du
the general Rd space is often defined as follows. Let
subset ofRd; the polar dual setA ofAis
A = {x Rd | a, x 1 for alla A}.
We now state some properties of polar duality which
use to us. (For the proofs of the results refer to [13, 26].
PROPOSITION7. If A, B are any subsets ofRd then:
(i) A = cl conv(A {o}), where cl A denotesclosu
and{o} denotes the origin point.
(In particular, if A is a closed convex set containing the
o then A = A.)(ii) A = A.
(iii) (A B ) = A B .
(iv) If A and B are closed convex sets containing
(A B ) = conv(A B ).
(v) If A B then A B and A B.
The importance of the polar body A in analyzing th
erty of a given convex body Ahas been adequately explo
mathematicians. The results such as (i) the unit ball B is
polar dual, (ii) the ellipsoids (ellipse in R2) have ellips
polar duals, and (iii) volume(A) volume(A) is invarian
linear shape ofA(refer to [2]) obviously arouse intrinsicematical interest in studying polar duality. Here we avo
such discussion, butquickly indicate, by means of two exa
its significance in geometric computing.
Dual versions of geometric operations: The way se
plement operation connects set union and set intersection
tion, in a similar way polar operation connects the max a
operations as dual operations. Note the following results
obtain from Proposition 7 (all throughout we assume t
origin lies within the bodies):
A B =(conv(A B ))
8/13/2019 Ghosh Support Functions
15/25
SUPPORT FUNCTION REPRESENTATION OF CONVEX BODIES
FIG. 12. Demonstration that A B = (conv(A B )): (a) input polygons A, B and their polar bodies A,B ; (b)C = conv(A B ) (drawn by so
and D = C; note that D = A B .
conv(A B ) = (A B ) (14)
These expressions essentially state that the intersection of two
convex bodies (min operation) is equivalent to the convex hull of
he union of their polar bodies (max operation), and vice versa.
In Fig. 12 we demonstrate this result. The input polygons A,B
and their polar bodiesA,B are shown in Fig. 12a. By means of
max operation we compute conv(A B) and then compute its
polar body using the reciprocal operation (Fig. 12b); The polar
body Dis equal to A B.
Removal of redundant supporting lines: We have shownbefore that min{H(A, u),H(B, u)}, though eventually result-
ng into A B, is not a support function, and therefore may give
rise to redundant supporting lines (as shown in Fig. 7, for ex-
ample). On the other hand Eq. (13) expresses that A B can
be obtained by means of a convex hull and polar dual operation
without producing any redundant supporting lines in between.
This observation suggests that the redundant supporting lines
may be removed by means of reciprocal operation.
Note. The conventional polar dual operation (defined by
Eq. (12)) is a point transformation, i.e., every point of a given
set Ais being transformed. In contrast, our way of accomplish-
ng polar dual by the reciprocal 1/(H(A, u)) is a boundary
operationonly the points of the boundary of the set A are
being transformed. As long as Ais a convex body and H(A,u)
s a valid support function, the two approaches do not make
any difference. The difference can be seen if a given function
F(u) is not a support function. And it is precisely this differ-
ence that can be utilized to remove redundant supporting lines
from F(u).
We present an example to demonstrate the method. Consider
he example of the subtraction operation where the function
F(u) =H(A,u) H(B, u) (drawn in Fig. 9a by solid lines) is
not a support function and thereby gives rise to redundan
porting lines (as shown in Fig. 9b). Note that the distanc
redundantsupporting line fromthe originis always more th
essential supporting line in that direction. As a result th
procal operation 1/(F(u)) will transform, in the st-spac
redundant supporting lines into points which are nearer
origin than the points corresponding to the essential supp
lines (shown as Cin Fig. 13). Obviously, the convex hull o
points (shown asD , which is equal to conv(C)) will conta
the furthermost points and eliminate the nearer points. No
FIG. 13. Removal of redundant supporting lines by the reciproca
tion (for input polygons and the function H(A,u) H(B,u) refer to
Polygon C (drawn by solid lines) is the representation of the recipr
(H(A,u) H(B,u)) in the st-space; polygon D is equal to conv(C),
polygonE =D; note that Ebecomes equal to A B as shown in Fig
8/13/2019 Ghosh Support Functions
16/25
394 GHOSH AND KUMAR
polar dual of the convex hull (i.e., the reciprocal operation on
he convex hull) will produce the convex figure corresponding
o the function F(u), but without the redundant supporting lines
shown as E=D = A B in Fig. 13).
3.4. Translation and Scaling Operations
(Offsetting, Rotation, and Scaling)
Simple geometric transformations such as translation or scal-ng, in the -space, produce more complex transformations in
he x y-space. In R2 such transformations are relatively easy to
ollow.
Writing(A, ) for the support function, its translation along
he -axis by an amount is nothing but to set new = (A,
) which, in turn, is equivalent to (rot (A), ); by rot (A)
we mean rotation of A by an angle about the origin. That
means, translation of the support function along the -axis is the
otation of the body Ain thex y-space (Fig. 14).
On the other hand translation of the support function along
he -axis is not a simple geometric transformation in the x y-pace, because(A, ) + , whereis some positive real num-
ber, is equal to (A, ) + (B, ), where (B, ) is the support
unction of a ball B (i.e., circular disk in R2) having radius
and center at the origin. Thus (A, ) + = (A B, ). That
means, translation of the support function along the -axis in the
positive direction is nothing but the offsetofAby an amount
Fig. 14). (For the definition and utilities of the offset operation,
efer to [8]).
It obviously follows that scaling the support function by some
positive scaling factor is nothing but scaling the body Aby the
ame factor, since(A, ) = (A, ).
FIG. 14. Translation of support function of A along -axis produces rot(A)
which is a rotated version of A, whereas translation along the positive -axis
roduces offset(A)offset of A; the polygon sc(A) is a scaled version of A,
btained by scaling the support function.
3.5. Symmetric Addition Operation(Symmetrization)
The symmetric addition operation on a support fu
H(A,u) is defined as
1
2(H(A,u) +H(A, u)),
for everyu Sd1.Noting that H(A, u) =H(A,u), where the set A =
a A} (often Ais called thesymmetrical setofAwith
to the origin point), and recalling Proposition 6, we arriv
following result.
PROPOSITION 8. The function 12
(H(A,u) +H(A, u
support function and is equal to H( 12
(A A),u).
The set 12
(A A) is called the Steiner symmetralof
respect to the origin point, and the process of generating
from A is known as symmetrization. Note that the set 12
(A
a centrally symmetric set whose center of symmetry is theFor example, we consider a convex polygon A (sh
Fig. 15b) whose support function H(A,u) is presen
Fig. 15a. The Steiner symmetral (also the symmetrical se
Ais given in Fig. 15b and the corresponding function HA)) in Fig. 15a. (Note that inR2, Acan be obtained by r
Athrough radians about the origin, and thereby H(A,
(A, + )).
Remark. For more details on symmetrization we re
reader to [1] and [32]. The importance of symmetrizati
shape analysis task can be easily gauged from the bas
behind symmetrization. The idea is to replace a given bby a more symmetric body A in such a way that quite
properties ofAremain invariant in A. The study of thos
erties in A rather than in the original body A becomes
since the former possesses more symmetry than the latt
us mention a couple of such invariant properties in the
the Steiner symmetral:
1. The length of theperimeterofAand 12
(A A) is th
(One can immediately see here the importance of symm
tion in dealing withisoperimetric problems.)
2. ThewidthofAand 1
2
(A A) in any given directio
same. (The width ofA in the directionuis given byW(A
H(A,u) + H(A, u).)
3.6. Fourier Series Expansion of the Support Function
and Some Related Geometric Computations
InR2 the support function(A, ) is a real-valued inte
function on [, ]. We may, therefore, consider the F
series expansionof the support function. Our interest lie
fact that important geometric data like area Area(A), p
ter Peri(A), and Steiner pointz(A) can be succinctly exp
in terms of the coefficients of the Fourier series. Some
isoperimetric problems too can be easily formulated and
8/13/2019 Ghosh Support Functions
17/25
SUPPORT FUNCTION REPRESENTATION OF CONVEX BODIES
FIG. 15. Symmetrization of convex body by means of support function: (a) A,B, Cdenote the support function H(A,u),H(A, u), 12 (H(A, u) +H(A
espectively; (b) A is the input convex polygon, B denotes the symmetrical set AofA , andC = 12 (A B ), i.e.,C is the Steiner symmetral 12 (A
A).
by means of the Fourier expansion. The Fourier series approach,
one must also note, can be quickly generalized to higher dimen-
sions.
The Fourier series expansion of the support function (A, )
of a convex figure Ain R2 can be written as
(A, ) =
n=0
(ancos n+ bnsin n), (15)
where
a0 =1
2
(A, ) d, an =1
(A, )cos nd
b0 = 0, bn =1
(A, )sin nd.
We can now state some useful results:
Area(A) = a20 1
2
n=2
(n2 1)
a2n + b2n
(16)
Peri(A) = 2 a0 (17)
z(A) = (a1, b1). (18)
For more details the reader may refer to [12].
Remark. There is a host of other geometric operations which
can be easily conceptualized and computed within the sup-
port function framework. For example, the Hausdorff distance
dH(A,B) between two convex bodiesA andBcan be expressed,
in terms of support functions, as
dH(A,B) = max{|H(A, u) H(B, u)| |u Sd1}.
At present, however, we do not delve further.
4. SOME OTHER REPRESENTATION SCHEMWHICH BELONG TO THE SAME CLASS OF TH
SUPPORT FUNCTION REPRESENTATION
The support function representation is one of a class oresentation schemes that can be expressed in terms of a g
formulation such as the following:
It is to represent a convex body in terms of a boundary paramete
function ofouter normal direction (or tangent direction) of the bou
points of the body. (By boundary parameter one means any represen
geometric characteristic of the boundary of the body.)
The boundary parameter, in case of support function, is
to be the signed distance from the origin to the supp
line/hyperplane at a boundary point. But this is not th
choice. It is possible to design representation schemes ch
some other boundary parameters, but always as a funct
outer normal/tangent direction of the boundary. All such
sentation schemes will possess the same basic characteris
those of the support function representation. We may sa
all of them belong to the same class of the support fu
representation.
In fact, in classical mathematics as well as in computer v
graphics, and related fields one comes across a number o
resentation schemes which apparently look very dispara
a close examination shows that they belong to the same
in the above sense. We mention a few of them as demons
examples.
8/13/2019 Ghosh Support Functions
18/25
396 GHOSH AND KUMAR
FIG. 16. The tangent line at a point (x , f) of the boundary curve subtends an
ngle with the x -axis, so the value of = tan ; the intercept of the tangent
ine with the y -axis is .
4.1. The Legendre Transformation
There are two ways of viewing a classical curve or surface
either as a locus of points or as an envelope of tangents. The
notion of the Legendre transformation stems from the latter
view. The fundamental idea of the Legendre transformation is
o represent the boundary points of a figure by its tangent line
coordinates instead of by its point coordinates [5]. Recollect
hat the line coordinate of a straight liney x + = 0 i s (, )
n the straight line space, i.e., in the -space. (In some literature
he line coordinate is taken to be equal to (, ).)
We consider a simple example inR2 as shown in Fig. 16. Let
us assume that a part of the boundary curve of a figureAis givenby the equation y = f(x). That part of the boundary, therefore,
can be thought of as a set of points having point coordinates
x , f(x)). (To simplify the notation we write point coordinate of
a point simply as (x , f) instead of (x , f(x)).) The straight line
which is tangent to the boundary curve at a point (x , f) has the
coefficient values,
=d f
d x= fx , and = x fx f.
Therefore,the line coordinate of the tangent line is (fx ,x fx f).In the Legendre transformation the boundary of A is repre-
ented by the set of tangent line coordinates ( fx ,x fx f), in-
tead of the set of point coordinates (x , f). The similarity of this
epresentation with the support function representation is quite
clear now. The boundary parameter in this case is the y-axis
nterceptx fx fas a function of the tangent direction fx .
For the sake of completeness we mention how to determine
he point coordinates from the tangent line coordinates. Since
= fx and =x fx f,
d
d = =x + fx
d x
d d f
d x d x
d =x ,
and
f = + x fx = .
That means, the point coordinate of the boundary curve
) if the tangent line coordinate is (, ).
Remark. The duality between the boundary point c
nates and the tangent line coordinates becomes obviouwe express the above formulas in the following form:
f + = x
= fx
x =
The Legendre transformation is always feasible if the eq
= fx
can be solved for x , i.e., when f(x) is a differentiable fu
and it is possible to establish a one-to-one corresponden
tween the points and the tangent lines of the boundary
For example, the Legendre transformation is not well de
the boundary curve contains someline segments; simila
Legendre transformation is also not well defined if the bo
curve has somecorner pointswhere it is not differentiab
more details on the Legendre transformation we refer the
to [5, 26].
4.2. The Extended Circular Image (Extended Gaussian Curvature Functions of Convex Bodies)
The extended circular image is the 2-dimensional co
part of the extended Gaussian image which is a represe
scheme for convex polyhedra in the 3-dimensional spac
(For oriented C2 surfaces (i.e., twice continuously differe
surfaces) onemay refer to [24],and forthe generalRd spa
to [3].)
In the extended circular image, the boundary curve is
sented in terms of radius of curvature as a function o
normal direction.
To demonstrate the idea we assume that the boundary cdescribed parametrically in terms of the arc-lengths (me
along the curve from some arbitrary starting point) by the
tionsx =x(s),y =y(s). The functionsx (s) and y (s) are
toby the equations
d x
ds= sin ,
d y
ds= cos .
The radius of curvature can now be obtained by the form
=ds
d.
8/13/2019 Ghosh Support Functions
19/25
SUPPORT FUNCTION REPRESENTATION OF CONVEX BODIES
(In the literature one often finds that the radius of curvature is
defined as the reciprocal of the curvature at each point of
he curve, i.e., as(s) = 1(s)
.)
It is not difficult to show that
(s) =1
dxds
d2y
ds 2 d
2xds 2
d y
ds
. [b]
The extended circular image() (i.e.,as a function of) can
be easily obtained now using Eqs. [b] and [a].
Remark. In case the boundary curve is given as a general
parametric equationx =x(t),y =y(t), then the extended circu-
ar image () can be obtained using the following results in
conjunction with Eq. [b]:
(t) =
dxdt
2+
dy
dt
23/2d x
dt
d2y
dt2
d2x
dt2
dy
dt
and
ds
dt
2=
d x
dt
2+
d y
dt
2.
[c]
The reader may recall in this context that the general para-
metric equation of a circle of radius , with center at (0, 0)
s x(t) = cos ,y(t) = sin ; its parameterization in terms
of arc-length isx (s) = cos( s
),y(s) = sin( s
). One may start
with any of these two forms to obtain () = .
Note. The extended circular image representation is not
mathematically completein the sense that it does not preservehe position information of the body with respect to some given
coordinate system. The boundary curve can be recovered from(), provided it is convex, uniquely up to translation.Theequa-
FIG. 17. Slope diagram representation of a convex polygon.
tion of the boundary curve can be shown to be
x(s) = x(0)
(s)(0)
sin () d, and
y(s) = y(0) +
(s)
(0)
cos () d,
where (x(0),y(0)) is the arbitrary starting point where s =
(0) is the value ofats = 0, etc. For further details the
may refer to [4, 14].
4.3. The Slope Diagram Representation
Theslope diagramrepresentation is particularly desig
represent polygons and polyhedra whose boundaries c
lines, planes, etc. The basic idea is to arrange the faces(i.e
nar faces or facets, edges,vertices, etc.) of a polygon/polyh
according to their outer normal directions. For a convexgon, since all its outer normal vectors lie on a unit circ
unit circle is taken to be the basis for its slope diagram
sentation. (For a polyhedron, the basis is the unit sphere
representation scheme goes as follows (Fig. 17):
a. The outer normal direction at each edge of the polyg
be represented by the corresponding point on a unit circl
called anedge point. (By corresponding point one mea
point on the unit circle where the outer normal direction
same as the outer normal direction of the edge.)
b. At each vertex of the polygon, it is possible to draw
merably many outer normals filling an angle (supplementhe interior angle at the vertex). This set of outer normal
tions at the vertex is represented by the corresponding arc
unit circle. It is called avertex arc.
8/13/2019 Ghosh Support Functions
20/25
398 GHOSH AND KUMAR
c. Each edge point is assigned a number which is equal to the
length of the corresponding edge. This may be considered to
be the weight of the edge point. No weight is assigned to any
vertex arc.
Any convex polygon can be recovered uniquely (up to trans-
ation) from its slope diagram. To obtain the exact position of
he polygon with respect to some given coordinate system, the
coordinate position (xv1,yv1) of any vertex, say the first vertexv1, is maintained separately.
One may point out that the slope diagram representation can
be derived from the concept of the extended circular image [14].
Note that, at any point on each edge of a polygon, the value of
he radius of curvature() tends to infinity. However, the fact
hat
ds =
() dimplies that the integral of the extended
circular image over some angular interval is equal to the length
of the curve which has normal direction falling in that interval.
Therefore, each edge of the polygon can be mapped into an
mpulse of area equal to the length of the edge. The angle where
his impulse appears is just the outer normal direction of the
corresponding edge. Thus we can write
() =n
i =1
li ( i ), [d]
whennis the number of edges, li is the length andi is the outer
normal direction of the i th edge, and denotes the impulse
unction. The slope diagram representation is nothing but the
epresentation of Eq. [d] in a diagrammatic way.
More details on the slope diagram can be found in [11].
4.4. The Normal Transform Representation
Thenormal transformrepresentation [6, 18] is another vari-
ation of the extended circular image. But unlike the extended
circular image, it includes implicitly the exact position informa-
ion of the body. Let abe any point on the boundary of a convex
bodyA, i.e.,a boun(A) and the outer normal vector (not nec-
essarily a unit vector) of the supporting hyperplane at a be va .
The vectorwa is then defined as
wa =va
va , a.
The vectorwa is called the normal transform ofa. By perform-ng the normal transform of everya boun(A), one obtains the
normal transform representation N(A) of the bodyA.
Dorst and Boomgaard, who proposed the representation
cheme, proved some interesting properties of the normal trans-
orm and produced a number of demonstrative examples [6]:
Since a,wa = 1, it is easy to prove that the normal trans-
orm is aninvolution, i.e.,N1 =N. That means, if we perform
he normal transform on N(A), we get back the boundary ofA.
If A is a polygon then N(A) will also be a polygon. The
edges of A transform to points and vertices of A transform to
ines by means of normal transform.
For a parametric curve (x(t),y(t)) in R 2, the norma
form representation becomes,
w(t) =( y,x)
x y yx(t),
where x denotes differentiation with respect to the param
etc.
Remark. The reader must have realized by now t
normal transform representation is essentially the pola
which had been discussed earlier in Section 3.3.
4.5. The Upper and Lower Slope Transforms
Consider functions defined on Rd and whose range
subset of the extended reals R=R {, }. For an
function f(x) its upper slope transformis defined as th
tion S:Rd Rand its lower slope transformas the fu
S:Rd R, for everyv Rd, such that [21]
S(v) = supxRd
{f(x) v, x}, v Rd
S(v) = infxRd
{f(x) v, x}, v Rd
where sup and inf denote supremum and infimum, r
tively.
Maragos, who proposed the scheme, has shown that th
transforms are closely related to the Legendre transform
To see the essence of his argument consider a curve f
R1. Let us further assume that f(x) is a differentiablec
function. (A function f(x) defined on some convex se
called concave if and only if
f(x1 + (1 )x2) f(x1) + (1 )f(x2),
where x1, x2 K and 0 1. A typical example
1-dimensional concave function is shown in Fig. 18a.)
In the 1-dimensional space the hyperplane v, x be
a straight line, say x , where ,x R. Geometrically
straight line passing through the origin and having the s
(Fig. 18a). Now consider the upper slope transform S(
easy to see that if a straight line is drawn whose slope is
whose y-axis intercept is equal to f(x1) x1 for somx1, then that line will pass through the point (x1, f(x1))
curve. Therefore, asxvariesthe maximum of{f(x) x}
obtained when the y-axis intercept attains its maximum
This occurs when a line having the slope becomes t
to the concave curve f(x). That means, for every the
slope transform S() = f(x) x , where fx (x
) =
fx (x) = (d f(x))/d x). Clearly, S is nothing but the Le
transformation.
Exactly in the same way, if one considers a differe
convex function (a function f is convex iff is conc
can be shown that the lower slope transform S() be
equal to the Legendre transformation (Fig. 18b).
8/13/2019 Ghosh Support Functions
21/25
SUPPORT FUNCTION REPRESENTATION OF CONVEX BODIES
FIG. 18. Demonstration of the upper and the lower slope transforms.
Note. The reader may take note of the following points.
The slope transforms and the Legendre transformation are
not exactly the same representation. The Legendre transforma-
ion is not well defined if fx = cannot be solved for x , while
slope transforms provide a representation even in such a case;
his representation, however, is not mathematically complete in
he sense that it is not possible to recover the original functionfrom the slope transforms in such a case. The reader may refer
o [21] for further details. In fact, the slope transform is more closely related to the
conjugateof a function. Let f(x) be any closed convex function
onRd. The conjugate fc of fis defined as
fc (v) = infxRd
{f(x) v, x}, v Rd
= supxRd
{v, x f(x)}, v Rd.
For more details on the conjugate of a function the reader may
refer to [26, 29]. There is an implicit assumption, in all the previous repre-
sentation schemes, that theorientation of the boundary curve/
surface of the body is known so that one can distinguish, for
example, whether a boundary point has an orientation or
+ . No such assumption is made in case of the slope trans-
forms.
A few other representation schemes which are also related are
YoungFenchel conjugate (or simply conjugate of a function
as mentioned above) [21, 26], pedal curve, dual curve [4, 6],hodograph[7], etc. We request the reader to look into them.
5. CONCLUDING REMARKS: NEW GEOMETRIC
OPER ATIONS AND I NVE STI GATION TOWARDNONCONVEX BODIES
After living with the subject for a long time we strongly feel
hat the support function and its related representation schemes
should be investigated much further. The following two direc-
ions, we suppose, will be of particular interest: (1) exploration
of some new geometric operations and (2) extension of s
function-like representation for nonconvex bodies.
(1) Concerning the first point, we have observed that v
algebraicmanipulations of support functions may lead to t
covery of new and unsuspected geometric operations. Cur
we have been investigating further into this direction and
to report the progress in near future. Here we merely mtwo such examples.
The first operation is essentially the polar dual
sum of reciprocals of two support functions. Let A andB
convex polygons in R2 and let their respective support fun
beA() andB (). We first form a function f() = 12
(1
1/B ). (The factor 1
2 is just a normalization factor to e
that ifA = B, i.e.,A = B = then f() becomes equal
reciprocal 1/.) The representation of f()inthe st-spac
rise to a set of points P = {f()cos , f()sin | [0
The set P is a closed curve enclosing a region which m
be, in general, a convex region. We take the convex hulland then the polar dual of it, i.e., (conv( P)). Let us d
(conv( P)) by the notation A B , where is a binary
ation. Note that A A = A. In Fig. 19 we show two exa
of the A Boperation.
We note that A Bis not equivalent to thepolar d
the sum of polar duals ofA andB . We denote the latter asA
and define it as A B = ( 12
(A B)). (The factor 12
is a
normalization factor to ensure that if A = B, then A B
In Fig. 20 we show two examples of the operation
the input polygons are the same as considered in Fig. 19.
(2) The design of representation schemes for nonconve
ies must be of an immediate concern. Note that a nonconv
main problem is often transformed into a convex domain
lem either by approximating a nonconvex object to a c
object, or, by decomposing the nonconvex object into it
vex components. It is, however, more parsimonious to
schemes in which a nonconvex body is directly represent
a support function. Here we give some hints toward that dir
by means of 2-dimensional examples.
If A is a nonconvex polygon then the support fu
definition, i.e., Eq. (1), cannot be used to represent A. T
because H(A, u) in this case will not contain the compl
formation of A, and therefore, the application of Eq. (2
8/13/2019 Ghosh Support Functions
22/25
400 GHOSH AND KUMAR
FIG. 19. Two examples of operation: (a) The input polygons A and B are triangle and pentagon respectively; polygon C= A B is an octagon (d
olid lines). (b) The input polygons Aand B are diamond and square, respectively; C = A B is an octagon (drawn by solid lines).
yield not the original polygon A , but the convex hull conv(A) of
A. So instead of representing the entire nonconvex point set A,
one method is to represent the boundary bd Aof the polygon A
which consists of vertices and edges. The idea is, exactly like
hose of a convex polygon, a vertex of bd Acan be represented
by a sinusoidal curve (in the -space) or a circular arc (in the st-
pace), and an edge of bdA by a point (in both the spaces). Such
a representation is depicted in Fig. 21 for a typical nonconvex
polygon.
Remark.
(a) Figure 21b (as well as Fig. 21c) is a self-crossing curve.
f we remove the self-crossing portion of the curve, the rest
FIG. 20. Two examples of operation: (a) The input polygons A and B are triangle and pentagon, respectively, and polygon C = A B (drawn
ines). (b) The input polygons A and B are diamond and square, respectively, andC= A B (drawn by solid lines).
of curve will represent the valid support function of a c
polygon which will be nothing but conv(A).
(b) Apart from many other important issues, the issue
clusion can be very clearly explained and dealt with by m
such a representation. Consider the origino as a vantag
from where we look at the object. Then the occluding c
of the object, i.e., those points where the outer normal
contour is at a right angle to the viewing direction, is
those points where = 0. In Fig. 22 we present a typical
ple to demonstrate the basic idea. We refer the reader
where an algorithm, to build anaspect graphof arbitrary3-dimensional bodies, has been suggested which is based
method.
8/13/2019 Ghosh Support Functions
23/25
FIG. 21. A support function-like representation of nonconvex polygon: (a) A typical nonconvex polygon A; (b) its representation in the -space
epresentation in thest-space.
FIG. 22. Identification ofoccluding contourby = 0 values: (a) Considering origin o to be a vantage point, some of the directed edges have o in their
h i th i i ht (b) h it ti b l l b ht t b f th t f ti lik t ti f th l i th
8/13/2019 Ghosh Support Functions
24/25
402 GHOSH AND KUMAR
The domain of convex bodies can be considerably enlarged
by means of a representation, called the radial function, which is
closely related to the support function. The essential difference
s, whereas the support function is defined for convex sets, the
adial function is defined for the more general star-shapedsets.
A set A inRd is star-shaped relative to a pointoif for each point
a A, the line segment between o and a lies entirely within A.
f A is a star-shaped body at o, its radial function D(A, x) is
defined by
D(A, x) = max{ 0 | x A}, for x Rd\{o}. (20)
t is immediately clear from the definition that
D(A, x)x bdA, for x Rd\{o}. (21)
Note that in creating the st-space (see Section 2.3) we have
ndirectly made use of the radial function concept. In Eq. 21, re-
placing x by u and considering the radial function valueD(A, x)
o be equal to , one obtains Eq. 8 of the st-space.
The radial function and the support function are related by the
ollowing equation [29],
D(A,u) =1
H(A,u), for u Sd1. (22)
Equation 22 clearly explains why by means of the reciprocal
operation 1/H(A,u) in the st-space, we obtain the polar dual
A ofA(see Section 3.3). Some complex transformations of support functions too can
create specialized nonconvex domains. We give here a simple ex-
ample. If the reciprocal operation is generalized to 1/H(A,u)n
FIG. 23. Considering A to be a unit square, 1/H(A, u)n are plotted in the
t-space: (a) n = 1 which is the polar dual A; (b) n = 2; (c) n = 4; (d) n = 12which is a convex figure.
for n 2, we obtain an interesting nonconvex domain s
whose representative elements are shown in Fig. 23. T
main is one kind of generalization of the superquadric
superellipse inR2) objects.
ACKNOWLEDGMENTS
We thank the anonymous referees of this paper for their valuable sug
REFERENC ES
1. R. V. Benson, Euclidean Geometry and Convexity, McGraw-H
York, 1966.
2. M. Berger,Geometry I & II, Springer-Verlag, Berlin/ New York, 1
3. T. Bonnesen and W. Fenchel,Theory of Convex Bodies, BCS As
Moscow, Idaho, 1987.
4. J. W. Bruce and P. J. Giblin,Curves and Singularities, Cambrid
Press, Cambridge, UK, 1984.
5. R. Courant and D. Hilbert, Methods of Mathematical PhysicsInterscience/Wiley, New York, 1962.
6. L. Dorst and R. van den Boomgaard, Two dual representations
phology based on the parallel normal transport property,2nd Inter
Workshop on Visual Form, Capri, Italy, 1994.
7. G. Farin, Curves and Surfaces for Computer Aided Geometric
Academic Press, San Diego, 1988.
8. I. D. Faux and M. J. Pratt,Computational Geometry for Design an
facture, Ellis Horwood, Chichester, 1979.
9. R. J. Gardner, Geometric Tomography, Cambridge Univ.Press, Ca
UK, 1995.
10. P. K. Ghosh, A mathematical model for shape description using m
operators,Comput. Vision Graphics Image Process.44, 1988, 239
11. P. K. Ghosh and R. M. Haralick, Mathematical morphological op
of boundary-represented geometric objects,J. Math. Imaging Visio
1996, 199222.
12. H. Groemer, Fourier series and spherical harmonics in convexity,
book of Convex Geometry(P. M. Gruber and J. M. Wills, Eds.), C
Elsevier Science, Amsterdam/ New York, 1993.
13. B. Grunbaum,Convex Polytopes, Interscience, London, 1967.
14. K. P. Horn and J. Weldon, Filtering closed curves, IEEE Trans
Anal. Mach. Intell.8(5), 1986, 665668.
15. W. C. Karlet al., Local tests for consistency of support hyperpla
J. Math. Imaging Vision6(2/3), 1996.
16. A. Kaul and J. R. Rossignac, Solid-interpolating deformations: C
tion and animation of pips, Comput. Graphics16(1), 1992, 107117. P. J. Kelly and M. L. Weiss,Geometry and Convexity, Wiley, N
1979.
18. P. Keuning,2D Shape from Touching, Ph.D. thesis, University of
dam, April 1995.
19. D. E. Knuth,TEX and METAFONT, Digital Press, Am. Math. So
dence, 1979.
20. J. C. Latombe, Robot Motion Planning, Kluwer Academic, Do
1991.
21. P. Maragos, Slope transforms: Theory and application to nonline
processing,IEEE Trans. Signal Process.43(4), 1995, 864877.
22. A. E. Middleditch, The representation and manipulation of conv
gons, in Theoretical Foundations of Computer Graphics and CA
Earnshaw, Ed.), Springer-Verlag, Berlin/New York, 1988.
8/13/2019 Ghosh Support Functions
25/25
SUPPORT FUNCTION REPRESENTATION OF CONVEX BODIES
23. E. E. Milios, Recovering shape deformation by an extended circular image
representation, in Second International Conference on Computer Vision,
December 58, 1988, pp. 2029. IEEE Comput. Soc., Los Alamitos, CA.
24. V. S. Nalwa, Representing oriented piecewisec2 surfaces, inSecond Inter-
national Conference on Computer Vision,December 58, 1988, pp. 4051.
IEEE Comput. Soc., Los Alamitos, CA.
25. A. A. G. Requicha and J. R. Rossignac, Solid modeling and beyond,IEEE
Comput. Graphics Appl.12(5), 1992, 3144.
26. R. T. Rockafellar, Convex Analysis, Princeton Univ. Press, Princeton, 1970.
27. J. R. Rossignac and A. A. G. Requicha, Offsetting operations in solid mod-
elling,Comput. Aided Geom. Design 3(2), 1986, 129148.
28. R. Rubinstein, Digital Typography, Addison-Wesley, Readin
1988.
29. R. Schneider, Convex Bodies: The Brunn-Minkowski Theory, Ca
Univ. Press, Cambridge, UK, 1993.
30. J. Serra,Image Analysis and Mathematical Morphology, Academ
San Diego, 1982.
31. M. Wrightetal., Beyondthe HoughTransform:Further Propertieso
Mapping and Their Applications,Lecture Notes in Comput. Sci., Vo
pp. 361380. Springer-Verlag, Berlin/New York, 1996.
32. I. M. Yaglom and V. G. Boltyanskii,Convex Figures, Holt, Rin
Winston, New York, 1961.