Ghosh Support Functions

Embed Size (px)

Citation preview

  • 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.