CMTJ_CS-80.-I01
Geometric Transforms for Fast Geometric Algorithms
Kevin Q. Brown
24 December 1979
"_ -% t "%
Dep_.,r_men_ of Computer Science
Carnegie-Mellon U_iversi'_y+',,&. _ t
PILt_burgn, Pa. 1521 3
Copyright (C) 1 979 Kevin Q. Brown
Submitted to Carnegic-Mcllot_ University in partial fulfillment of the requirements forthe degree ol Doctor of Philosophy.
This resen,ch was pnrtially stlpported by the Of_-ice. of Naval Research undercontract number NO0014-76-C-0870,
24 Dc:c{'nil)_'r i ,q/!i. G_,oni_,ilic lrilil :;_*orlil:; PAGEI
Cs1. Intro,,llctioll 5
1.1. I li<_l_,ry (_ir C'_li/l_tti<_li_;li,il C,<:ol:ic:tiy 51.1 1 C(liiv_',;,: I' t• • ,1t ...... 5
11.1 r,.,:. Iltl._'r:;('.(;[i(_li 1 r_I_l_: ti::, 7
1 .1.4. (:;_:_il/('tli_': ,<:;c_il'Cllil_fi l"tt)t)l_;lll.'.:_ 9
1.2. I ll:_:';i,'; ()Illtiii_: 11
2. All I::x,-_rnplr,: I)i,_ill_ _.r il_ tlie. ,in(_ 18
?.3. (:_)';t l',,4_:,_.',tll_:, _l_I <'mi_ii,lr,;tily 1 7,,--)
,, _" PI Poil
2.7. t'riil_:ii,l_:::; (,':_\,_'r_I 21
;3. intersc, c l.ion _:_ii,:l/Jiiion I, o '_,,,_....n',s 23
3.1. liltr'.r,,_'(:ti()tl of I I_ll-,<-;p,_c,,,,; 23
(}.1 .1. t{,:l_l_!',_'lit,_li()ll of If,_I;-,5;i_,_c<,:,':;<'_i Tti(-ir Intcrs_:ction 243.1 " '.,. 1_\,,,,(:r IIr_il_lq 26
3.1 .,_. Illt_'tr;+,._:ti_m _f t latf-I>l,_it_::, ,,7")
3.1._+ t +I1++,'t\',]c+-l)i++l_:r+',i+>:l,il1P_l+l_:l+l 28
3. i .d,.;':'. lt_,dtirl_t:_nt t l,_lf-Pl:_;c,,_ 30
(}.1.3._,. A Ih_,iltl 1 I iI_,:: I)lintity ir_:_i'_:;fornl 32
3.1.3.4. Al>l_Ii_:;_tioi_ u[ ill,: [liil-i.<:l[<)rlil tt) tile Two-ditnensioilal 33[)l'ol-J'_'.Ill
2,.1.4. Ifil_'.r,";_'_:Ii_il of 1 tlit'.<!-.l)ilii_:li.<.,i(_i-i,:_ltic,If-Spaces 36
3.1.4. i. [",c:(tt;li(l<_RC;yin '1llrc:(: t)iinr:n_:,ions ,36
3 ......1 4 "> At_t_li<:,iti(:)li elf {[_: /ri:_tl.<,fi:_riii i.t) _l.<,l(.,lill{,r,<._t:,.ctiol-i of 39
I
(:I.1 ...._l Ili{_*i_.,_:_'liliit. tl,;_f-:_l_,_:,::_._itl f(itil ()I rvi()Ii, ["Jilllt,.i-iolt.)llS<-- 41
3.1 .._!.1, AI,I<'I_i,_i!: l)_'_;_;Iil>ti_l_ c:,f l:ii:c'lil (J_:ill(;y 42
3. i " "' _J_:il 45.,).,, . 1 lic' cT;(_i_:;Ji'r_lI 1"<111,','
?,.1_.,/.,_.'" l_'<Itillli,:_ll<:y, ill t1_;. Tl',_lile..;fOll;_ o"'l',ace 47
3.1 .[).4. [l(_<llili(1,.;lll_;:y Alli<_li<;} i',_ll l<_li-,<,!><ice,s 50
24 D('.c{:nll}(:rI.9Z{). (],::<m_ntric-Ir,!ii:,f(}rliiF; PAGE II
3.2. I,Ini(}ll_II_(IllIt_:r::_:_:LioIi{:_fl)i:;l:,':; 52
,'3.2.1. llc:l}r_::,_:_it,_ii_ _i" l}i:;!::_ _1_i ll_r,.ir t.l__i::,il(}r int<,r'_,uction 52
8 .....;') "_ I {}v./{:r l',,}l_il{l f¿_ ll_(: tli_i(}_j {_i lll_:l_-,qu[i_._tl oi Disks c_8
8.2.?,. 1I_: I_i',_{:r:.i{;_ ]li{Ii:,forin 54
3.2.4. Al!l{}Iillllt_ f{_l i_ll_:I':,{:'.(;ii{};t {}r l.lili_.,i_of Di:;k,s 55
3.2.5. II,'1_1I{'_1 t,_}i;l_,_lil.'., 57
3.3. l)_:riviili{}ll oI Iti{: t:'()il_t t l:l,:t l)_t_lily 58
8.4. S_itl_y 61
4. CollstrucIion of ,qcar{::,t ;,nclF:artli,.::::,t ['o;nt Di,_grara.s 63
4.1. [_cli{l(:a_iVorol,oi,'_I_(i[),'.la_li_ay[)iCi(ll',illl,% 63
4.1.1. I)_'lit_iti_}l_ _}[ t'l_,_i Vol_,li{,i ai_,_ll)(,la_ll_ay l)iagrarr_s 64
4.1 .P, I_{:l)r{ '',_:lli,_li,,fi (,f V(;lnitoi ,_,it(l ll){:la_l_ay l)iagram8 67
4.1.3. i'l,-_nar Vnn)l_ni I)ia{tr,:m Al,l,,ri(l',m 68
4.1.4. I ,:,t I >:1_'{;t_:{I-I iil)p. AI(II();':,[],ttI{_ 724.1 .'}. Iliflllr:r I)im,.n;_i,)il:, 73
4.2. ,"-;l,l_pri_:al N_'a_{-::,I ,il_(l 1 ,_i ill<:.',l [},.)i;_. VOI'()I1QI l)i,_(iralns 73
4.3. N(:,-,r{::,l ;,_{1 t ;_rll_::,l i _l!j,, I)i,_Li_,_I,_:, 75
4,4. SIlllllti_lry 78
6. Searcl_ii_g Tcs:_,c,l,_ti,,n:: 81
5.1. 1ia_nar l}r(_!]rallttllil_(i 81
5.2. I}i,_ni_:l_:r {_[ ,_ ,':;{_1{}f t",_ili[.'; 83
/:}.2.1. l)i,_ttl_:l,:r il_ I ',,n l)il_i(:It,':,i(:n::, 84
{}.;"., , I. 'II/ill:,[(}lllliii[llr(:i: l}ii;',(:.:il::.:l(}ii:_; 90
5.8. 8_l_;_y 101
6. l_iscetla_co_s Prol._lu_s and TL:Cllllli{Ii;!::,'.; 103
6.1. AI}l)r{}xi_l,_t{:: I)i_nl(;t(:r of Poiilt,s il_ I\;/(; [}itl_e.n.'_i(:ms 108
C;.1.1. f ir:;t At,i_r(}xiin_t(: [)i_n{:t_',r AIEloril!_m 108
{;.1.2. t;_:con{I Al_l_i(_;,:iil'_;,l;,. Dian_,":tcr Al.lori',hm 107
6.2. i-illix_g I.'oinl,'; ol_ a II(:i_ti_;I,t_;:..i{'. 112
6.2.1. I I_{" t w{_--I)iili,,:I_:,i_,_l Ca:,,(: 113
6.2.2. 1tl,: 1 ltI{:{'-l)i_n{:il',i_l_ai (',_ :;n 11 5
G.P.3. 11](: I (}_]r-l)iI_{:i_,',i{)naf Ca.',,:', 1 1 7
6.3. S_imniary 118
24 Dccc;n_l)c:r 1,_l/',f). Gccmlc:tric Tr,_ill,_;[ori_ls PAGEIii
7. Conclu:,ion 119
7.1. I rnll',f(_tJ!_', ,_ll{l l_:c:ll_i_l_,::,,_, 1197.2. New llr:_,lzll'; 120
1,3, ('_pc::llI_r_:d)l_,._il.'; 1217.4. C(_/_:tlJ,'_,i(:_n 122
Al_pL,i_(iix i. l-il_dil_!j _ O_:_odOi'icntz_ti{,n for i:::l_,ts 125
1.1. C_l:,,._'(I) 125
1.2. C_._;(' (2) 1271.2.1. ('a,*;__,(;-') for [ ill,',':; in _ l'I_ll(', 128
Appendix 11.{:r:l,-_tinn of i_in:n_::t'_:rto !,in;,ty Intersection 181
Appendix 111,(;cor_c, tric lr,,_;sfor;,_.*; c,l_d Al,l;_Iic,_tior,s 1,35
III. 1. l)_i_/-to-l_(_il-,[ I r,_.,f_)l'l_,'_ 135
111.2.I)_,_lily 1 l'_ll_:;i(_!'_l_ 138111.3.Mi:_cpll,:_l_(:c_ar,11,*_l_.';Iorm.'; 140
Rcf_:.rence::; 143
Index 151
24 Dccen_l_cr 1 ,r,.l"r)(,. G('.on_(;tric [ran,', forms PAGEIV
24 December 1979. Geometric Transforms PAGE 1
ABSTRACT
Many computational problems are inherently geometrical in nature. For example,
cluster analysis involves construction of convex t_ulls of sets of points, LSI artwork
analysis requires a test for intersection of sets of line segments, computer graphics
involves hidden line elimination, and even linear programming can be expressed in
terms of intersection of half-spaces. As larger geometric problems are solved on
the computer, the need grows for faster algorithms to solve them. The topic of tills
thesis is the use of geometric transforms as algorithmic tools for constructing fast
geometric algorithms. We descrii)e several geometric problems whose solutions
illustrate the use of geometric transforms. These include fast algorithms for
intersecting half-st)aces, constructing Voronoi diagrams, and computing tile
Euclidean diameter of a set of points. For each of the major transforms we include a
set of heuristics to enable the reader to use geometric transforms to solve his own
problems.
24 December 1979. Geometric Transforms PAGE 2
24 December 1 g79. Geometric Transforms PAGE 3
Acknowledgments
The CMU Comi)uter Science Department has provided a rare combination of a very
pleasant atmosphere and excellent facilities that I do not expect to find very often
for many years. Michael Shamos introduced me to computational geometry. I would
especially like to thank Jon Bentley for his encouragement and Ilelp on my thesis
and other work during tile l)ast few years, lie has gone beyond the call of duty so
many times that I really do not know how to adequately thank him,
24 December 1979. Geometric Transforms PAGE 4
24 December 1979. Geometric Transforms PAGE5
1. Introduction
Many computational l)rol)lems are inherently geometrical in nature. For example,
cluster analysis involves construction of convex hulls of points, LSI artwork analysis
requires a test for intersection of sets of line segments, computer graphics involves
hidden line elimination, and even linear programming can be expressed in terms of
intersection of half-spaces. As larger geometric problems are solved on the
computer, grows for faster algorithms to solve them. To obtain fast geometric
algorithms a set of tools and techniques has been developed that takes advantage
of the structure provide(l by tile geometry. This discipline is known as
Computational Geometry. In the following sections we first survey the previous work
in computational geometry and then outline the contributions of this thesis.
1.1. History of Computational Geometry
Geometry has been studied for thousands of years but only recently has it been
recast in computational form. Shames [91]descril)es the history of geometry from
the perspective of a computer scientist. Here we wilt consider only the history of
computational geometry. There are several problem areas to which much research
has been devoted -- construction of convex hulls, intersection problems,
closest-point problems, and geometric searching I)roblems. In this section we
summarize the major results in each of these areas and also a number of topics that
do not fit into tllese categories.
1.1.1. Convex Hulls
The convex hull of a set of points is a fundamental geometrical structure that
arises in a multitude of different problems in the literature and this thesis.
Mathematics texts define the convex hull of a set of points S as tile smallest
convex set that contains all of the points of S. This definition is fine for proving
theorems i)ut it does not help us (lesign a fast algorithm.
In 1970 Chand and Kapur [25] produced a convex hull algorithm for N points in
K-space. Tlley ai)plied a i)rocedure called "giftwrapping" to obtain a good (but not
24 December 1979. Geometric Transforms PAGE 6
• ® J
O
Figure 1-1: Convex hull of a planar set of points.
optimal) algorithm. Graham [48] presented an O(N log N) time planar algorithm in
1972. This is optimal, in the worst-case sense, because an algorithm that
constructs a convex hlJll can be used to sort [91]. (If we require only the vertices
of the convex hull, then we can no longer use a convex hull algorithm to sort.
Nevertheless, Yao [103] has proven that ,Q(Nlog N) time is still required in the worst
case when only quadratic functions of the input are allowed.) Jarvis
[54] subsequently applied giftwrapping to the planar problem to obtain an O(VN)
time algorithm where V is the number of vertices on the hull. If V is less than
O(Iog N) then Jarvis'algorithm is faster than Graham's. (Preparata [81] later refined
Graham's result by constructing an O(NIog N) time real-time planar convex hull
algorithm. Rather than operating on all N points collectively, this algorithm updates
the hull in O(tog N) time after each point is read.) Preparata and Hong [83]then
solved the three-dimensional convex I1LJli problem in O(N log N) time. In four
dimensions, however, there is an _(N 2) lower bound because the convex hull can
have tg(N 2) edges ([49], p.103).
The lower boL_nds above apply only to the worst-case. If tile expected number of
points on the convex hull is sublinear, then faster expected-time algorithms are
possible. Floyd [40] and Eddy [80] independently discovered a planar convex hull
algorithm with O(N) expected-time when the N points are drawn from a uniform
24 December 1970. Geometric Transforms PAGE 7
distribution over a convex region. Bentley and Shamos [16]improved that result to
include any distributiocl for which the expected number of points on the hull is O(Np)
for some p < 1. Furthermore, their result extends to O(N) expected-time in
three-space while maintaining an O(N log N) worst-case time. For K dimensions we
may still construct the convex hull in O(N) expected-time if the K coordinates are
drawn from independent distributions. In this case the expected values for the
numl)er of maxima and the sqllare of the number of maxima are only O(Iog K'IN) [10]
and O(iog2(K-1)N) [30], respectively. Even though the worst-case number of
edges, faces, etc. of a K-dimen.sional convex hull of N vertices grow exponentially
with K, the expected size of the convex hull is still only a power of log N.
1.1.2. Intersection Problems
Intersection I)roi)lesns Ilave also received a great deal of attention in recent
years. They occLlr in a variety of areas including computer graphics, architectural
data bases, printed circuit d{:sign, and even linear programming [94, 12, 2, 65].
Shamos and Hoey [90, 91] constructed several fundamental intersection algorithms
including a linear time intersection of two convex polygons, which is applied
recursively in their O(N log N) time algorithm for intersecting N half-planes. Hoeyts
O(N log N) time algorithm [94] to determine if any two of N line segments intersect
has been extended by Bentley and Ottmann [12] to report all K intersecting pairs in
O(N log N + K log N) time. (Brown [24] has reduced the storage requirement of
Bentley and Ottmann's algorithm from O(N + K) to O(N).) if all segments are either
horizontal or vertical, tllen ttle nun_ber of intersections K can be counted in
O(N log N) time and r(;ported in O(N log N + K) time. (See [4, 19, 98] for rectangle
intersection l:)roblc,uls and algoritl_ms.) Finally, Zolnowsky [106] and Preparata and
Muller [84] have at)plie(l geometric transforms to produce thr_e algorithms for
intersecting N three-diniensional half-sf)aces in O(N log N) time..
24 December 1979. Geometric Transforms PAGE 8
1.1.3. Closest Point Problems
Closest point l)roblem.'_ arise ill cluster analysis, pattern recognition, and, in
particular, construction of nlinimum spanning trees [93, 3]. Dot)kin and Lipton
[;34, 35] used an interesting duality transform to prove an _(N log N) time lower
bound for the element-uniqueness l)roblem 1 under a model of computation that
allows (<,=,>) comparisons of linear functions of the input. 2 This proves an _(N log
N) time lower bound for the problem of finding the two closest of N points. Their
model of computation, I_owever, allows only comparisons between linear functions of
the input. With a stronger model of computation algorithms faste_ th-an O(N log N)
time are pos._;ible. Fortune and Hor_croft [41] showed that if the floor function is
allowed, the two closest points can be found in O(N log log N) time in the worst
case. Previously, Robin [go] and Yuval [104] had given O(N) expected-time
algorihms for the K-dimensional closest pair problem.
Meanwhile, Bentley (and others) worked on multi-dimensional nearest neighbor
problems [9, tl, 14, 17] and he invented a data structure called a K-D tree to
solve them efficiently. Bentley's thesis [3] employed a strategy called
multi-dimensional divide-and-conquer with which he obtained the first
sub-quadratic algorithms for several multi-dimensional closest point problems. His
thesis is also a good source for learning al)out algorithm design -- rather than simply
presenting the finished product he displays the algorithm design process and at the
conclusion presents a list of heuristics to use ill designing algorithms.
Shames and Hoey [89, gl, 03] created an O(N log N) time divide-and-conquer
algoritlim for coclstr_Jcting a Voronoi diagt_m of N planar points. A Voronoi diagram
1The elernent uniq, Jen(,ss problem is to detcrmir, e whether all N elements of an unordered multiset are unique.
2If the allowed ((.,--,>) comp,_r_son-, nr_, restricted lo be between the N elemenl_ themselves -- no linear
functions of the input -- lhen an_'](N log N) tm_e lower bound{s easy reprove. This is because no ordering of the
N elements oilier |tl_.zri a total ord,,.,ring c:ml (i_.,'_rant(:'e that no two elc, ments are equal. Construction of a total
ordering, however, requires a sort, wMch cost:, _(N log N) time.
24 Deceml_e_ 1979. Geometric Transforms PAGE O
(to l)e described in detail in Section 4.1) contains all of the necessary proximity
information to solve efficiently a r_umber of c',osest-i)oint problems including
construction of a Eucli(l(_afl minimal spanning tree, a proper straight-line triangulation
of the N i)oit_ts, and tl_e nearest neighbor problem. Bentley, Weide, and Yao
[18] have extended the tccl_niqu(.,.s of Wcide's thesis [99] to obtain a linear
expected-time algorithm for constructing a planar Voronoi diagram. The only
conditions are that tile l)robability density of the underlying distribution be bounded
both above by a constant and (below) away from zero over some finite region.
Bentley and Friedman [8] describe a heuristic solution for a minimum spanning
tree algorithm in multi-dimensional Euclidean space aJl(l Yao [102] has constructed
provably s[Jbqua(lratic worst-case MS] (and related) algorithms for the L1, L2, and
L(x_ metrics. (For K >_3 di_nensions his algorithms take O(N2"c_(K)(Iog N) I"c_(K)) time
where _(K) = 2 "(K+I). For the sj')eci_l ca,-,c_ of the Euclidean metric in three
dimensions t lli,s is improved to O((N log N)1'8) time.) In general, though, construction
of a mis_imu_l '.-;t:_attl_iiigtree. is a gr_t)ll probleln. Kruskal [63] and Prim [85] give tile
classical O(EV) time algorithms (improved to O(V2) time [32]). Both Yao [101] and
Cheriton a_ld Tarjai_ [20] f_resent O(E log log V) time algorithms for general graphs of
E edges and V vertices, and Cheriton and "larjan [26_] also present an O(V) time
algorithm for planar graplls.
1.1.4. Geometric Searching Problen_s
As we saw above, many closest-point t)roblems have associated searching
problems; in tllis sectio_l we s_mmarize a sel)arate class of searching problems that
are not related to a_y partic[Jlar closest-point t)roblem.
Shames [89] giv_-.s an algorithm thnt locates a point in a straight-line planar graph
of N vertices in O(Iog N) time and Dobkin and Lipton [33] and Dewdney
[31] extended this techlliqLte to K dimensions. Unfortunately, the storage and
preprocessing time required by these algorithms are prohibitive -- O(N2) in the
planar case and O(N2K) in the K-dimensional case [102]. Lee and Preparata
[66] improved the storage and I_ret)rocessing time at the expense of increased
24 Deceml)er 1979. Geometric Transforms PAGE10
searching time, givillg an algoritllm with O(Iog2N) query time, O(NIog N)
preprocessing time., and O(N) storage. (Shamos and ttoey [89, 93] had achieved
tllese bounds for" searclfin(I Voronoi diag_,_ms.) Another alternative is Preparata's
algorithm wilh only O(Iog N) ql_ery time but O(N log N) l_reproces,sing time and storage
[80]. In 1977 Liptosl alld "[arjall aclfievud _Ii O(Iog N) query time with only O(N log N)
preprocessing time and O(N) storage [6.q, 70].The point location problem is
generalized to tl_e location of a set of l)oir_ts in [6;5, _32].
Kung, Luccio, and Preparata [04] worked on the problenl of finding the maxima of
a set of N vectors in K-space. (A vector is nlaximal if none of the other N - 1
vectors are greater in all K coordinates.) Using divide-and-conquer, they
constructed an nlgoritl_m that finds the maxima in O(N log N) time in two dimensions
and O(N (Ioq N) K-2) time. in K >_3 din_en.siorls. Tl_ey also proved an £(N log N) lower
bound for the l_roblcm. Maxima are important because of their relationship to
convex hulls and ECDF's (to I)e described). Bentley, Kung, Scllkolnick, and
Thomi)son [10] extended tllose results to obtain a linear expected time algoritllm.
Bentley an(l Silalnos I_ave crc;_ted a faz_t algorithm for constructing and searching
an empirical e.umulaliv( _.distribution funclion (ECDF) [15]. An ECDF is an extension
of the familiar or_(>.-din_e.._l.<;iolialcunluiative distribution function. The value of the
function at a point in one dimellsion is the number of t)oints with smaller x
coordinate. In K (lilneilsions it is the nulnber of poirlts that are smaller in all K
coordinates. Be.lltle.y and Shamos apl)lied nlulti-dimensional divide-and-conquer to
acconlplish ECDF searcl_ing irt O(logKN) time with O(NiogK-1N) storage and
O(N log K'IN) t)reprocessing time, Bentley has ftirtller elaborated this in his papers
on range searclling [6, 9, 11].
Bentley and Saxe have. cllaract{!:rized prol)erties of a large class of problems
called decomyosal)h _. so;arching problems that include many geometric searching
prol)lems, including L-CDF <_earcl_ing [5]. A searching problem is decoml)osable if the
search for the relatioli of an object x to a set S = A U [l satisfies
query(x, A U D) = query(x, A) • query(x, B)
24 December 1079. Geometric Transforms PAGE 11
for any sets A and B such that S = A U B and some binary function "," that is
computable is] 0(1) time. Decomf)osable prol)lems have several interesting
properties, one of which is that any static searching algoritl_m for a decomposable
prol)lem can i)e nlechanically transformed to a dy_,amic searching algorithm with a
loss of at nlost O(Iog N) in preprocessing time and query time. They have extended
this reslllt to a (:lass of alternate t)reprocessing time, query time, and storage
tradeoFfs [13, 88].
1.1.5. Miscellaneous Geometric Problems
There are several topics that do not properly fit into any of the above categories.
For example, we sl_ould mention that Garey, Graham, and Johnson and Papadimitriou
and Steiglitz were the first to demonstrate that several geometric problems are
NP-Complete [45, 74]. Also, Shamos has applied many of the techniques of
computational geometry to statistics and created a new field of computational
statistics [90]. KCDF searching ({lescribed above) grew from this work, and
Weide's the.sis [99] gi\/¢:S many iml_ortant applications of statistical techniques to
COml)t_te.r .scic'_ce prol_lcms. This includes a linear C;Xl)ected-time sorting algoritllm
for any set with an un(lerlying distribtltion having a bounded t>robability density.
1.2. Thesis Outline
The topic of tl_is thesis is tll(; use of geometric transforms as tools for
constructing fast ge(_mctric algoriti_ms. The object of using a transform is, of
course, to [live the" problem a more useful representation tllan it had in its original
form. Ther(: is, however, Jlo explicit rule for determining whic;;, if any, geometric
transform(s) can be applied profitably to a particular problem. Instead, we have
generated h(,uristics for application of the geonletric transforms. It is intended that
these heuristics will help the read(:r use geoEnetric transforms to solve his own
problems. In the fcHIowing chapters we describe a collection of geometric problems
whose solutions illu._tr,'_tc-',tl_e L_seof geometric transforms. The algorithms provide
not only exanll)les of tile aPl>lications of the transforms but also are useful results
24 December 1,r)Y9. Geometric Transforms PAGE 12
by themselves.
The use of tral_sforms is not new to computer science. For example, the concept
of NP-coml)le!e I_roblems (!alltluagcs)is l)_se(I on polynomial time reducibility of one
problem to anc_ther [1], the FFT (Far_t Fourier ]ransform) is used for fast
multil)iication of I)_.)lynonlial::; [201], and nl,_ny "filLer" trnnsforms are used in pattern
recognition. We,. also encounter transforms in the solution of gifference equations
that arise in tl_e allalyz_i.'_of alcioril.hms (tlle z-transforn] or generating function) and
solution of differential _.,.(1L_ati(:msthat arise in analysis of several types of queueing
systems (Laplace transform) [6i]. Y(::t anotf_er conlmon example is obtaining a lower
bound on the coniplexity of a I>roblem X by (lemozlstrating the,it an algorithm that
solves X can solve a I_roblem Y for wilich _:_lower bound is known. (Shames' thesis
[91] gives several examples of this,) Fincdly, we should also mention Parker's
thesis [75], which explicilly a(Idresses the application of transforms to the problems
of Huffman tree construction, solution of nonlinear recurrences, and construction of
permutation networks.
Chapter 2 establish(;s the cow,text a_d direction of ttlis thesis with a simple
example - thr; di;_me.ter of N planar points in the L1 _nd Lo:) metrics. Before this
problem is (.liscLl.'_sed w(_ first s(.'ttle .';ever_l issues -- model of computation,
representation of the g¢;om{:,.trical objects, measures of complexity, and, of course, a
definition of diameter in the L1 and L._;,::_metrics. We present an algorithm for
computing the I,o diam_:t_r and use a O,::ometric transform (rotation) to transform
the L 1 diameter prol_l(_m to an L(:,::,diamct_;r problem. We follow the same schema
followed tllrotJ£1hotJt ti_: tilesis; Given a l)roblem Y and an algorithm that solves a
(related) prol:_lem X, we apply a geometric transform f that transforms problem Y to a
problem of type X.
In Chapter 3 we describe the al)plication of geometric transforms to intersection
and union I_roblems. We solve two l)rot)lems in detail (lhe intersection of
half-spaces and the {inion of disks) an(l give ol)timal algorithms for each. More
importantly, we present several transforms and techniques in this chapter that will
24 Decemher 1079. Geometric Transforms PAGE13
be encountered mal_y times again in succeeding chal)ters. The first transform
introduced is a poillt / flat d_ality that transforms problems that involve flats 3 to
(simpler) problems Ll_at involve points. The second new transform (inversion)
converts problems that involve circles or spheres to problems of lines or planes.
Inversion1 is typically con_bined wil.h an emhedding of the problem in a higher
dimension lo add al_oth_:r d{;gree of freedon_ to the problem. We also introduce the
convex I_ull (a f_l_(lameI_tai gcometric_l structure) in the first of its several
at)t)lications it_ i:his tll_,._is. Finally, the tech_iques of Chapte.r 3 are tied together by
derivillg tll{; l_oillt / flat du_lity from a limiting case of inversion combined with a
convex hLzll and a linear tran.';form.
In Chapter 4 wc apply inw'.rsion (after embedding in a higher dimension) and
convex hulls to the, constrt_ction of n_arest poi_t tessclations of space. The most
important such tc;s,nelation is the Voronoi diagram, wl_ich enaMes efficient solution of
a numl)er of geometric problems including nfinimun_spanning tree, closest points, and
Delaunay triangulation of a set of points. Shames [89,93,91] applied
divide-and-conqtier in the l:_l{-_neto obtain the first O(N log N) time planar Voronoi
diagram al.goritlm_, ll_is thesis [lives a new O(N log N) time algorithm that extends
strai[ihforwardly to hi,tiler dimensions.
Chapter 5 (lesr:ril_es two sl_rpri,';ing applications of algorithms that search
tesselatio_l,'; aa_(Itf_e, transforms t_,,._c:darc the same, in l)oth cases -- the l)oint / flat
duality followe.d I)y anorthogr,_l)llic t,rojection. We transform linear i)rogramming in K
variables at_(l N con.'_traint,,:; to a l_r'oblel]_of locating a i)oint in a K-l-dimensional
tesselation ind_cedl_yNl:,nints. rl_er_rohlemof comf)uting the Euclidean diameter of
N points in tt_ree-sp_ce i.'; tra_sfo_med to tl_e problem of finding all pairs of
overlapping r_:gion:;; in two outerl-_lan_r gr,'_l)hs of O(N) vertices, which can be solved
in O((N + K)log N) time and O(N) storage (where K is the number of pa'irs of
antipodal vertices of tl_(; convex hull of the N points).
3A flat, also kr.:,wr_ as a hyperptane, prime, or a (K-l)flat, is a K-l-rJ_mensional linearly closed subspace of
K-space. Thus a line is a flat in the plane, aplane isa flat in three-space, etc.
24 December 107,9. Geometric Transforms PAGE 14
in Chai)ter 6 we cover several miscellaneous I)rol)len_s that do not fall in any of
the categories of the previous chapters. We describe a use of the floor function to
obtain an O(N + 1/() time (-al_proximation algoritllm for the Euclidean diameter of N
planar points and also demonstrate an application of gnomonic projection in an
algorithm of Yuval [105] for determining if N spherical f)oints can be fit in a
hemispherical cap.
Chapter 7 stllnmarizes the thesis an(l points out directions for further work.
Appendix I d_:scril_(',s tl_e prol)l(:m of choosing a good orientation for flats (before
applying tl_(_. point / flat (lu_lity). AI)l:_Cn(lix 11 gives an approach toward an
_(N log N) tim_: lower I_oun(l for the Euclid,;an dic_mc,ter of a set of N planar points,
and At)t_en(lix III stJl_lnarizes tile g¢,.o_netric transforms use(l, their important
properties, an(l tlleir apl)lications.
24 Decemher 1979. Geometric Transforms PAGE 15
2 An *",• '"v Dian e :r in the Plane
This chapter gives sonle of the flclvor of qeon_etric transforms by presenting a
simple exampl(; -- tile transfornlation of the l._rohlomof computing the L1 diameter of
a set of N planar points to the problem of COml_utingthe L_x) diameter of another set
of N planar points. But first we require solne definitions and explanations along the
following lines:
1. a precise i)rol-_lemspecification,
2. a model of con_r_utation,
8, an al_f_ropriate cost in_-.:._tircs-<__" to measure tile complexity, and
4. the rel_resei_tatiuil of tlle l_rol)l,'.m and tlle solution.
In tile followintt sec:tioil._ we will address tl/ese i._cl_s<;<" '" and tlien construct algorithms
for the L 1 and l,_:_dianintnrs of a set ol planar points.
2.1. Problem Specification
Let S = { Pi = (xi,Yi)' i=1 ....N } be a set of N f)lanar points. If D(Pi,p j) equals the
distarlce (in _;ome as-yet unspecified ntetric) t)etween points Pi and pj, then thediameter of S is
DIAM(S) = max(i,j) D(p,,pj).
The value of DIAM(S) (lel")c.nd.,"(;, of cotirse, on the metric cltosen for D. The three
metrics of int{;rest in l/to.st _Lpl:_licatioll.':,aro
L 1 metric: D1(Pi,Pj) = Ixi" xjl + lYi" YjI
L2 (Euclidean) nletric: D2(Pi'Pj) = ( (xi - xj )2 + (Yi- yj)2 )1/2
L(,) nletric: Do:_(Pi,i)j) = max( Ixi- xj], lYi" YjI )
Let the (iianle.ters in tllese three metrics l)e denoted DIAMI(S), DIAM2(S) and
DIAMG)(S), r_specti\'ely. Thc; zinit circles for tilese metrics are pictured in Figure
24 December 1979. Geometric Transforms PAGE 16
L1 L 2
Figure 2-1: Unit circles in the L1, L2, and L_x) metrics.
2-1.
Tile probleln that we will solve is
Given an algor,itllm tllat con_l:_Utez!_DIAMo:_(S) for any set S of N planar
poilits, ('oll_;lruct an algorjLtlm tllat c(mll)utes DIAM1(S);
The solution lakes advantage of a natur_l isomctry between (he L1 andLeo metrics
in the plane [27]. Wc will cover the L2 (Euclidean) diameter in Section 5.2.
2.2. Model of Computation
What tools are we (live.n to complete DIAMI(S) and DIAM(x_(S)? In other words,
wllat is tile model of comt)ut{_tion? "rl_ere are two (conflicting) criteria to be used in
our choice: (1) how re.atistic,'_lly the. model reflects the capabilities of real
machines, an(I,(2) lnatllcmatical tractit)iiity of the tnoc_el. The real RAM [91] (similar
to the integer RAM [1]) is a reasonable coml)romise for much of the work in
geometric algoritllms. Its capabilities _,re basically those of any reasonable*
algebraic i)rorjrammJng t,'ln(itza£1{: -- tl_e four aritllmetic operations (+,-,x,/),
comparisons between t_un_bers(<,_<), and indirect addressing (for convenient access
to arrays and other slrtJcttlres). AwOrdin a real RAM is assumed to be able to store
a real ntJmber exactly; altlicitlElt_ tl.li.':; asstJml)tion is not entirely realistic, it is close
enough for most practi{=al al,plic,_ti{_ns. We often au_ll_lent the arithmetic operations
to include arbitrary al_alytic rt_c[io_s (trigonometric functions, exponentials, and
logarithm.'-;, etc.), l l_: floor ft_nction, on tl_e.other hand, will not be included without
special comment because it is not analytic.
24 Decemher 1079. Geometric Transforms PAGE17
The floor function (io_:.;ssc_:::mto add power to our model of computation that is not
available from analytic fus_(::tion.';alone. Gonznlez [47] used it to find the largest
gap l)etwee.n N (unsorted) real numbers in O(N) time and Fortune ancl Hopcroft
[41] solv{,.(l the ('losest-t_oint prol)lem in O(N log log N) worst-case time. Several
fast exl_ent_(l-titne alrloritl_n_s us(: the floor function, including the linear
expected-tin:(', closest point algoritl_ms of Rabin [86] and Yuval [104]. Weide
[99] uses it to improv(:: Ills lil_ear ext;ectcd-ti_e sorting algorithm (for all underlying
distributions with botindcd density) and Bentley, Weide, and Yao [18] extend
Weide's res_81t to line_r expected-time Voronoi diagrams (for certain probability
distribu tions).
2..3. Cost Measures P,nd Complexity
Now that the modc:l of compt_tation has been defined we can talk about the cost
or colnplexity of a;i algoriti_ or l;rol._l<,.m. O_l a real I{AM each arithmetic operation,
coral)arisen, or (indirect) m,:;li;ory rc:fr:r{:nce has _n associated cost. The cost may or
may not (te,r_e_(l on tt_(::argt_ments for tl_(: oper{_tion, the numbers compared, or the
contr, nls of the; m{:mory r_:fnrcnced. The-:logarithmic cost criterion for an integer
RAM [1] does assiun a .qreat('.r cost to manipulatiolls (additions, coml)arisons, etc.)
of large integ_:rs tllan for small integers. But for a real RAM it makes more sense to
use tile uniform cost criterion -- all operations, comparisons, and memory
references hav#. a tJnit cost, indep(.'.ndnnt of the numbers being manipulated. We will
use tile uilifor_l_ cost criterion tllrougl_out the thesis.
The cost of executing an al(Iorithm is known as the complexity of that algorithm.
The compl_:'.xity of a problem is the minimun_ complexity of any possible algorithm
that solves it (unde.r the giw:n model of coml)utation). (The complexity of an
algoritl_m i.'; always al_ l_l_per bot_ld for the complexity of the problem it solves.) The
complexity of an _lgorithm or a i)rohlc'm is usu_lly expressed as a function of the
size of tile problem. The size may l)e th(; number of words of input, output, or
whatever is most _i_t:_rol:_ri4_l.(_.for tl_:,, particular i)roblem. It is often, however,
inconvenient and un_lec(_.ss,:_ry to obtain an exact count of all the operations,
24 December 1 970. Geome,tric Transforms PAGE 18
.4
comparison, and memory referenc;_s'th_t an algoritlm_ makes for any particui'ar
problem site N. Knuth [62] ha.', pol)LJilarizc:da convenient notation for talking about
asymptotic bounds on tile complexity of an algorithm or problem:
O(f(N)) = set of all f_Jnctions u(N) such that for some positive
constants M ail(l C, Ig(N)l _<C f(N), for all N > M.
_'t(f(N)) = set of all functions .ct(N) such that for some positive
constallts M and C, g(N) ". C f(N), for all N > M.
O(f(N)) = set of all fun(titres el(N) such that for some constants M, C1,
and C2, C 1 g(N) _<f(N) _<C2 u(N), for all N > M.
An algorithm tl_at solves a problem of size N in f(N) time thus proves an upper bound
of O(r(N)) for the Lime conii_l(_xity o[ tile t_roblem. If a lower bound of _(f(N)) time is
also known for that problem, then that problem has time complexity e(f(N)). The
complexity of an algorithm may alternately m_:asure tl_e space or storage used. The
notation is til(_ same as for time., complexity, and wc thus may speak of an algorithm
having time conli)l_'.xity O(I(N)) and space c,oml)lexity O(S(N)).
2.4. Representation of the Problein an(; Solution
Flow sholJld a set S of N I_lanar pointr_ hc: represented in a real RAM to enable
efficient COml_lJtutiun of DIAM,:,::,(S)and DIAMI(8)? Many data structures would be
suitable l)ilt tlin ,',ilnl_lest i.q nitl_er _n N-by-2 array or two arrays X and Y of length N.
These reprc, se'._t_:_tions at(.,, reducible to each o_her in li_e,_r time. Similarly, different
coordinat( _. syst(,-.ms for the. i)oillts (X-Y vs. polar, etc..) are linear-time reducible.
(The solution -- the (ti_mc-.ter -- is simply a scalar real so its ref)resentation is not an
important issu(_ in a r_;al RAM.) For more complicated geometrical objects such as
polygons, i_olylledrons, a_(t Voro_oi diagr_ms the issue of rel)resentation is not as
easily solved, and those t)rohl_:ms will l)e tackled as we come to them,
24 December 1979. Geometric Transforms PAGElg
2.5. AlgoriU_rn for Lm Diarnc, ter of a Set of Planar Points
The l,:_:_di,'_in_t_'r of a set of planar points can now be computed fairly easily.
This is becat_,_;e, as shown in Figurc_ ,2-1, the circle for the L(x) metric is a
rectilin(:arly oriented ,'._(tl_ar_:, The I.u., diameter is sirnply the diameter of the
smallest rectili_lcnrlyorie_t_.d '.-;qLJ_,retl_t contains all of the points. The diameter is
therefore cill_,::r tl_e dii'fr;rence in y coordinates of the higilest and lowest points or
the difference in x coordil_ntcs of tl],", riglltmost and leftmost points. Here is a
pseudo-Algol (Ir.,scrir, tion of tile corr(:spondiiig algorithm:
Lc_ Diameter of a Set of Pl_nar Points
Input: integer N > O, arrays X[1:1t] and Y[1:N]
Output: i.,:_:_dinm_;t_:r of the N pointsTime: O(N), Storage.: Input + 0(1)
YMill ,- YMax {- Y[1.1;
XMin ,- XMax e X[1];for l e .,2..tl_rLi N clo
begin
XMin_ min(X[I],XMin);
XMax <-max( X[I], XMax );
YMIn _-rain( Y[I], YMin );
YMax <--max( Y[I], YM_:_x);end;
I_{,:_l)iamnier _-max( XMax-XMin, YMax-YMin )
The O(N) time complexity of tile above algorilhm is optimal to within a constant
factor beca_l.se th{; _lgoritl_m must read _11of its N inputs to ensure a correct
answer. "lhere is, however, room for imt_rovement; for instance, the computation of
max and rain can be done in less than 3/4 as mal_y comparisons as are taken above
[76]. Note that thn :;torage requir_,.d is nctLi,'_tly 0(1) rather than O(N) because no
COml)utatio_ i_volw:s _()r_:: titan the Ith clement of X and Y at any given time. The
values in X alld Y cal_ th_:refor(,, l:)e rend froill a tap(; rather than stored in arrays.
24 December 1979. Geometric Transforms PAGE 2.0
" "" ".... q,_:of Planar Points2.6. Algorithm for L1 Dla,,,e,¢, of a _,,.,
In this sectioll we will constrtJct an algoritt_m for the L 1 diameter of a set of N
points. We. co_ll(I start from scratch, but since the [o:J diameter algorithm is already
available, it would I)e i_icc to i)_: able to make the L 1 diameter problem look like an
L(x_ diameter i:_rol_l_,m,tllat iu, ttan,;form it to an 1,:,odian_eter problem. Fortunately,
this can I)e doi_(:,, at_d tl_c: cluc is in Figure 2-1. The circle for the t_1 metric can be
made to look likn tile circle for tll_: 1::,_metric if it is simply rotated 45 degrees (and
multiplied by a scale fact{_r of 2;"2.) "[tii..-;leads us to the intuitive algorithm below=
L1 Diameter of a Set of Planar Points
Input: integer N > O, arrays X[I:N] and Y[I:N]
Output: L I DiameterTime: O(N), Sic)rage: O(N)
! Rotate the l)oiIIts 4.5 degrees;for I <. 1 thrli N _1o
begin
X' <-(X[I] + Y[I]) / 2J/2;
Y' <-(-X[I] + V[l]) / 2_/2;X[I]<-X'; Y[I],-Y';
end;
! Cornl:,tlte I ,,+,l)iamet+:,.rand .seal(TM- by 21/2;
I. 1[)iaill(::t+'r < DIAM,:x+(X,Y,N) ' 21/2;
"[he hard part is provinq that tilis algorithm is correct. Since the diameter is
simply tile n_aximum iilterl_oint dist{_lice, it will be sufficient to show that computing
the L 1 distance, hy the d{:finilion in ScctioI_ 2.1 is equivalent to the computation in
the algoritllm ul)ove, l_et 1)i = (xi,Yi) and i)i'= i)i rotatedTr/4 radians about the origin.
(The rotation can be clockwi.';e or cotintnrclockwise, as long as it is the same in
each case. Ill tile. al.qoritllin ulx:_ve.,we _lse tlle formulas x'= (x + y)cos(ft/4) and
y'= (-x + y)cos(n/4) to rotaie the points I[/4 radians clockwise.) The two
methods for coliiputillg the: L 1 distai_ce between Pi and I)j are:
24 December 1979. Geometric Transforms PAGEZl
1. (Definition) [ 1Distance(t)i,i)j) = Ixi - xjl + lYi- Yjl, and
2. (Algorithnl) L1Distance(Pi,Pj) = 21/I' • Lo:_Distance(Pi',Pj').
We prove lhis l)y reducing the secolld (alqorithm) formula to the first (definition)
formula:
•/'2 • l-,,:.,[)istancc(I)i',pi') = _. ' max( Ixi '- :x,j'!, !_,i' - y'! )
= • _J .....J ,-x,+y, lJ
= max(I(xi-xj) + (Yi-Yj)I, l'(xi'xj) + (Yi'Yj)I)
= L1Distal_ce(Pi,Pj)
TI]ere are fotsr i)on,'_ihle cases to satisfy:
1. x i- xj < O, Yi- Yj ( O,
2. x i- xj_ O, Yi- Yj >- O,
3. x i- xj_ O, Yi'Yj (0, and
4. x i- xj < O, Yi" Yj -> O.
In each of th,_se cases ttle identity holds. The algorithm for computing the L 1
diameter is tilererore correct.
2.7. Princi}_les Covered
In tl_is ch,:_l_t('.r we sotv_:,.d _ sim!_le (}eom(;tlic problenl -- computing the L 1
diameter of a set of planar I)oints -- and dcmonstrated the use of a geometric
transform. Several iJrincil_les I)ave been presented that will be encountered
repeatedly in this thesis: precise specification of the problem, choice of a model of
comi)utation, cost measures and analysis of the complexity, representation of the
problem and its solution, and, of co_rse, tile use of a geometric transform. The
choice of tile transform (rotation)in the example of tills,chapter may still seem like
son_ething I_lllle.(i out of a h,_t. Yet there is a method to it, as the following chapters
will demonstrate.
24 December 1 079. Gc:ometric Transforms PAGE22
24 December 1979. Ge,ome{ric Transforms PAGEZ3
3. Intersection and Union Problems
In this chapter we introduce two important techniques -- the use of a point / flat
duality and tile (:olnl:_isl(::duse of inverz_ion with eml)ecl(ling in a hiclher dimension --
and apply them to two qeometric intersection prol)lems. I-lie first problem is the
intersection of N (UPPF_R)half-spaces and the second is the union of (the interiors
of) N circles. For both of tl_e,se problel;_s we develop algorithms that ere optimal
(within a constant factor). Finally, the last section of this chapter shows tllat the
techniques ti_at we used for these two problems are actually more closely related
than they appear to be.
3.1. Intersection of Half-Spaces
In this section we analyze the problem of constructing the intersection of a set of
N (UPPER) half-sl:_aces. [he first topic that we cover is the representation of
half-spaces and their common intersection in a computer. Given this representation
we then prove Ul)per and lower bo_cts on ttl(; coral)laxity of constructing the
intersection in two, thr_:e, and hi£1her dime_v;ions, We conclude with fast
expecte(t-tilllc, alfloritl_ms _._ndsome Oldenproblems.
The reader sllot_ld carry away three important tools for the construction of
geometric algoritt_ms:
- A poil_t / flat duality that is al_plicable to a number of problems in this
thesis. It is _lsed for transforming (forlnidable) problems that involveflat.'; to (simpler) problems that involve points.
- A fast algorithm for intersection of (tIPPER) half-spaces. (An algorithmfor intersection of h;_If-spaces is Lmc:ful for linear progran_ming in two
or tl_ree variables [91],intersL-,ction of convex polyhedra, and as atool for _._olvingother geometric I>loblems.)
- ]he first of sev_rai important L_sc-;sof the convex hull of a point set.
We will use these tools many times in slicceeding chapters.
24 December 1979. Geometric Transforms PAGE 24
3.1.1. Representation of l l_lf-Si)aces _md Their Intersection
The first requiremeslt of al_y represenlation of a geometric object is that it
contain all of the. ncc.,'s.....ary information to describe tl_e object, and the second
requirement is tl_at it provide the. inrort,iation efficiently (both for encoding and
decoding). We, ,,;hall first de,'::,cribe s(_ch a rol)resen[ation for the two-dimensional
case (half-I:_lan(,,s und intersections of half-planes) and then extend our
representation to an arhitra.ry number of dimensions. The details of our
rel)resentatiotlcan be easilymodifie,d to a numbe.rof forms thatcan be reduced to
one another in constant time for a single ohject.
We represent a half-l)lane l)y ttle line I)ouilding the half-plane and a single bit to
indicate whicl_ side of tile linc= the half-plane is on. There are many ways to
rel)resent til(: t)oundary lil_{:, but we will u.';e tile slol)e-intercept form with the
understanding 1hat verti(:,+,l (or near-vertical) lines will require exceptional handling
(Appendix i). 4. TIio Ilalr-I)ia_le
y_< ax+t)
can thus be r(:l:_r{;,'_i{:Jlt_(li_s (a,l),O) and tile l_alf-l)lane
y>ax+b
can be r('.l)r(;.';entcd as (a,t),l). In a comptlt{'.r these maybe three (scalar) variables
or, if there are m,_t_yIlalf-plane_, three el_?m(>.ntsof an array.
The rel)r+-:s;_.nlatiof_ of th+: intersection of N half-planes is more interesting.
Certainly one (cl_u.ap) nlethod is to rel_r_;scrlt the N half-planes as described above
and include a scalar flag INT that indicatr:s that the intersection is intended. This
has the a(lvantage of representing the intersection fast (in linear time) but the
disadvantaqe tllat it: doesn't h{:ll) us quickly answer important questions about the
intersection, such as "Is tile intersection e.ml_ty?". Another possibility is to at)pend
to each of the N half-I)lanes a flag that indicates whether or not part of the
4preparata ar,d M,dler [84] u'.e a homocler_eous coord;r,,_te replesent_,tion, which treats all coordinates uniformly.
24 Deceml)e.r 1979. Geometric Transforms PAGE 2,5
boundary of tile half-I)lane is also a t_lzn(lary of tl_e intersection. (If tile boundary
of ilalf-pl_llc; i (1o_;.'_no[ meet tile intersection of the N half-planes, then half-plane i
is redundanl.) This rcl:_r(:sentation enal)lcs us to answer quickly whether or not the
intersection is empty I_u[ in the worst case it does not enable a faster solution to
questions of tll{i form "Is point P inside the intersection?". To answer such
questions qt_icl<ly we must store tile I_onred_Jndant half-planes in sorted order.
Since tile intersection of N lialf-plancs is a (possibly empty) convex polygonally
bouilded region with at most N edges, the representation that we will use is the
quadrul._le
(V, M[I:V], B[I:V], F[I:V]).
I lere V is the number of edges in the intersection, M and B are the slope and
intercept, respectively, of the lines determined by the V edges, sorted in
counterclockwise order, an(l I- is a bit vector that allows us to quickly distinguish
the inside from the outside of the intersection.
The representation of N K-dimensional half-spaces is a simple extension of the
two-dimensional case. if the half-space is
k- 1
Xk -< Z_,. _-_iXi + aki=1
then the rel)re;.'_eltt,_tion is siznply
(a 1, a2,...aK. 1, aK, 0).
Similarly, if tile "_<."is ret}laced by a "P" in the equation above, then the "0" will be
rel_lace(l by a "I" in the re) ....... .......... ntation In a computer, we can represent N
K-dimensio_lal I_alr-st_aces in one large array A[I:N,O:K] where the "side" bits are
stored in tile entries A[i,O].
The illt(_,r.-;(;ctioll of N K-dimcnsioll_l half-sl)aces is more difficult to represent.
This is I)ecalJ:;e tier: t{_tal nt_mhe.r of vertices, edge's, faces, hyperfaces, etc. grows
expoll_.'l_tially witli K. (If we ctloo..:;c tc) record ol_ly the half-spaces with flags that
indicate for each half-spacn wh,:.,tl_c:ror not it is redundant, then only linear storage
24 December 197.q. Geometric lransforms PAGE 26
is required. Unfortunat(_,ly, as we mentioned for the two-dimensional case, we would
not then l)e able to answer quickly q_Jestions of the form "Is point P in the
intersection?".) We must first establish some terminology. Let a vertex be called a
O-face, an edge a 1-face., and, in fjeneral, a j-dimensional I)iece of the intersection
be a j-face. We will represent the intersection of K-(limensional faces by
enumerating tile j-face.'; (for 0 g j .<_ K-l) and recording how they are
interconnect_.:d. Till:I; r_'.prc:'._:nl_tion of the: inter.'.;ection of N K-dimensional
half-spaces is [1_(;septtJl)le
(H, F, V, Conl_ectl, ConnectlPtr, Connect2, Connect2Ptr),
where
il[l:h,l:K] rel)r{;.'_el_t._;tile set of h flats determined by the K-l-facesof tl_e il_tersection,
F[l:h] is a bit-vector of flags that enable us to distinguish the insidefrom the outside of the intersection.
V[1 :v,1 :K] is tl_e se.t of v vertices det_zrmined by the N ilalf-spaces,
Conalectl is a table of I-faces used l)y ConnectlPtr,
ConnectlPlr[I,,l] is the subscript of Connect1 for the first I+l-facethat the Jill I-face bounct:-_,
Connect2 is a table, of I-fa{'n_; used by Conne,ct2Ptr,
Connect2Ptr[I,J] is tt_e subscript of Connect2 for the first i-l-facethat (l(_termine tl_e Jtl_ I-[_c(,, il_ counl_::rclockwise order,
Note that the fo_Jr "Conl_,._ct" arrays are jagged arrays rather than rectangular
arrays. They are also redundant, for ease of use.
3.1.2. Lower Bound
We prove an _-I(N log N) time lower bound for the intersection of N half-planes by
demonstrating that an algorithm that interse.cts half-planes can be used to sort.
(The lower bound al)t)li(;s for all halt-spaces of dimension K >_2 because half-planes
are just a special case of K-dimensional h4_l[-spaces.) Our construction follows that
of Shamos [91].
24 Dece_nbcr 1970. Geometric Transforms PAGE 27
l heorem I: The intersection of N half-planes requires £(N log N) time inthe worst case.
Proof: Given N real numbers ai, i=1, ... N we construct N half-planes hiby
hi: Y >--aix + (ai/2)2.
These half-pl_n_.s hi cnntain the orJ£1in and are bounded by lines that
have slope ai _fnd are tangent to the parabola y = x 2, The intersection ofthe h i is a co_lvex l_olygonal region whose edges are sorted by slope. We
simply read off tile slopes of these edges to obtain the ai in sorted order.
The proof of the lower bound for intersection of half-planes requires alower bolJn(l for sorting under a model of computation that can SUl)port the
operations Llsed in our construction above. This has been provided byFriedman [43], who proved an ,O,(Nlog N) time lower bound for sorting
under a model of computation that allows analytic functions of the input.Since our construction re.qtJires only analytic functions, the _(N log N)lower I)ound for sorting applies also to the intersection of half-planes.
3.1.3. Intersection of Half-Planes
Shamos [89] and Shamos and tloey [94] show that the intersection of N
half-planes has time complexity O(N log N). Their algorithm for constructing the
intersection in O(N log N) time rec_Jrsively applies their linear-time algorithm for
intersecting two convex N-gons. The algorithm that we describe below, on the
other hand, is based on a geometric transform (point / flat duality) that maps the
problem of intersecting half-i)lanes to two problems of constructing the convex hull
of a I)lanar set of points (and a simple intersection t)rol)lem.) Furthermore, it
extends to I_igher dimensi(_ns (unlike Shamos and Iloey's algorithm). We next
describe the decomi)osition of tl_e two-dimensional problem into three subproblems.t
The following sections characterize redundant half-planes, introduce the point / flat
duality transform and then apply the transform to the intersection of half-planes.
24 December 1979. Geometric Transforms PAGE 28
3.1.3.1. The Two-Dimensional Problem
In Figure ,3-1 we illustrate tl=e intersection of N half-planes. The intersection
itself is indicated by the shaded region. We partition the half-planes into two sets,
UPPER and LOWER. A half-plane is ill set UPPER if the line at its boundary is above
the rest of the haif-i)lane. Similarly, a half-plane is in the set LOWER if the line at
its I)oundary is below tile rest of tile half-plane. (If any boundary lines are vertical, J'
then we rotate all N half-planes a small angle.) The reason that we produce this
partition is tllat the transform (to be de.',cribcd) actually applies only to lines, not
half-planes. Since each line may be associated with two half-planes, we partition
the set of half-planes into two parts so that the half-plane determined by a line will
not be aml)iguotss. Our partition of the half-l)lanes also enables us to divide the
problem of intersecting the half-I}lanes into three parts:
1. Construction of U, the intersection of the UPPER half-plahes;
2. Construction of L, the intersection of the LOWER half-planes, and
,3. Tl_e intersection of U and L.
UPPER "-..--_ _ "'_._.._._-- ..... _=--• C__ ....... -_-p;__"...... _--..'c_,_, _ '_.,.. ,/ .
"p"f I' l ,I ..°_-
.'" ",' I '.-"'_'*%" ""-._-':I'--.
LOWER "_,,,_ U
(a) (b)
Figure 3-1: (a)lntersection of N half-planes., (b) Intersection of regions U and L.
As shown in Figure 3-1b, part (3)is relatively easy. If U and L have O(N)
• vertices, then the intersection (shaded region) can be constructed in O(N) time. We
24 Decen_l_(;i" 1979. Geometric lransforms PAGE29
describe lhe algorilhm in detail as Alrlorithm IntersectChains below.
Algorithm iiltersectChains
Input: Inlers(;ctions of I_alf-plan(:s U = (N1, UM[I:N1], UB[I:N1]) and L = (N2,
IM[I:N2], IB[I:N2]) where N1 and N2 are integers such that N = NI + N2
and UM, UI}, LM, aI_d LB arc, tile slopes and intercepts of the lines
determined by the. edges of U and L.5 The edges are sorted in
coui_terclockwi..;e or_J(_r:
uM[I]< <...<UM[NI]I.M[1] < I_M[2] <.,. < LM[N2]
Output: Int_ t(.r _1 of vcrticcs rs rrays M[I:E], B[I:E],c • E (n rot)or of the into cction), a
(slotJes and interc:(t:pts of the E edges), bit vector F[I:E] to distinguish
tll_:., inside from the outside oi: tl_e half-planes.
Time: O(N), Space: O(N).
1. Scan U and L (vectors UM, UB, l_M, and LB) from left to right until two
segments illtersect at a point P. (If no segments intersect then the
int_rs(.ction of tJ and L. is em/)ty.) The scan can be done in O(N) time ill
a manner .similar to the O(N) time merge in the merge sort algorithm.
2. Scan U and I. from right tn left _ntil two segments intersect at a pointQ.
3. If [' / Q, tl_r'n rntlir_ (in v{:_ct_)rs M and P,) the concatenation of the
chains oi line ,';r:gn_cnts of U and L between l)oiz_ts P and Q.
4. If I' = Q, tllr'.n 1he. intersection i_ tlnbolJn_le, d (or just tile point P = Q).In ihr, c,'_:,r: of an LJnbr_[Jii_lcd i_t_,'.r,_cction wn must determine, whether
to rettlrn tl,_: chain.'!_, 1o the. l{:-t[[ r_f P or the cllains to the right of P.
lltis can 1_-, d_,.l_:ril_i_,_,d l_y (:on_f_:trifl,,'j the ,'._!c4_esof the rays bounding
tier:: I_i:ft a_-_(trit]l_t sid,':.s of U and I_. If the .':,lope of tl_e lef [ ray of U isless th,'_n ll_e skein{:', o[ the, l,:'ft ray oi L, th_,n re.turn the chains to the
left of P. Othc, rwisc, rctlirl] the cl-i_lil-iS to the right of P.
5Since I.I is an i_d_.r:.,.,ct;,:,_ of UPF'FR t_lf-pfa_,:.,:, and L is a_ intersection of LOWER half-planes it i,s notnecessary to include bit vectors ir,clic_ii_,:! ir,sicJ,.,v.--.,outside of the half-planes.
24 Decen_l)(;r 197fi. Geometric ]ransform,s PAGE 30
We have jtlnt ,_er,.n how to constrlJct nffici_:ntly tile itltersection of N half-planes,
given U and L, tllc, int_:'rs(-(:ti<_l:_ of tli(:, UF'['[(t-; and tl_e [.OWER half-planes. Now we
must design a fast alrtoritllm for cozlstructi_g U and L. Since the construction of L is
so siniilar to tl+_-,cos_strt_(:tiot_ of U, we will describ(', oliiy the construction of U.
3.1.3.2. geduncl_nt l l_lf-Pl_'nes
Assume that tile N llalf-pl_:_le.s are _II UPPER half-planes. Some of these
half-planes, st_ch as h,qlf-I;lanc: k in Figurc:s 3-2 (a) and (b), do not bound any side
of the region of illt_;rsection. It would 1)('.nice if we could find all such half-planes
and throw tlletll away since tl_c:y do not cc_ntril)ute to the final result, Once that is
done, we can fitl(I ill{,', il_t+:r,s(;ctioll of th+.:',UI_PI:I1I_alf-planes ruther easily. As we
can see in Fi+.ttire 3-1 (h), the slcH_c:.',._of tile sides oi the chain U are monotonic
decreasing as we trav+,l from I{_[t to right. Given tl_c litres determined by the sides,
we need oJ_ly sc_rt tl_e li_:..'_;by _,lope to (lotet_nin(. tt_e order in which they intersect
to form tli(:+"sid(:s. Since tl_e ,';ort costs otlly O(N log N) time, we can construct the
intersection of tl_: tJt'I'll{ h4_lf-planes in O(N log N) time, once the redundant
half-planes h_ve t)ce._ {:limii_atc_t.
(,_) (b) (c)
Figure 3-2: (a) & (b) - k is red_ndant, (c) - k is nonre.dundant.
How do we d+'.termi_+ewhich l+alf-I}innc,.s arc redunct+4ntand which are not? There
are two co_dilions [liar w{_ nc,ed to check.
lhc, or_:m P: An tJl)l'f:R l_nlf-l)lanc., k is redunda_t with respect to UPPER
haif-i)lancr_ i and j ilf
(A) i inn k it; ahoy{', the point P wh_:re lines i and j meet, and
(B) TIic slope of line k lies between the slopes of lines i and j.
24 Dece.nll:)(,,r 197[t. Gc_ome,tric Transforms PAGE31
Prooi: Th(: llalf-sl:_ac(',s i, j, ,:.tn{l k are
y _<._i x .i. hi, y _<ajx + bj, and y _<akX + b k
and /inc:,_ i and j meet at point
p = (Px,Py) = (-(l,i-bj)/(ai-aj), (aibj-ajbi)/(ai-aj)).
(See [iglirn 3-2.) t latf-i_l,*lnc k i'-, i_:d_Jnd,_nt witl_ rcspc:ct to Ilalf-planes iit.
and j ifr lilln k li_,.n ,nl_v(-: t_l,. two r,';y:, r i and rj oriqinatinq at point P and(l_::fii/ing tti_: botilidaric.'-_ of tl_c irit_'rsection of half-spaces i and j. Thereare .six i)oo.,llJle casc:s to consid(:r:
0 < ai < aj, 0 < aj < ai, a i < 0 < aj
aj < 0 < ai', a i < aj < O, and aj < ai < O.
Sillcc iii_lliy c)[ tl_(,.s(; arc eqtzivalcnt, wc _ec;(l to prove only the two cases
0 < aj < ai and aj < 0 < a i.
Case (1) 0 < aj < ai: Tlle. r<ly r i points (downward) in the direction
(1,-a i) aild tile ray rj poiltl.s (Ul)warcl)in the direction (1,a j). Line k lies
al)ov(' r i and rj _ff
Py - aiu -< ak (Px - u) + bk, Vu_O and (1)
I_y + ajtl <.... ak (Px + u) + bk,VtL>_O. (2)
Lettirig u = 0 ill _.lth.r (1) or (2), \',/e see tl_at line k lies above l)oint P,
sati_:_fyii_q c:oll(ti[ioil (A) above. To prove coI_(tition (B), that a k liesr)
betw('.cl_ a i a_d aj, we. divi(tc by li in (1) and ( ) and thcn take the limit
as u-:, or,, obtaining a i_ ak and aj!: ak, respectively. Conversely, if (A) is
satisfir:cl (l_y _<_akf' x + b k) and (B) is satisfied (0 < aj < ak < ai), thenineqtialities (1) ai_d (2)iinmodiat_:ly follow.
Case (2) aj < 0 < ai: The ray r i points (downward) in the direction
(1,-a i) and tl_: rliy rj l)oints ((fcw.snwarcl)in tl_e direction (1,-aj). Line k
lies above r i and rj iff inc'.ctt_aNti_-:._i(1) and (2) hold. The proof is verysinlilar to th(..'. I)roof for Case (1), []
i low f_sl can w(; (l_:tcrlnii_(,. (iv_l_)r{:;(ltil_d,:_l]cy for each of the N UPPER
half-I)lcinc:,'._? O{_.it,-_ii_ly one ,_lJl:_ron(:;h is to to,st all pc_il's of haff-t)lanes i and j for
each l/alf-t:>lal_0", k. llt_:_t costs O(N 3) time, thoucih, which Icaves much room for
24 December 1979. Geometric Transforms PAGE 32
improvenlc:nt. Ill the iicxt .(;ectiol_ we show an entirely different way of looking at
this problenl that solv{?s it in a i_tural and efficient way.
3.1.3.3. A Point / Line Du_lity Tral_sforrn
In tiffs secticH_ we f_re.t-;{-:l_t_ transform that exploits a natural duality between
points ariel lin_..s in the plane. A line in slopc-intercet)t form (y = ax + b) is uniquely
identified i)y tl;e p_ir (a,b). (Tt_is _.r_nsfo_mwill not work for vertical lines.) We thus
have a natural mapping from lines to pointr_. We can also map points to lines. For an
arbitre{ry l)oil_[ (x,y) tt_e set of _:_11lii_es (ii_ slopc-i_tercei)t form) that pass through
that poini can he re.pres{:nted by the set { (a,b)I Y = ax + b }. This transforms a
point (x,y) to a lic_e b :: -xa + y. Palters tl_ll,'-;transform to lines and lines transform to
points by the lormLllas
y = ax + b -' (a,b), and
(x,y) -, b = -xa + y.
This duality is illllstralc'.d in I ig_lre 3-3.
Lo
p
Figure 3-3: Point / Line Duality
This transforln Ilas an interesting t_rol_erty: Distances in the y-coordinate
between points and lines arc r_re_,_'rv_d.6 llle dirI'erence in y coordinate between
6The reshicli_.>)) ill the y c:<?oru'JnJto is im;,c>)l,mt l:._.:_.u-<., ii c_:u)be :.hc;_"-) to be impossible to preserve theEuclidean distatlC(, b<,tw(,er_ a p_:>irlla_(J a line ur_der a dunlity lr,:_n::forl_ [1}2],
24 Deceml)_zr 1979. Geometric Transforms PAGE _3
point (c,d) _ll(I lill_.; y = e.x + f is d-(cc + f). Tl_e difference in the transforms
b = -ca + (1 and (e,f) is (-ce + d)- f,, which is tile same. It follows from this that
inci(tence i_-_i_re_;E-'rvf.:,(t.7 I_ l_oint (c,d) i.':_on line y : ex + f, then it llolds also for
their tran.';f(_rnis -- point (_,,f) i:_on lint., b =-ca + d. Note further that not only is the
magnilLidc: of tile cli.'.;t_ltc_.:'(ill tl_e y-coordirl__tc) prcserve(t but also its sign. Thus,
above/belownr:ns i:_ prc:s_,rv_,.d. If (c,d) is above (below) line y = ex + f, then the
transform r_r (c,d) i,,-__lt_ove.(l_:lovv) tile tr_ll/s[orlii o[ y = eX + f.
"lhere i.'} anotll(.r pr_q_c'.rtyof tl_c trL_n:;[orm theft wc sl_ould mention. The transform
is not i11voltJtory, I_llt coml_o.';ition of it four times pl'O(][lC(.:S the following:
(x,y) _ h =-xc_ +y -> (-x,y) _, b = xa +y _ (x,y)
Only a sligl_t ('lla_lrlo is r_",_lt_ircdto m,:_kethe tra_sform its own inverse: express
lines in the formal y + ax + b = 0 r,_tl_cr th_n y = ax + b. Then it is true that
y + ax + b = 0 4-_(a,l)). B_t this has the unfortunate side effect that
above/hel__w_(:,.ss l_::tv,/ec-:npoints and lines is not preserved; it is reversed. If point
(c,d) is above: line y + ex + f = 0 tl_en the transform of (c,d) will be below the
transform of line y + ex + f = O.
3.1.3.4. A;',;:,lication of _,I;:.,Tr_;sfo;m to tI_e Two-_imensional Problem
We _ov,/ sll_)w t_\,'¢ tile tr_I_.,_form (-'.l_ables[is to int_rsect tile UPPER (or LOWER)
half-planes fa,';t. Mor{: .sl)ccifically , ll_e trc_n._.;formenables an efficient mechanism
for elimi_ti_fl tl_,,. "i'{::(ttl_{t,_l_t" I_l[-l:_lal_(;'.:_. Recall tl_e two conctitions for
rc:dll_dancy ot an I.Jt_l_[f_ l_lf-l)lanc:: a I_,'_lf-t)lanc k is redundant iff there exist
i_alf-pl_lcs i _1_(I j _;_l(-I_ti_t (1) lint_.k is _.b,:_vethe t)oint P where lines i and j
intersect, and (2) ihe slope, of k is between the ,slopes of lines i and j. In the ab
t)iane tl_(;re is a (;orrc,'J;l)Oll(lillg interl:,rc!:t+_tion.
In Figure 3-4, line k is above poi_t P in the xy plane. This is transformed to a
poinl k that is al)ove line P in the ab l)l_ne. (Abov(:/belowness between lines and
7There are other d_Jrllity tr_,nq:orrm, lh,t pre_,r,rv_, ir,,:,icr,n<:e, ::,ur:h a s Pl_cker's tr[msform [91].
24 Deceml_er t 979. Geometric lransform,',_ PAGE34I
_ J
--.._s, %'K z,...j..j->Z
Figure 3-4: Tr,in:;form of a redlin(l,'int half-plane.
points is I)res(;rved l)y ll_{: trar_,_,forin.) lhc ,';lop(: of a line in tile xy f)lane is tile a
coordinate of ttl+; corr(:'::-,l_ondirl!l i_oint in tt_e _:_1_pl_ne:. Line k thub has a slope
betwe(:n tll_: ,',lol:,_'.s of lilacs i and j _ll_d tran,';fr)rms; to a point k with a coordinate
between tile ,t co(:,r(liJl_tu;:_ or i;oillts i at_l j in tile, ab plane. Figure 3-5 shows the
result of al)l)lying the Ii'_:_tl,;[orltt to ,'l s(tt of N tJPf'FF:',half-planes, A point in the ab
plane corresl_on(I.:,; to a rc(lijn(tant half-pl_,_i_e iff it is (lircctly above one (or more) of
the line s(:gm_:i_t,,; dnt_:rmincd t)y the N - I oilier i)oints.
_:..¢-:........... . .\// / / / / /\_. "------_f _
Figure 3-5: T ran,':;furil_ of N UPPEF{ half-t_lanes.
ll_eor(::m 3: Given a set of N LIPPEII halr-pl,_l_es oF the forin
y _<aix + bi,
y :" aix + bi _ (a i, hi),
tl_e ilOlllC::lJltlll(Iol/[ ll{_l[-i_l,:_i_cs corrc:,ql)Oll(] to tl]o,_;c points on the bottom
part of tt_e collv_:'x t_lll of ll_(_ N poiilt,s
(a i, hi).
Proof: lilt i:_ro_,_fi,'; in two parts: (1) a poillt on the bottoln part of the
convex Illlll corresponds to a nonredundant llalf-plane, and (2) a
nonred_li_dant I_alf-t_l,_ne trunsforms to a t)oil_t on the bottom part of the
24 Decenll_<:,,r 197,0. Geomc'tric Tr_lllsrorlilS PAGE 35
convex hull of tl_e N points.
1. I +"+tP b(:' a I,+oilll (_zl the l_ot[{_rn I_arl or tile convex hull of tile N
iJoints in the _1_ l)lazle. P cloes not lie above any segmentconnecting two of the N i_oillts be:cause P would then not be on
the bottom part of tile hull. It follows that P can not ber¢,(1tin (las_t.
2. If a t_alf-l>lal_{: i_ is nonrcdtJndnr_t, thc:n it transforms to a point P
tl_at dnn.'._ Elot lit: nl)C;V_'._t_y ,',_:gmcnt cotls_c(:ting two of the N - 1
otl_nr t)oint::; il_ tl_{: _1, plane.. P m{_st: 1_:::{)t_ the bottom part of theconv++:x I_tJll l_,.(:_lisc.: otll_:rwis(,, it would lie al)ove such a
s _::gn] _:slt.
El
We: I_a\/c r(:_ltir:nd II_(:: t_r(_t_l_:in of iiit{:r,+.:;ccting N tlPPEFt I_alr-planes to the probleln
of coll,';tr_l_;ii_l tili,, (l){)li{_m f,art o[ tl_,:) coilv,:>, tli+fl of N points. The convex hull of
N poi_its i_ tl_,:: t_l,_l_(!:+:_t_ b(: co_lstruct_::d in O(N loll N) tilne [4S]. This leaves only
the detail or ,_-_'1_;rating tl_(,, tot::, from tile bottoln I)_tt of tlie hull. To do that, we find
the leftn_+_,t_t i_oi_lt of thc: I_[_ll in O(N) time a_d then traverse tl_e hull on the bottom
side t_ntil tl_; rigl_tmo,';t l_oii_t i_; r(:'._cl_c(l.
ltl_::_>r_'nl 4. ll_c il_t_::r':;c(::tion of N I_,_l[-pl(_l_e.s call be constrltcted illO(N I_)rl N)tiin+,.
Proof. W{: Ii_v_ t_rol_,:,,r_tl_{: l)_ol)!{,n_ of iI_t{:rsecting N t_alf-planes into
tl_r(,+: l_nrt:;, f),_r[ (i), tli{' il_l+:r_;{'.r:lioI_ of ti_'. IJPPEft half-i)lanes, hasi:)(:,_:,t_,';l_owtl t_ <:(_':;t {)lily O(N k,g H) tim{:,., r:'L_rt (2), tl_{:', intersection of the
LOWI:I', t_1[-I_1,_:_{:_;, i,_, _:(i_tiv;,i_'I_t to f_,:_r_(1) :_;oi[ can also be done in O(N
Io£1 N) tin++,,.. P_tlt (3), tl_(: int+:r:;r:(:(ion o[ tl+c r{+'_llts of parts <1) and (2),
cost:, o_+iy O(N) tin+{,. Tti{: iiit_:r,,:;_+.cti{+i_or N I+alF-f)lancs can th[ls be
solvn(l il_ O(N Ing N) tim+:, l"]
It is int+:r++,';tit+g t{> I+otc tt_al, \.v{: ca_+ al:-;o use an intc'rscction of half-planes
algoritllln to t_rodt_c(: 4:_c,:_++v{::x I_ttll of t:+_+int_:;+tlgorithm. We first transform all N
l)oints to tJF'P[IIf_ Ilall+-i:+lai_+,.s t)y tl+c, forn+ulc,
(x,y) _ b = xa + y
24 D(i:CC;llll)(-:r 19YO. Geometric-l;_i1sfcT)[lll,:., PAGE36
and intc::rz-;c:ct ll_; l_4!lr-t_l._lc::,'_. Wu lr,_r_::;rc_r_:_t)_:_ck to ot_t_in tl_e lower part of the
hull. TI)cI_ wc Lrnn,'{lorm 4_11N points Lo I OWFR I-_nli-plane, s and i_tersect the
half-t_lav_e;s _(1 _r_,'_ror_ l_:k i'_)r ti_(: Ul_l_:r t_rt or th(_ l/ull, M(;rging the Upl)er and
lower l)art,q i,_, trivial, since tl_c: Icftmos[ ai;d rightr]_ost points ,will l)e in each one.
The total tilne r{;_ll_ire(t is O(N log N).
3.1.4. Intersection of Tl'_reo-Dirner,,sion;_l iI-,-_t__-,.,P_,ceo{_ _-
The tecl_nicl_,, tllat w_:: j_z_t usr,,{l in two dim(;nsions can l)e exten(ted to tl_e
inter,';ection or N [Jl;['l I_ (or N I.OY,/[[_) ttir,:".(;-dim{::i_sior_l I_alf-st)_:_ces (Zotnowsky
[106] an(I Pr,:l,or_In and Mtlll_:r [,?,/1] (t_!,:;(:ril)e ;,,11the (t_:tails i"e(lt_ire to solve the
general I)rc)l_lum or il_t_:rn(:ctiltg tllr(;('-(]iiil('.il:I;iOIi_ll li_If-sl)acc:s.) The following:.
Isections; _,xll.:ll_,l tll_: (;nl/Cr:t_t r_f r(.tc]lli/(l,_llt ,1,q_[-_;t_i:icc: to ti_ree dilllcnsioI1s r311d apply
the (tl_rc..'.e-dirn(-:_:;io_,-_l) point / flat d_lality to coilf;[l'[tc[ tltc _.inteFS(;ction of N UPPER
half-spaces i_l O(N log N) tinl(:.
3.1.4.1. i_C(_Ui"i(I;_ligy ill Tl',rec Din;,"_nsions
The algorilliI_l R_r col_,':;lruc[i;_fl I_! in tl_re(:_ (lin_(:n,,;i_)_s is analogous to the algorithm
for tl_e two-clilnc_lsioI_al ca,_e. Wc iir";t trnnsforln tl_e N IJP[)[{[{ half-spaces to N
poi_ts ill nbc ::_t_c::{-,• a_lcl (:{,ll,'_t_t_{;t the (l)ol, tc)rn I_IL of tile) convex hull of the points
in O(N log N) tim{:,. ll_c t)(_iI_t,_;,_!_()ve ill(: IJottoni part (_f the convex I_t_ll correspond
to "r(_clu_idal_l" lt,'_li'-,"_l);_(.'.(:,";(llllJ Cilll t'_:.' (!i,_;(:arclcd. [o forln tJ we simply apply an
inver:;c tratl,':,forln t() tl_{: t:)ott(:)n_ p;:_lt of t]/{: (;o_]\/(::x I_l_ll. We will now describe this
proce(lur¢:: ill (l_,,,t,_il.
As,'.:_[_n_e tl_nl tl_(::r_: _r,:: N tll_f_l::ll l_(_Ii-,::l),:_ccs. Some of tl]c,':,c:, half-spaces
contl'it)ilte, to Lit{; i_/L('.r',(:,.cli()i; [J ,-_i'_(t:;(_n',_:(_r_: "r(::,_:]titl(t(_lt[,'_ sucl; as half-st)ace M in
Figt_re 8-6. lot IIt(-: i_l{_i_c: Lt_{:_{.-'{,r_: t;,,,o :-;in/l_i(' colt(iitiot_s i'or rcdu_(lancy of a
half-I)lan_-:. Ill t' .... _._, nI_(_Io(l()u,'-_(;on(litions for a half-sl)ace._ll i:_,, (Jiltl(:tl:,jOIl."; tit(:t'C (,I'C ' .....
The first co_liLi()l_ for r{'.llt_ll{I,:ltl(:y o;" _-_Ii,_If-sp_(:_: M is tl_at plnne M be nbove the
point P wliQr(: plan(;::; 1, J, n_ld K ir_t,':r,,;(,.c[, a,'; i_ [i(][lr(: 3-(:}. The second condition,
the "l._etw(,,e_ll]{,.r_s c:_f ,'_;Iol_c::;" (:,_llditio_l, is il_or(-', comf)licat(.'.d to {_xpress. The
24 December 1079. Geometric Transforms PAGE37
P
1./ ...... _,, / J r JKr KI [ r IJ
o
Figure 8-6: A redundant half-space.
purpose of the "l)etweenness of slopes" condition is to ensure that a plane above
the point P cannot drop down fast enough to enter the region below planes I, J, and
K. We wiil now derive an algebraic description of these two conditions,
Let plane M be written
z = aMx + bMY+ c M
and let planes I, J, and K I)e written
Z = alx + l)lY + c I,
z = adX + bjy + Cd. all(l
z = aKX + bKY + c K.
The point P = (Px' Py' Pz ) wilere planes I, J, and K meet is defined by
Fab [c]-aj-l)j 1 Py = cj . (3)
L-aK-b K 1 Pz cK
The three rays rid, rdK, and rKi can be expressed as vectors originating at point P.
The directions of these ti_ree vectors are obtained by computing the cross products
of tile normais to planes I,J, and K. For example,
24 December 1979. Geomctric Transforms PAGE 38
T _ _ ! a, bj -1rlj = (_tJ'_tJ, _lJ ) = a i bI -1 x iaj bj 1iaj bj -1 lak bk 1
where i'[, J', and K arn tinii vcciors along the x, y, and z axes, respectively.
(Similarly for r jK and rKl.) Wc ntay wtov]CXl_:c.s.s ll_e two conditions for redundancy
of a half-:;l_c_::.
T/).('.!.!![:]!! _. l(,t [;F'I'[[{ l_al[-:;l):_c(:,:; I, J, F., aItd M, point P, _,(1 rays rid,r lK, and rF.I l)e _r; gi\/_:I] nbove. I I,_tr-sl_acc M is re.dundant with respectto hal" l_aC_:s_-s I, ,l, a_/d K iIf
aMPx + bMPy + cM ->Pz (4)and
aN',°_lJ + bM_lJ >- "Ylj
a__,;°_JK+ I)M_UK->-"/J_: (5)
P[(2o[!. M i.'_ re(ll_ll{latlt irf it lies al;ove _:lllpc)iilts of the three rays rid,rdK, all(l rKl. But M lies al_()ve th(:se [t_r(:c,rays iff
a M (I'.... + _l_:_l,I) + b,u (r' v + _#i,_) + _-'I_',-> (P,..+ _~,j),.; V,,>n
a M (P.,...-,-u_-z_<) _ t_r_(P;, + t_#.;jt,) .t _'_..4>-- (P;..+ u?,j.._,..V_,>n, .-,_,,_
a M (f',, .... + I1[_. I) + b M (f"y + I1_,1) + CL.; > I'D,: + _wv...),_,,.,VlJ>n
Letting u = 0 we ol)tail_ tll_: fir.st con_liti(m (inc'-(lt_:',!ity (4)) for redundancyof M
aFIPx + bMPy + cM> P
an(i (livi_li_g I_y u aI_d taP,i_g the limit a._;u .4 c_,we obtain the other threeCOlldi _ ..... ,_.tJ(n., (S). Convcr.';c,.iy, if th(: I[([)[__• in('._i_nliti_.... of (4) and (5) are
sali:._ficd, [li{,._ M mt_."_tli{, allows: all points o_ _h,:.three rays rid, rdK , andrKi. We. prove, ihi,s by simply m_lliil_lying both sides of the last threeinequdlitie_; (,_) by a _ > 0 _1 addiIt!] the i_..'"';llltto the first inequality (4).D.
24 Dec:Rmber 1[17.q. Geomc_Lric TrutR-_forms PAGE39
. . -r ..... ........ L,_oIntersection of Half-Spaces3.1 4.2 Application oftl_e z_.,uJ_z_to ....
The tra__.sfornl ti_at we L3sc in tt_ru,c (limem_ions is a straightforward extension of
the two-(lime_._,ional tran,'_f(_rm; I)lanes tra_sform to points and points transform to
[,.8planes. Tlle formula,s for tt_e trat_,:;fort_ ar:_.
z = ax + by+ c _ (a,I_,c), and (6)(x,y,z) _ c =-xa +-yb + z.
lhc distance l)elwce.t_ a point and a plane in the z coordinate is preserved by
ti_is trall._.R_l'ln a_l(i, li_o,:_L ili_l,(_tt_l_Ll_,', tile s{_i_seof al)ovelbelowness (in the z
TIl(:ore._ G: I ::,(' tllc._ tJ_")'_FI:R t_,_l_-:-p_"_ ,_:c-;_:;I, ,I, K, and M transform to
l)oi_t.'.; Pt' PJ, PK, and [>r,,il)Ythe tran_form (O). Italf-space M is redundantwitl_ r(:,,:;pect tc_ [ial-, ........ ,t .,l_,,c_.. ,, I J, anti Kiff point PMIs directly above some
point in (or ol_) tll_', tria,_jl{.-_" detc:rn_in_,.d by points I_1,Pj, and PK"
Proof: Plalle M (z = aMx + bMy + c M) of Figure 3-6 transforms to the
point (aM,l_M,C M) in ahc_:space, and planes I, J, and K transform to thepoints
PI = (_l'l_l,Cl), PJ = (aj,I)j,cj), a_d PK = (aK,bK,CK)"
The il_c:Cl_ality (4) (of lt_e pre.vir_t_::, :,ec:tion) for reclt_ndancy of half-space
M (point (aM,IJM,CM)) c,_ t_". re.written
Cry1>-('Px)_M + (-Py)bM + Pz"The i_tr.:rl_re_alion i_ at_c _,l)ac(: '__., float p(fint (alvl,hM,C M) lies above thel)Inn_:
c = (-Px)a + (-Py)b + Pz"
[;y i_/:-;i){".cti__ of [ (IlllQliOI] (3) \^/_: i;l::;() L,('.P.tl_,_t tl_is l)lar_e is determined by
the li/rr:r,, i_c)i_lt:_ I_1, Pj, nl-id I:_K.. Tile three "l)etwe(::nn('.ss of slopes"coi_(titioll:; (5) (Ic,fi_l_: tilt(.;,,.!,,vc.,.rLi_:,:_lt)l{:_r_(::s,(:_a(-I_or which passes through
two of tl_(. tl_rce I,oints Pl, PJ, aiid PK" Since half-spaces I, J, and K are
all UPP[:ll half-st_acc-:.':;, the. s__.'t o[ redundant f)oints PM is a bounded
8Dantzig [2,_] u_,es tt_e al_,.;,,,e tran:.fo_m in the cot;rex! of linear l:)ro[itaN_ming and Huffman [53] uses an almostider_tieal hm_.,fol_u for an ;,_,_t,.,:.is of l)c_lyh:,dral sc,:,_es. Kanade [57] uses this transform for what he calls the"orig,]+ni wolhJ" of tl_('('-(hnle+_.,i+_th:_l ftgurc.s.
24 Deceml)er 192'9. Geometric Transforms PAGE40
region (:)[ ahc ,_;l)aC:e. ]llc; iniersr'.(:tion of tile three half-spaces of
col_diliolt::; (':;) __l_(l II_e I_alf-:;l:_,lce (4) is therefor(; tile r(:gion in, oil, or
above tile trinnglr., dr:terminc:d by I)oii_ts I_I, I'j, and PK" [3
c_{!ro!!al/y ! l.ct tllu N UF'PEfi h;_lf-,';t_aces II 1 , 112,.., II N transform to
i)oilit,,:, P1, 1_2.... I) N I)y t::qLJation (G). A h,'llr-sl_ac_:,, tl I i.s redundant iff
point PI (lot:; not lie on the bottom l_:_l't of the convex hull of points P1,P2,''" PN"
We can construct the (I)ottom part o,r the) convex hull of N three-dimensional
points in O(N log N) tim_;. We do tilis hy ,'_l_gmenting the algorithm of Preparata and
Hong [83] for co t_structi_lfl tt,e ({-,;_tire) cor_vex hull with a mechanism for separating
the bottom part of tl_(" I_LIll from the-',top. One way to (io this is to maintain with each
face F of tile coIIvex Ilull a vecl.or t)erl)el_(ticular to F that I)oints toward the inside
(as ot)i)o,sed to ll_r: ot_l:;idr:) of tl_c: I_lJll. Ti_e l)ottom faces of the hull are those
faces whose v_'.ctors pois_t _t_v/_rd and thc: vectors for the top faces point
downward. (Not_:, lhat li_ere will l}c" some [.,_-,t_,.,c.s',-'2in l)oth i,he top and bottom parts
of the tlt_ll. -I1,_:.:,_4(-_,.at,: tll{, verti{'cs tt__t bound both tot) and bottom faces.) The
bottom and t{)t) partn of lilt-: col]vc:x hull _:_rc:ther_:fore ¢;eparable in O(N) time, once
the entire cow,vex li_lll is co_lstru(::tcd in O(N log N) time.
"__VJ '" FL,/
FL _/ _ Vj
Figure 3-7: Trarlsform of a convex hull.
To find the int_.rseclion of thr: t.Jf)PF!I} I_alf-spaces, we must transform the bottom
part of tl_e convex ht_tl to xyz ,':;i)acc'.. Tile O(l'J) vertices transform, of course, to
planes, lh_t ti_'r_: is mt_c:h mor_:: inforrn,'_tion than tt_at in the convex hull. For
instance, (t(-'.l'i;_i_g (_cl_ fa_:(:, of thc: i_[111tl_cre ar_; tl_rc(,. Col)lanar vertices 1, J, and K.
24 Dece.mbcr 1979. Geometric Transforms PAGE 41
9 Tl-_e I:_lal_c tll,:it tl_:,._(-;veriic(,.s d_rif_:,is '_r_in-_,foln_:.d"...... , to a point in xyz space. This
point i.'_ wl_,.r_: f)l,-m<:.sI, ,1, nnd t:, (c,f >.yz space,) int_:rsect. (This follows from the
fact tl_at tl_e tr__t_;rornt I)r{-::-;crv,.:s inc:i,.icnce l:_(:,.twc('.npoints and planes.) Also, as
illLJsirated in I igure 8-7, if fat,':::; FK _-._ndFL or tile (I}ottom part of the) convex hull
share _ll c(t._l{.'VlVJ, tll_,._ in xyz sp_(:(;,,f{',c::c:sV1 _l_clVd share an edge FKFL. In fact,
even the- _anbol_nded 1,_cr:.":;<_fU in xyz _;pac_: can he ol)tained from the transform.
Tllese fac_::s of II (::orr_:;f_olld to v(:r[Jc:t-'.s at th('. i)oun(l_ry i)(:tween the top and
bet:tom paris of tl_n convex ht_tl in al, c npacn, lit[le computation is thus required to
constr[_ct U _ftcr tl_(_ tr_ll;,_;form from _t)c sf:_{_cesi_)oe all the faces, vertices, edges,
etc. dr-_,:;dirr:ctlyol)tai_al_le from the iransform. W_; have
Tl_(,.or{:_ln7: Tl_c int{;r._;{-,.ctionof N UPPER tiptoe-dimensional half-spacesca_ be co_lstructe.d in O(N log N) time.
Proof: Si_c_z ill(:, tr_,I_:;form c{mts only O(N) time, the total time toconstl'ttcl [J i,q d_mitl,lt_:(l l)y the'. timr: to con,";trtlct the convex hull in abc
sl)acr'., v,/hicl_ i:; O(N lot; N) time. []
3.1.5. Int_s_ctin S ,,,,,,-,,;_-'-"".........., .....,.., in Fou: o,_"r_qo:o Di!ncnsions
Sl_l:_l:,O_,cII_at in K dim{:nz,io__,swe can conntrllct the convex hull of N points in
iI(N,K) tini,:'.; we (:_l tli_._l_coI_s[ruct tt_,:_illtcrsectioli of N UPPER K-dimensional
half-sl:_acn.', i_ O(tI(N,K)) li_r;. lh_: al.qoritl_m is a ._;traightforward extension of the
o_e float w_: u.-.;,::_li_ tl_e [l_rc{,-cli_,_{;P,:;ion_l ca.',e. We first transform the N
half-spaces to N poinis in K-si)c_ce. lhc_ we construct the convex hull of these N
pellets in I I(N,K) tim{:,. Tll_.,.nwe,.l)_rtitiun tt_e top frc)m the bottom part of the hull and
transform lhr; bottom part back to obtain the intersection of the N UPPER
hull'-sl_aCe_, of lt_: l_tll, and tr_ii_::;foll_ ll_e bottom (lop) part of the hull back.
In tl_is s_._:tion we pre:_e_lt an _l(l(::l_r,_ic descril)tion of the coral)orients of the
K-clim(:,n.';io_at algoritl_m. [1_:_ first str:p is to (lescril_e algebraically the conclitions
uncler whicl_ an UPI_f:-I{I_olf-.':q),-_ccM i:-;red_rlct_:_t wil.h respect to a set S of K UPPER
gAssund_g 11MI IlK, v,:'rlic,.':- are in (;,.'n,.'_,_lpo.,ition. If not, tl_en there may be four or more coplanar vertices,
24 Deceml)(,.r 1 07[). Geometric "lrurl_lorn_s PAaE 42
half-spaces. We th('.li I_rusent a general cl_Jality transform for K-space and interpret
the condilion_ far r_-,d_n_lancy in the transform space. Finally, we characterize
redundancy an_oll(i N U['P[R hatf-,_t:,a(-e_,-, in tcrm,,_ of tl_e convex hull of the N points
to which they trall_,form.
3.1.5.1. Alg:::,braic Description of I:',edu;_ancy
We Illl.lst fir_-:;t illtl(_{lil(;(:. SOIlie tcrlniI_(_l_(ly. I_e[ a "j-face" of a K-dim(;nsional
polytopc be: clc'llotccl ar_ l'ollow.'_: a vcrt_'x i.s a O-face, an n(lgn (a line segment) is a
1-face, etc. L_::t S b(:'. ¢_s(:t of K uPr, EP, I¢-.{;ir_ei_sional I_alf-sl)ac_:;s (tefined by
K-1
x K -< }-_ aijx j + aiK, i=1,..., Kj=l
and let M be an UPPI-!IR K-dimensional half-space defined by
K-1
xK -<-2" at,_jxj + aMk.j=l
Let the matricc'.s [{ an(t C bn (tcfi_lcd by
-all '1K1-1- -alK-a21 a22 • • • aZ,K-1 "I ! a2k
i
1} = ..... and C = - ', • .• . . . } .,
_aK1 ak2 . .. ak,k_ 1 -i. --aKk ,
The flat.,; l)oundillg til(: K half-spaces of S merit at a point P = (P1, P2,''', PK )
defined by
BP'= C. (7)
In three dim(_rl.,,ic-_I_s It0,: I_lancs I, J, alld K (lctcrrnine tl_ree rays rlj, rjK , and rKi
originati_g at I_()i_lt P. In K (limr,.n.'_io_l,_w(,. hay(, K such rays, denoted r 1, r2 .... rK
where, r I is ti_: r,'_y _l_'.I_:I_l_itl_:d l_y tt_: K-1 _;Ionl_.l_ta of S - {i}. If (_Zil, c_i2,'', c_iK)
is a vector poinli_g i_ th__. san;c: dirc:c:tiot_ as ray i, tl_c:n we may write ray i in
24 Decen_hc,.r 1979. Geometric Transforn_s PAGE4,3
parametric forlll _1s
(xl,x2 .... xK) : (PI'P2 .... PK ) + u (_il'C_i2 .... _iK ), u >_O.
On ttle other Ii_a_(l, _'a(:l_ l)oiz_t (Xl,X 2 .... x K) o[ ray imust also lie on all K- 1 flats
of s- {i}:
all 'q12 ... al,k. 1 "1-- -" alK "-
..... Xl_
• ' " I X2 "ai_l, 1 i;li_l, 2 • • • ai_l,k_ I -1 I ai_l, K
I • "" o
ai+lakl.,1 ai+laK2..'" .' .•."•' ai+ l'k-iak,k.1" _1"1.. I ." ai+ 1,KlakK...
Coml:)illing tl_c:.':;e two {::qtl_tioz_s we obt_in
-- i:111 a12 ... at,K_ I -I-"
..... I I -o-
..... ! _,2 0
CI,_I,I _:Ii_i,,2• .. ai__,K_I -I I " I : " •
• • • • • • ° [ °..... Lc_,K _o_• • I • o
aKl ak2 . . . ak,k_ 1 -1
To ,solve this sy.'_lr'.m of K- 1 equatiol_s ill K [tl_kt]oWllS we take advantage of the
following i)rop{_rty of cofactors:
K
l)ij cof,nj(B) = det(B), if i= m (8)j=l = 0 if i/ m.
where cofij([}) is ttlc cofactor or bij. It follow::;tllat the general solution is
(C_il ,Gi2 ..... GiK ) = ci x (cofit(f;), col'i2(i}) .... , cofiK(B)),
24 December 19 Y_.]. Gc ometric l ransform.s PAGE 44
where c i is a ¢:otl:_;tc,t_t for e_cI_ i. The cl_oice of c i is not entirely arl)itrary since
SGN(c i) determinr:s wl_ctllc_r ray i I)oint.'_ Ul) or down. The correct choice for c i
satisfies
K-1
PK + CX,K < _ a,j (Pj + _U) + aiKj=l
I)ecatJse each pc,int of ray i (f_eynr, d i,nint P) shn_+ld lie below the half-space i.
Using tl_e (Icfil_itioll of P _t_d tl_c _,t)ovc: l_ropertic,.s of cofactors we can prove that
0 _<c i (let(l l). Tll(: v(:ctor.,+ c_ arc tt,(:r(:[or_ (;llc_;_,.l_to I){:
(_il 'c_i2, - - ", c_iK) = (t(,t([}) x (coril (g), cori2(B) ..... (.oriK(B)).
Tl-_{:C)l-C,ti_ D: let [lie Uf_I)!F -', h,:_ll-.*:;l:,,"_ce M, tl_e set S of K UPPER
K-dilnen.',iot/al l/all-sl_aCCS, t)cfint F', at_(l t:. r_y.s r i be as given above./ , Jr ¢.Half-sl:_ac_: M i:; rr:dtln(lal_t wittl I{::'_l,_:(:t to thct'., h,;l_-.,t_accs of Sifr
K-1
\-" (9)P_,: _< /._ a_,_jPj + aMKj=l
and
K-1
___ c_,jaMj .-': tz,k, i=l,...,K. (10)j=l
J I "_,c+
Proo[: l lalf-z;l)aCc M i._; r{..{ _n_,ant irr flat M Ii{:.o above tl_e rays ri, i =1, ..., K. We ca_ Cxl_rc.':;s this con{lition as
K-1
_) ( + uGij) + " Yll> O. i:: 1 .... KPK + tlO;iK <.... ahlj Pj "MK, . ; •
j=l
If M in rc+:(Itltldnnt, tl_c+n we. <:,:_nc)htnin condition (9)by simply setting u =O. Conditicm (1 O) r{:.',_llL:; fro)ill (tiVi{lil]( l t)_1|J ;)J](l t_king the limit as u -_ (_.
c " .q -Convcrn+,.ly, if con l_ion.', ( ) and (1(3) _rc:'..',ati::;fied, then M must be
redunda_lt. Siml)ly mt_ltil)ly conditiol_ (10) hy t_ .>_0 and add the resuit to
con(iilion (.q). I-i,
24 Dec_:-.'lnl){'.r I .Q79. Geom{:tric Tl'{:tt/s[orll/S PAGE45
3.1.5.2. The Gen{::'_,'i Tr_n:;ferm
B(_.for(., w_:, <;_ll_ (;l_rn(:t{.ri,'c rc(lu_{l{,_cy i_ tt_e transform space, we must first
elucidate: I1_: imp_,l_l_t t:_roi)e.rti(:s c_f the K-dii_::n:_ion_l transform. This transform
maps not bt_ly fl_t.'; to I:)uil_t.':;c_nd I)oiI_t.'; to fl_ts, but __1{-;oj-spaces to K-j-1-spaces,
G{:n_,.ral l r,_n:,forn_: The trc_r_;form of ,:_ j-dimensional subspace of
K-sl)_c_:: i,':; lll_, sc;t of ;ill flats th,_t c:ont__in it. This is a K-j-l-dimensional
sul:}sl-_;_ce, of flalr_. ,%in(:_; e;_ci_ flat can he; rc:c_dily ref)resc_tc(I as a l)oint,
how{:,.vc:r, tli_' trc_n'.,fc_rn_of tltg j-.climc,.nsional subsi)ace is rel)resented as a
K-j-1-(lilll(:lIl:,iQIl,:ll st_h.",l,a{z::e,of t_C_illt:I;.
l-I_(;or_;m 9: 11_(: £l,:n(;ral tr_.';forrn l)re.';c,.rve.s incidence. In other
wor(I,',, il a jl-(tim{:_.';ional ':;{_l_',;i,,"(:c: of I,:,-,_;f};_ce is a subspace of a
j2-dim_:_:,ic_nal _;_l_nt:,,_,::{:, tl_,,n il_(: tr,:ln:;form of the: J2-din_ensional
slth:_l_a(:_:: i.'_ a ,'_llt_:!,t_,:_(:_::of the:: tl,Itl"l:_,fOrlll O[ tlle j 1-dilnc;nsiol]al subspace.
Ploc_f: W_: n-__y interpr_:t th{,. Jl-(lint_;n"_i°nal :_ubsp_ce as an
int:e.r:_'._:li:_n _,1 K-j 1 ll_:_t,';; _:_l,,d t!_<:', j2-din_cn,':;iol_al subst)ace as an
intcr:_:lio_ _)f K-J2. it_tt.;. Theft i:;, wc n;__y dc,.fil_e define the
J1-(lilll_'.n:_,iC_lt,"_lstil_.!:;l_(::_:: l_y
m
I Llll /:112 ' " ' Q1,K-1 -1 -- 81K(I -.,1 ' _ " "* " ' " _:__ _ - 1 - 1 a2 K
X 1
.... i X 2
aK_j2,1 aK_i2,2 ... aK_j2,K_ 1 -1 1 . aK-j2,K
!...... ×K "
aK_Jl,1 _IK_jl,2 ... ak.j1,K. 1 -1 aK.jl,K
and ll;e j2-din_c_'_;ional ,'_ul)_;l)aCe t)y
24 December 1979. Geometric Transforms PAGE46
" (]11 _12 "'' al,K. 1 -1"1 "lr'U "-- " al K "
a21 a22 ... a2,K_ 1 -1 : X 2 a2K
aK_j2,1 aK_j2,2 ... aK.j2,K.1-1 LXK_ aK.j2,K
The transform of the Jl-dimensi°nal subsi)ace is tile set of points of theform
i !
U I
u2
--Xlq -a11 a21 ... aK.j2,1 ... aK.j1,1-- •
X2 I a12 a22 ... aK_j2,2 ... aK_jl,2UK-j2
_XKj alK aZK ... aK__Z,K-.- aK_jl,R-- - IIK'J I - 1
..
K-j1-1
1- _ uii=Ii i
and the transform of the J2-dimensic)nal sul)space is the set of points ofthe form
i i
U1m,
-X 1 all a21 ... aK,j2,1 - u2I
X2 a12 a22 "'" aK'j2'2 i i
• • • • i I iI o
..... I UK-j2-1iI K-j1-1
X K alK a21,, • • " aK-j2,Ki ,-., ,..6
- 1 - _ Elii=1
It is easy to see that the transform of tile J2-dimensional subspace is a
subspace of the transform of the Jl-dimensional subspace. El.
24 Deceml_er 1,q79, Geom_-:tricTransforms PAGE 47
3.1.5.3. Redundancy in the Transform Space
Having presented l)oth a characterization of redundancy of a half-space and the
general duality transform, we can now interpret the conditions for redundancy in the
trallsforsn Sl_aCe. llle K flats bounding tl_e l_alf-sp_,,cesof S transform to K points by
the formulas
K-I
XK : _._ aijx j + aik -e (all, a,2..... aiK), i = 1,..., K,j=l
and the flat l)ounding half-space M transforms to point M by
K- 1
x K = _, aMjXj + aN1k _ (aM1, aM2..... aMk).j:l
Since tile transform l:_reserves i_lci(lence (1-1_eorem9), the flat determined by the K
points (all , ai2,..., aiK), i = 1, .... K is simply the transform of the point P
determilled l)y the K flats of S (Equation (7)). Letting the coordinates of the
transform space be z1, z2 ..... zK, this flat is
K-1
zK = _ (-Pj)zj + PK"j=l
We can now interpret the first condition (g) for redundancy of half-space M (with
respect to S) as a condition on point M and the flat determined by the transforms of
the K elements of S:
K-1
aUK >- ,_, (-P;)aMj + PK"j=l
We have tllerefore i)rove(I
"lhe.orem 10: ]he first condition (9) for redundancy of UPPER
half-sl)aCe M with re.spect to th(: K UI-'PI![Rhalf-spaces of S requires that
point M (in tl_e tran::_forn_space)lie above the flat determined by the K
24 December 1 979. Geometric lransforms PAGE48
points (ail, ai2 .... , aiK),i= 1,...,K.
The other conditions for redundancy of M (tile "betweenness of slopes"
conditions (10)) map to a set of K half-.spaces in K-l-space
K-1
_._ _ijZj >- O_iKj=l
in which the point (aM1, aM2,..., aM,K. 1) must lie. The (K-l-dimensional) points
that satisfy these K conditions are
,... m._ m°
- z1 "] -al 1 a.21 ... aK.1,1 U1
Z2 ! a12 a22 "'" ak'l'2 U2• = ..... (11)l
]ZK_ 1 alK {1% ... aK_I,K_ -UK_I_
where
K
ui = 1 and ui>_O,i=l,...,K. (12)i=1
That is, the i_oints that satisfy the "l)etweenness of slopes" conditions must lie
inside the convex hull of the K-1 -dimensional points
(all, ai2,..., ai,K. 1), i = 1..... K. We prove this assertion as follows. Any point in
K-l-space can b(; written in the form of e(tuation (1 1) if the restrictions of (1 2) are
ignore(l. (We have, in fact, one extra degree of freedom.) The "betweenness of
slopes" con(lition,,; are therefore
K-I K-I K
_._ _ijZj = _ (let(B)cofu(B) >_ ahjuh >__IK = det(B)cof;K(B) , i= 1.... , K,j=l j=l h=l
which reduce to
24 Deceml_er 1979. Geometric Transforms PAGE40
K K-1
det(l_') _ "h _ c°fij(B)bh] >- dot(B)cof;K(B) , i= 1.... , Kh=l j=l
But sil_ce all (;ntries il_ tll(; Kth column of B are -1, t!;e properties of cofactors (8)
allow us to redtJce this furtl_er to
det(B) cofik(B) _ uh + det(B)u i > det(B) £ofiK(B}, i -- 1 ..... 14, (1 _)I1=1
Tilis is certail_ly salisfit':d for all i if the restrictions of (12) hold; the converse is
also trtie. Any point O th,_t does not satisfy (12) can not lie in the convex hull of
the poillts (ail, ai2 ..... ai,K_ 1), i = 1 ..... K. Here we can take advantage of the
extra degree of fre{:dom mentioned above to express the point Q as a linear
combination of these K points such th_:t
K
uh = 1 but u_ < 0 for some i.h=l
It is easy to see that such a point does not satisfy the conditions of (13) and is
therefore not re(itli_cl_lt with respect to S.
We have just pruved
lheor_m 11: 1-he "betweenness of slopes" conditions (10) for
redundancy of UI_P[-I{ half-space M with respect to the K UPPER
half-sl_nCes of S reqtJire that the point (aM1, aM2 ..... aM,K_ 1) lie inside
ti_e convex llull of the points (all, ai2, .... ai,K.1) , i= 1,..., K.
Combining Th_.-:orems 10 alld 11 we obtain
Tl_c;orcm 12: LIPPER half-space M is redundant with respect to the K
UPP[:t:{ Ill, If-spacers of S i If point M lies directly above some point in the
convex hllll of th{, points (all, ai2 ..... ai,F,), i= 1, .... K.
24 December 197,q. Geometric Transforms PAGE50
,.3.1.5.4. Redundancy Among N I-:alf-sp_-ces
In this section we cl_aracterize re(lun(l_ncy of half-space M with respect to a set
of N_ K K-dimensionnl I_alf-sl)nCC'S. (If N is less than K then there call not be any
redundant half-spaces unl(_ss some are r_arallel.)
lheorc:n_ 13: I_et T be a set of N LJI_PI!RK-dimensional Ilalf-spaces.
UPPEF{ half-.sl)ace M is redLJndant with respect to the half-spaces of T iffM is re(IL_ndant with r_'.Sl)e.ct to thn half-st_aces of a subset S of T that
contains exactly K hnlf-spaces.
Proof: It is clear tl_at if M is redundant wittl respect to a subset S of T,
then it is re(lusl(tant with resl_ect to T. We shall now establish that theconverse is also true. Let U be tt_e intersection of the N UPPER
half-spaces of T. U is a convex polytope because it is an intersection ofhalf-spaces. If a Ill,If-space. M is recl_i_ctant tllen its bounclary (flat M)
lies COml_le'tuly alcove; U. Let V t)e [tie l)oil_t of U that is closest to flatM. (If tll_-."clo_-;(;st point is ltot unique, tllcn let V be any vertex of U that isin the set of (;lo:-_c:stpoi_lt'._.) Sin(:(:: U is a convex polytope, V is (or can
be chosen to be) a v_'rt_'x of U. l(:t S l)e the set of half-sl)aces whose
bounclari(:'.; meet at I)oil_t V. If tll__. I_l[-spacus or T arc in generall)osition, til(.r_ S contains cxuctly K I_alf-.si:_accs. Since U is convex, we
can travel from v_;rtex V alol_g the l)(:_llll(inry of U in any direction and tilecli,';tallc{', to flat M will l)c I_o',_d(,crc_ning. It follows that tl_e boundary ofU can never inter,';{:ct flat M and tl_er(,fore half-space M is redundant
witll re:_l)ect to the K half-spaces of S. L-].
We have j_,';t chnrnct{:riz('.d rcd_lndancy of a half-space M with respect to N
half-sl_aces in t_:'rms of redundancy witl_ respect to K half-spaces. But M is
redundant with respect to a set of K half-spaces iff point M lies above a point in
the convex hull of the points to which the K half-spaces transform. We have
therefore
[l_eorem 14: An UPPEF{half-sl)aCC M is redunclant with respect to a set
T of N /Jl_i'[!ll K-dii_cnsional hair-st)aces iff tile l)oint M (to which
hall-sl)acc_ M trall.'..;forln:-_)lius directly al)ove a point in tile convex hull of
tt_e N l)oiilts of tile transforln of the I'4half-sl_aces of T.
Since by Tlieorcm ,_}the coral)Orients of ti_" convex htlll correspond to components of
the intersection of hal[-sl)aces, we I_ave
24 December 1 97,r}. Geometric Transforn_s PAGE51
Theorem I 5: If H(N,K) is the time [o corls[ruct tile convex hull of N
points in K-space., then N UPPER K-dimensional half-spaces call be
intersected in O(tt(N,K)) time.
3.1.6. Open Problems
There are still a fc:w open problems concerning intersection of half-si)aces.
1. The time to illtersect N (UPPFI1) K-dimensional half-sl)aces depends on
th(: tim('. II(N,K)to corlstrtlct tl_,::,convex htlll of N K-climensional points.
We kn_w ll_at tilt:, worst-cas_:: tinl(, con_l_lexity is O(N Ioq N) for two
and tllree (limp <" <-.n,:,1on,, t)ut for four or more dimensions only the ,Q(N2)
time lower botJnd has been proven. (See Section 1.1.1 for a
descril_tion c_f oilrknov/ledrle of convex h_llls.) For K>_ 4 dimensions
we lack tiqht LJl)l)er ancl lower bounds on H(N,K).
2. tJnder some. conditions the expected-time for intersection of
half-sl)ace.-s may hr-'. less than the worst-case time. We may use fast
exp_,ct{:d-time con\m.x hlill algc_rithms to obtain fast expected-time
int{:rsection of half-._,pace algoritl_ms. For c,xami)le, in i[w o an(! three
dimr:,._lsiot_s if the e>.l_c:cted i_LJr:_l_(.,rof nol_rcclLJndant Ilalf-sl)aces is
O(NP) fr_r .',:;c_l_l_:;II) < 1, thr.'.n N f_alf-spaces can be intersected in O(N)
exl_ect(:d-time [16]. °" "ol,](,-c thr,. convex htlll cff N K-dimensional i)oints
can I_e constrtlct_::cl in O(t4) expectccl-time, if the K coordinates have
in(l(:l_el_d,:_nt, di.'.-,tril)utions [10, ,30] , we can intersecL N K-dimensional
half-st_a(:cs i_ O(N) exr)cctc(t-tim,'_ if [lie N f_alf-spaces transform to N
points whos_: K coor(li_at{_s are (ti{_trit;utcd indel)endently. Under what
otl_er co_(titio_; _nay we in ters(:ct half-,':_paccs in fast ext)ected-time?
3, We ca_ i_tc,:rs_,.ct two convex (tlIircc:-ilitl_(!,rl,_;iollal) i)olyhedra in O(N log
N) tim(, t:)y siml_ly trc-_atiI_r; it as a problc'.m of intersecting half-spaces,
Ca_ we improve this to O(H) time? (In two dimensions, convex N-gons
cal_ I::_ int{,.rse_:t_::d i_ O(N) till;{,, wl_ere.c_s it requires O(N log N) time to
intersect N I_alf-I)lanes in tl_e worst cas_;.)
4. I low fast can we intersect t4 half-spaces on-line in two or more
dimc, n,sions? (St_amos [91] has l)resc, nte.d an O(N log N) time planar
oil-lilac, co_w{;x I_[111al!lorithm and Pr(,parata [78] has refined that to an
O(N log N) tim(: _::al-time atqorithm. Both of these a.lgorithn_s update
the co_wcx I_11 a,,:;each point is re{',d -- rather Itl'lal'l operating on all N
I)oil_t,'-; coll(:ctiv_:,.ly -- but ti_c,, c)i_-Iil_e algoritlim may recl_lire uf) to O(N)
time for any i)artit:lll'_r t_l)(lat(_ v,/l/c.rca,s tl_e real-time algorithm always
req_lir{,s at most O(Iog N) update time.)
24 December 197.q. Geometric Transforms PAGE 52
3.2. Union and intersection of Disks
We present the. problem of constructing tha tJnionor intersection of a set of disks
(the interiors of a set of circles) not for its applications, l)ut because the solution
presents several tecl_i(it_:s that are usr:f_l for solving many othe.r problems. We
introduce two new lrall,';forms, inversion and (_mt)c_.(lclingin a higher dimension.
Inversion is t_ned tr_ ce_vert F,ml_len_n tl_,'_t involv_ circles or spheres to problems
that involve lill(;,,:; or 1,1all(;s. Fint)eddil_g ill a highc,.r dilncnsion adds another degree
of freedom to tile t_rohlcm, which can l_{::rmit al)t-_lic_tior_of techniques not applicable
to the origiilal prol)l(;nl. The disk algorithm con;hines inversion and embedding to
transform the:: prohl_,.ll_cJf con.'._lructing the _nion or intersection of a set of N disks to
the l)rol)lein of int{;rs(:(:iillg N tl_r_e-dim{.',n:;iollal half-spaces, which we have solved
in O(N log N) time. 10 hnotl-_er imt)ortant featlire, of the algorithm is that it
demonstrates an examl)l(; of I_ow a noJ_convex object (the union of disks) can be
represented by a conv_:,x ohj(:ct (an int_:_:r.'_cctionof half-spaces),
3.2.1. Representation of Di_:l,,s and Th_.:ir Union or Intersection
A disk is the. s_::t of all poil_tn withir_ a giv(:_n _"'" "I)C,-,Itlv,. radius R from n planar point P.
If the coor(iil_at(...:, of P arc (Px,Py), tt_e.n ti_e (1'",_ lz,K may be rel)resented as a triple
(Px,Py,R) and a :,e.l of _li:,ks a.'; _ .qe.t of .'_t_chtripl_:s. The be.st repreuentation for
the Lltlion or tl_c." itttcrs_.,.(:tioll of a ,_set of (_,,)1_,_,dei)encls on what kii_cls of information
about the linion or ini_-.r,';c'ction vvc want to retrieve efficiently. For several
applications tl_c best r{_l_r(:::sei_tation will t.;e a,':;_n intersection of half-bpaces in the
transform space (to t,r: (1_.... i ll)c{I), l_lt for olhe.r _t)l)ticatiolis we may need a
rei)resentati()ll in tl_e origi_lal st)ac_;. We will not describe either representation in
detail l-)ecaiise we have already (1(-..... i lb(.(l the repr(:sentatio_) for intersection of
half-spaces and the rel)re.sent_:_tion in tl_e original space is only a slight modification
lOShamo._ ai_d Iloey [94] de',<'.rd)(,an ()(N lorI r4) t,mc intcrc,ection of [1 disks thai is a modification to theiralgorithm for irll,'H.'-_'<;l_rlr I I_alf pl,'_r,e:_. "their ah'lorithm ut ,or,u, av.l_, doe.s not extend to an O(N log N) timealgorithm for the i iiliOrl Of N diIL._.
24 Decemher 1979. Geometric Transt:orms PAGE,63
of tt_e rel_re.sentatiofl for I)oly.(.lons.
3.2.2. Lower Bound for the Union or Intersection of Disks
We prove that an algorithm that constructs tile union or intersection of N disks
can be used to sort. Sil_ce tl_cre is an ,Q(NIog N) time lower bound for sorting
(under th_, same m_d_,.Iof cCm_l'_tltaliot_tlr._edin t:he construction below), we have an
_(N log N) tiln(: Iow_;r I)ouIld for constriJcting the ullion or intersection of N disks.
TlleoE(_m 1G: -llle constructiorl of ttze ullio_l or the intersection of Ndisk.'-; lak_;s ,¢/(N log N) time;.
Proof: I.r'.t S he: a set of N real,'; t i( [0,1),i = 1, ..., N. For each real t iwe h,_vc, a disk (1i cent_:r(:.:d at (xi,y i) with radius two where
(x i, Yi) = (cos(2rtti), sin(2rrti)).
As illtl,_tr,_t_:d in I i_ttlr_',3-8, the points (xi,Yi) are all on the unit circle and
the l_olJI_l;_ri_:.'_of th,:', (li-;k,s (Ii ar_:,,t4:_nrlcntto the unit circle. The uniOll of
tile disks di is r(-_l_r_::;s;::t_t_.:dby a cIos{:d cl/ain of circular arcs(al)-I)c-cd-da it1 I i_l_Iu, 3-S). ll_n order of tl_:', arcs in this chain forms a
sort for tl_e N r(:al,_ t i. Similarly, an intersection of the same N disks is
rel_r,::s_::nt_,d by __clo,'_t ('h_in of circul_r arcs (he-ef-fg-gh in Figure 3-8)
who,se order sorls th{_.r_,.als ti.B
0 i ..i
Figure 8-8: Sorlil_g witll a u_ion or il_terse('tion of disks algorithm.
24 December 1 fiTlY, Gec_metric Transforms PAGE 54
The prouf of tllc.: I(_wr_r bourld re.qLlir_-:::_an _(N log N) time lower bound
for sorti_[1 tJ_lcler _l_e :;an;r; niodr;I of c;ompt_t,_tiotl _Jseclto construct the N
disks di from 1he N real,_; t i. Since _llle construction of circles uses thefunction:.; siJ_e and c:or;ine, a model of computation with only linearfLJnctiol_:; of the inl)_Jt i.'_ not stJ[ficient. As for the intersection ofhalf-sl)aCes, we may u._:;c,. Frie.dn_,'s [43] result that sorting has an
_(N loll N) tiln{: kJwer boul_d (:Veil wlien _rbitrary functions are allowed at
internal nodes of the dc:.ci.,;iontree ,'_nd the output functions are analytic.Since sine atl(l cosizle are analytic, tl_e _(N log N) lower bound for sortingcarries over to the u_ion aJl(t irlLerse(:tion or disks.
3.2.3. The Inversion Tr,_nsfo:m
Our algoril:hm for conr;tr_tcting the intr:r:;ectior_ or ttnion of N disks is based on the
propr:rties of 1:1_, il_vr,,r:;ion tra_l,_,r__rm. We will first _lescribe the two-dimensional
transfor_n at_d tl_c,l_(:lu_ler_lJi,:,et_tttree (_tr.l i_igher) dimensions. For more information
on inversion wr: refer tl_e r_:.,-_cl_rto Dodg_: [36].
The inv_'rsion [ral_sform is (lctermincd by two t)arameters. (1) the center of
inversion, and (2) tile.' ra(lius o[ invcr.';ion, For simr)licity of exposition we shall
assume (for now) th;_t the cc..ntcr of inversion is the origin and that the radius of
inversiol_ is o_le. If a l)oil_t: P l_as polar co()r(Ii_ates (R,O), then the inversion
transform of P is
(n,e) _ (_/n,O).
Inversion maps _ v(:cto_ in tl_e direction C) to a_other vector" in the same direction
but with its mafl_it_de "iilverte(I." Note tiler inversion is invol[_tory -- al)l)lication of
inversion twice yields tt]_ ori(iir_al poi_]t, l igure 3-9 illustrates another imt)ortant
I)roi)erty of il_v_:.r-:;i_i_i_ tl_e t,t_-'. A circle tidal t:)_.:;ses througl_ the center of
inversio_ trades,form.'; to a line th,'_t do,:,.snc,_t),:_ssthrough tl_e center of inversion, and
vice versa. [:[_tl_(_'r_lK_r(:'.,ti_(_ int_,.rior or t!_(: circle transforms to one of the
haif-plan_:.s dc:termined l)y th,_t lii_c and tilt: exterior of the circle transforms to the
other i_al[-I)l_.:. The I_rOl_{,_ti,.-,.t-_c;[ i_vcr.*;i,_n in tt_rc,.c,,dimensions are analogous. The
transform can l)e _;xl)l_:ssc:d i_ ':;i)hc:rical (:()c_rdir_ate.'.;,:_::;
(R,O,_) -:' (1/R,O,_).
24 December 1979. Geometric ] r_ll/_,;forl;is PAGE55
This tra_,'.,for_t i'_ i_vol_Jtory, ,'_sin tv,/o dii_,sion,'.;, 4_ndit also transforms any sphere
that i)as,__er; tllr()lstllt ill<: (::(::_ter or in\,(:r::;ion to a 14ane that does not pass through
the centr'r of inversi(,_. [ll(_:: iiltc:li{)r of the sl)l;{'.re tran,';forms to a half-space
bounded l)y lt_at plan(: az'_dthe cxL(.'.rior of the sphere transforms to the other
half-space.
<{ )>
X¢-.- QFigure 3-9: li_v{,rsio_ tr_,',,_>rm,, lil_(:s to circles and vice versa.
3.2.4. hf_oiiillIn for Ir:tcrsectio_ o;: Ui_ion of Disks
We, will im(_w{:xl_hfil tli_: l,rof,{:rLies oF LII(.',il_v_:r,,:,io_transform to construct a fast
algorithm f{_r lhe_lnion or interseciio_ ol disks. We will first describe the simple
case where ti_e circl,_,s l:_oun(lil_,gtll_' N disks sh¢lre a common l)oint P, and then
generalize tl_e result Io an arbitrary set of N disks in the plane.
Fi(l_lre 3-10 illu,':;trat(:s t!_(_,_;pccial c_,_:;ewhere the N boundary circles share a
common i_oint P. I_:l Ci de:note di,,-_ki, Fori=l ....N. Since circle i passes through point
P, ix_v(_r,'_ional_ol_LI_ tr_,'.;roI_,'_ Ci Lo _ h,'_IF-l)l_i_cIIi. I[ follows that the union of the
N disks iransfor(n.'; to tile _nion of N t_r_If-plar_cs:
N N
U c i -e U t-1i.i=1 i=1
Similarly, if _, (lenotn,', tt_e c(_mi)Iclncnt of X, then the L_nior_of the Ci transforms by
24 Deceinl)cr 1929. Gcon!ctric l ran,sforms PAGE 56
N N "N
U c, -> U il, = iqi=1 i=1 i=1
which can also 1)o solv_,(l as an intersection of hatf-t)larles. Sinc:e N haif-i)lanes can
be intersected in O(N log N) time', we have
Tll('orenl 17: llle uiiioil or intc'.rse.ctioi_ of N disks can be constructed in
O(N log N) tittle whmn tile circtcs t:_otin_tiilfl tile N disks share a con_mon
poiilt P.
In general, 1.:_wr.v_:r, 11_: N c:ir_;les will not I_av_. any point P ill comlllon, ill fact,
the disks may I_e el iiir_',ly cti',j(_int. Nev_',rtl_o,l_;ss, wc can mai_ipt_late the qeneral
prol)lenl so ttlat it Ic_ol<.';.'-,ttifi_:i_::n/ly likr: ttl(' ,';l_ecial case that inversion can be
applied to ol)L_:_ina fa:;t algorillim.\
C
D ....I_' :__:J
Figure 3-10: Special case. for invcrsic;n: All houndary circles meet at point P.
Theory;in 1#_: "lt_e: tillie)ll ()r in[cr,_;c,',.:;li()_lof N di.;ks can I)e represented
as a collv_,x I)olyl_{;(lroil in O(N log N) time.
l)roof: W_: ill_l,';ll',:_Ir:t11¢: c:c)lls;trtictic)l_ in Iigtirc: 8-1 1. Wc first enlbectthe: N di:;I,:.c,in ilirc:¢: climctri',-,ic_l'.r;witl_ 1t_e disk,<_all Iocatecl in the xy plane.
We tltr-:n chc_o::;_:al_ nrl_ilrary poirl[ P [l_at dn,::s not lie, in ti_e xy plane. For
each di::,k c lh_:r_: it; a ttl_ictltn ,';phnre ll_at pa';ses tl_rough point P and tl_atinter,_,':;ects Its(,. xy t>lal_: at circle, c, 11 We ca_l tlt_s represent the N disks
1 1 A sphere it, dr.loin_ined by f,:)_ para_r,et(.r:., 1he tl_ree c:ocrdir_ate:, fer its center and the radius. A circle and anoncoplanat I:_(>inl ctele_mU_e a ,.,,iqae ,.;,hu_o L,eca_l.:e r(.ci_Ji_ir_!ltl_..:, ::.ph,:,re to pass through the circle costs three
degrees of freedom and req, l!_n,g tl_e si)het,:, to pa:.s fillet;oh the point determines the foorth.
24 Dece.ml_nr 1979. Geomctric Transfornls PAGE5?'
isl tile" xy I_l_{ll_' by N b4_lis wllo,t-;_: (_;ptlcriccil) houri(lorries sllnre a common
I)oillt P lllvt:r.-;i{_ll ubutit l_oil_t P tr_ilsi'ornls tll_" N sl)ll""r "<_to N planes, the° L,/ J,,:)
1)_11.':;to l_lf-<;f,{_ccs, _(t _t_(I tt_(:, extP.riors of the balls to comi_lenlentary
I_alf-,<:;l_:c.,..;. "ll_'. illt_::r._;,:,c:tion c)f N disks i.'; thus ref_rcse.nted by the
illtor_:,_,,ctiol_ c_l N tl_t[-,'_l,aC::cs. Sii_iil(_rly, ,,,.J_.rm;_rc::_enl, tile union of N disks
t)y (tl_ _. collll,lf:itl(::nt of) tll_: ii,tt:r,';,,:-ctic:,,ll of N (COml)lementary)
llalf-.<;l_cc.';. Sinoc \',/{, c_n inte.r:;c,.(;t N t,,_lf-_:;pac:es in O(N !ng N) time, we
can rcpr_.<;cnt t.t_(_ u_io_ or i_t{_r:;cctio_ of N arbitrary I)lan_r disks by a
convex 1->olyl_cdron in O(N to£1N) tii_c..F.}.
l-iguro 3-1 1; Gc:l_cial c_-_:;(,for ii;tcr,,.JucLic)n or union of N disks.
3.2.5. Rol;._tod t)roblorns
We will now I)ri{:'fly (lesc.rit){:; a few isstlC>.s related to the I.lllion of disks that we
have not yet cov_::r(:d.
1. We can !:l{:ltc:rnliTc_ otli tc:ct,i_iqt_(-', for l_:i)rosentii_g the union or
i_t{:r,qc,,clioii ()f (li,<;k_, [o ,_l,<;oailc;\v ,<;uhtrci_:tincl circulr/r re,qions from a
tllliC/ll ()r ii_t_'.rr;('_".tic_n of di_k:_, Sincn c',cic:h circle IIIQI)s to a plane in
thrr:r:-::;l)nCc: , lllr:l(: ni'_: two ll_r(,.c:-diin_:ii:iioil,_l half-spaces that we
tony n,';.;r_c:inln witli <'_.qivr'i_ cir<:l,::. One-.hnti:-,<_t)ace corresponds to the
int+;rior of ll_e circlr: r_n_l tl_c: oIhnr cc)rrc:.<;l;onets to i',_e exterior. We,._l<i, of circles or theirillc_y lhllr, lr:lJr_'..<,r'.lll <:_y il_teit,{:ctic;l] c)f tile jnt-,"os
_'CCOl]ll)l_:mnllt,<; l)y nn il_t{:rgt:oci _I] of hatf-,<-,f:;ncc::;.
2. Sill_l_Or;c', llt,il \^l_:t \fi/Cll'lt_G(l t()I'>i'n!)l'C)c:e,<-;s N disks so that giver ,311
arl:_iti'_lry I)l,_ii;ir t,oii_t we: cotild <itlickly (lctcrinine if the point lies in any
24 Decemb(:r 1 .flY9. Geomr:tric Transforms PAGE58
of tile N _li:_ks. If \',;c rcpr_..:,';_"._t the uzlion of the di,'_ks as an
inters_._,.(:iic:_tl of I_,_If-.,'!_l_Lcc,_, l.il(:ll [iliS I_l'()[)l('.ii¿ IJ_.COlileS tl_e prol)Icm of
{.t{?.t_::rlnJslill!l i[ ,_ l)Oillt ill I.l_t_'('-,:;t_,_.:(: li_,,,._v/itl_it_ _ convex I_olyllcdron.
"[lli:._ I}l'()l_l_:nl is _'._l[li\/ilt_',lit to Io_':,_[iI_(,l _-_ t,c)int withir_ two planar
straiglll-li_,. (Ir,_t_l_.';.1 2 A::; \_',/(:llt,::iitiollcd iit tl]_:: illtrocluction, location
of _l poillt v../itlli_ _ I'ti'_ll_Llr flr_li)ll 01" siz,':', i'_ (:;_ill I)(., (lOlle ill O(log N) time
.(liv(::ll O(N l_._tlN) i:_r(:t_ro(:,::'.:!_,'.;iltgtilnc i_ll(l O(N) stor_tge [70]. We lill.lSt
also not_: tidal Ioc_ttiot_ or a point in a ,'-;(?.tof circles i,s a decomposable
searcllin(t i+robl(-'m [5].
3.3. Derivation of tl_e Point / Flat Duality
The il_t(..L:rs(,.ctio_ of Ii_ir-_.;l_c(.,s involv_,_ a i)oit,t / flc_t (lu_lity ,'_n(i convex hulls
wh_;r_:an thr: l_nic_n ni di,_,l.:n _l,':l;C:l_cl::; on in\/_'rsion (and embed(ling in a higher
(lime_sion). IIi tl_i:-, ,'-_c(:[i_:)_twc ,,_l_uw tl_t tl_{,,s(: tccl_i_iques arc closely related by
derivinq tl_e t_oinl / fl,_t dlinlity ;_n ,'_lin_ili_g _:,_.'._::of inversion, lil_c:ar tran,sforms, and
a circle:.'. / l_:)iiit (i_lity, Iii tt_ coi_'.;tr_lction \,vc', (l_:n_OllStl'_:_tc tl_c', rclationship
between con\/r:x I_lll.'., ;_nd tl_(: _nion of di.,.:_k:-;or I_,'_lf-sl_,_ccs.
f-_---_ L-C::_
Figure 3-1 2: l-l_c u_lion of (tl_e int(-riors of) circles that mect at a point P.
In tl/_:, i_r_.:vi_il.'._ _c-li_)li w_: cr)i_:._tr[lct_!_d it1(', tlllion o[ (the il_teriors of) N circles
"-Simply bt{,;d., tt_,. c::._vv'< ;',._[:/1,.'d;_:;, h_;o UF'["£R ,;;.:1 L_h','_'[[iq;",_t-..,r.1 p;<,jcct b<:-th t:;__rt:,orthoqraphically toplanar rtt_q_h:, ill II_' ;_:!/ i_l._;_,.. If ,'_tl,{',: ,{4_..r,'.i,:;_c,l i_:__I [' pr<:,j.'.,,:t, to) :_ r,i_r_:_l pond: in r(-fiior_ R of the UPPER
graph _t_(I _('rli_:n ."; of II_,' I(')V/I t_ £;_nl;l_, tlv'r_ P I_,.,.'.:'.iIl_ii_ ti_{' cor_',e:.: l,{,lyh{,dron iff P lies below face R andabove face S {._f I1_(, t_{q_,ll{,_ho;_.
24 I)ec(:nll_++:r 1_lT(.l. GcomcLric ]-ralmfornls PAGE59
witll a point P ill c_nLInorl t)y First _J:_i_(1illv(-:rt_iorl to transform tile interiors of the
cil'cl_:,+_ to ll,tl[--t,l_+tl_',:_. In li!Itir_:: 3-1 2 \;vc (l{,.lncm,!_tr,-_tean alternate solution:
Coll,Structi(_ll o[ th,:; Ui'lioll of hJDisks whose Boundaries Share a Point P
1. Let Ci, i = 1, . .., N I)e n .set or disks whose. 1)oundary circles meet at
I)oint I_. lrall.';form each of the N disk.+; Ci to the l)oints Pi diametricallyOl)l)O,_;ite pois_t P. (ll_i.,; i:; the Circle / Point (iuality.)
2. Collstruct tllp, (:oJlv{':.x htJll of tile set of the points Pi, i = 1, . . ., Natl(imcllted witl_ i)oill[ P.
3. A di,':;k Ci is jlnnrc{ltlll(l,:_tlt in th{_ tll_iol_ of tl]c I'4 disks iff its transform Piis a vetlnx of tl_{: coilv(_x hull. 1o ol_tain ll_'. circular arcs defining the
[ini(_n w(: ,';iml)ly ir_,_,':,f(_rm li_c v,:rti_-_;s of th(; convex hull back to
di,',l<n, obtai_i_,:l I1_<: _:ndpoin!,,n of tl_e arcs from the points where
nei(ll_l_nrii_g di,':;k,n i_I(:rs(_ct.
Since tll(: tn()nt _'.Xl)Cn.niv;: ,+;tPI)in ti_(: _l+l(>ritl_m is tl_e construction of the convex
h[lil, tile t{_/nl fillip:, i.,_Q(N log N). We v/ill on,it tl_e i_roof tight the algorithm correctly
constrl_ct':; ll_: i_ni()il of tl_(:,, i'4 circle:, bncn_,';(:, as we shall see, it is essentially
equivale_lt io our ploof of tile ,:_l,rl(_ritl_mfor intcrscction of halt_-sl)aces.
I/.,,..,J'
P
Figure 8-13: Tile tl_iot_ uf h_ll'-t,l¢_nc'.s trar_sforms to the union of disks.
In I:igt_re {+.-13v,](. illt_.str,_t{; tl_(: union of +:tset o[ I+alf-t)lat_es, each of which does
(.on_'.tltL: II,i_,,_{_lIi_:_; PAGE 60
not contaial I:_islt p.13 [;y i_lv_:r[illf.ii tt_e II,_lf-.l_l;_n,::'.z,_l.',o_lt point P we transform the
union of half-l_l,,t__r; l,rol_l,::m t,'_ n i_nk.,n of di,_ks proi_lein wl_ere tile circles bounding
the disk.':; all lll(.t(.,_[(if I_()ilit P. B[It _;:,:;\,,/('. j[I.::;t .'.:;_:_w,\,'/(_ C:afl construct the Ullion of the
disks hy iran:_fol_,ing lll_.'In to I,oiz_l,':; ,'_r_,l col_,'_lrllctiJ_g the collvcx hull of those
poillts (aI_d I)oill[ P). W_.: \*/ill I_ow d(:'.,',(:ril_{: tile. tr_iISfOlHI _-_lgcbraic_lly.
h_._,_t,uo sin_plcr wc can aSSUlltC tl_at the point P lies on the
negative y-axis:
P : (O,f_). n < O.
Our algoritl_m inv_-.rts e_(-I_ l_alf-pla_c abot_t point P, obtaining the interior of a circle,
and tl_en mal,:_ tll_:, cir(:l_:: to tl_,,, f_oint di_n_,.tricallyoI:,posite P. We express this as
y = aix + b i 4 (-,qi/(bi-R), I:',+ 1/(hi-R) ), i= 1, .... N.
To show boy,/ tt_i,; r_!l_,t_:s t_ tli<: t_oil_t / flut du_lity theft we used in Section 3.1 for
intcrse, cl.il_g I_lf-t,l_nc,',, wc m_,';[ now u,sc _ trick.
o ,',R(;call froll_ ,,t_'l_ ,:_{_f _[tl" _l!l{_i[l_i fur coI_'.:;trtl(:ti_.ri tl_c _nion of tl)o disks, a disk
C i is norlrr:d_n_l_,_[ iff il:, Ir__l_:,forln ['i i:; n v{::rtrx of the convex huil. If the convex
hull is trall.';l_l_:_:d. '.-;trct_:'_.'_t, (_r rul_t('.(i til_:: vurtic,::s v,/ill siitl remain vertices and the
point,s inside il_: I_lill will r_:m,'_in i_si(lc the h_ll. In i_articui,_r, tl_e transform
applied to tile p_int P ,'_d l_oi_t.'.:; Pi' i = 1 ..... N will not affect our determination of
which points I'ei. on tl_::; co_lvex h[lll and which do not. Our new transform, inversion
of a half-pl_ne abo_lt point P followed by t:he circle / point d_ality and our linear
transform, ca_l i)_ expresse(l as
13We ca_ ,:tll,.,r_,_t,..Iy Ihil& ,._f il,c uifiol_ o[ h,_lf-l_l_,.,s ss the com;)lelncnt of the intersection of the
complementary hal f -.pla_e s.
24 Decem/)er 1979. Gc,ometric Transforms PAGE 61
y = a,x + l_, -_ It:,,-R'ii,-hJ"
Note also tllat poil_t P transfolms by
P : (O,i_) -_ (0,-I_).
Taking ti_c limit _e; I-{-', -<<:,we obtain
y = aix + bi -_ (ai,b i)
and for point P
P = (O,R) "-*, (0, +':'_::_).
lhe vertices of the conv{_x I_ull of tt_c; points (hi,hi), i = 1, . .., N augmented with
(0,+,:,:,) arc: Ill{: ve.r[ic{:s on tl_{: hottonl part c_f the convex hull of the points (ai,b i)
(and (0,+_,,)). ]his is cx_ctly tl;e ct',{_racterization given for intersection (or union)
of half-i_lnne, s in Section 8.1. We hav__.
Tl_e.or(:m 19: The l:_Oi_t / flat duality is a limiting c,_se of inversion
follow(,d i)y Lieucircle / i)oii_t duality al_d a linear transform.
3.4. Summary
In tills cll,_l_t{:'r w{*; ltav{., l:,res{'.ntcd ,.;ever_;I ]mt:,ortant transforms and tecilniques:
- A i)oinl. / flat dLlalily --
111i:; m,'-,p,_;l)oin[s to rials ,'_ndfi,:_ts to pc)ints. Since tl_ere
ar_':,nll<:4_ly a n_n_l:){:rof ,_Igorithms for I>oint I_robl(::ms, this
tr,_n_,iorm iindn gre.at(:,.st tl:,{,, in trar_sf,]rini_g t)rohl(,ms tl_at
are r'xl,r_:tr,_,r'.d (or _:;Xl_ln_-;_,i{_lc)'ill t_.lllt,.'" ' ', (ff_fl_ts to l)rol)lemsfloat in\/olv{, t_oint:_;, lwo of the irnportant properties of the
dt_ality tl_at we dcscribe(l are
(a) it preserves above/bclowncss between points and flats,and
(b) it preserves distance l_etv,/een points and flats in the x Kcoordil/atc, alld tllU.f:; l)re:berves i_ci(tence.
24 December 1979. Geometric Transforms PAGE6Z
- Eml)eddiilg into a highc:r dimension --
llii:_ (liv_'.,<_allotlacr dc:!:lree of fi'eedon_ to the prol)lem tllat
allow:-, al_l_lic:,_tio_t of to'.c:llniq/l(:_ not at)plicat)le to the
ori.rlill,r_l I_r_l_lclll -- cir(:le.s can l_ccnll/e st_ller(.:s, lines call
becol_,:: plati,:::._, c.:t(:. Since ilia., l_igllc:r-dilnensional ol)ject
I-la-:, a _i{'_il_.:e c:_f [l(tL;dOlll tllc_t \,zc' (:ai/ ch()oso arl)itrarily, tile
ol:>j_:,cJts ca_l 1,{' c:t/c;:::_f_ilto coll[orill to {71l/ cxpo'.ciully siilll)le
cci.t.;e (_lll N ,_:l_lt{'.rc:s ll[iV(,. _l iJOili[ ill C:(1111111011), Ill lllOSt Of the
al_l>li_'.,_tioii <, _f entl>c.,,dcliil!Ti iI_ a I'_ifit_er dinlonsioil (in this
tlie<-;i{-,) tl/(: I>rol_lc:n_ if: first C:Xl>rosse.d irl ternls of circles
aild tlio',il einl_c'cldocl illto u llighc}r dimension and
re-c:'xl_re_sso.d ill {('.rtll;J of sphcro:_,
-Inversioil--
lilv_ir, inll is n c,irclilar ti,_llr_foi'fn; circles map to oiroles
(where a lille is oon,<_idorl:,.d to be,. a circle of infinite radius),
In partioillar,
(a) a circle that I_aSses ihrotigh the center of inversion maps
to a line. that docs not pass through the ceilter of
irlv_?,i,sioll, i,li(l
(b) Ill,t. iilt<,.ri(lr (Jr c_tirol(: lll_t coilti_iils ttie center of inversion
lll_,p_, {(_ ttl{,, (::xlcrior of a oirc',Ie that coi_taiil,<.; the center of
ilivc:r,'_iorl,
Ii1 tllroc (t:lnCl_:;;ioiY-_ vie l;a\l(,, tl_c ,<.;anle relationships
l)(_[wc:r>n <,-;l-)tl(:rcJ.sc_iict t-)lanr:t; ,_ll(l il_ 1( dii;iC.lt<-_ions between
K-,<.Jt_li_.!,rc-:sC_li_l [Ici{_;, li/v_,.rt;ioii is _;lt..-!;oJnvoltllory --
at>l_lic:atioil of it t\uic{,, yi(:l(is tile.: originccl (:_i_ject. The ini_iil
tl,'!:c..-,for illvc>r;-;ioli (ill tl_i,<i tll_:,qi,<.;)i.<>tran,-;forining i'_rol)lems
ttl_lt i_i(-: c,.>:t_rc::-;.'.:;(;cl(or C;xl>r<>._.,<;iblc:;)in tc'.rilis of oirclos or
sl_lt(_res to l_rolJlc:'.in_; t!l_it, ill',.tolv(_ line,<; or planes aild for
wllicli fast _,_lgc_i'il.lilii,_._{tl'C'. kfiovsn.
In tl;is cli_-_t:_ter wt:: lt_.ivc_ ctlt._o<d(:cli/ _lli C.il_i_lication of COllVC>.xhull,'s in the intersection
of half-st)nc_:s and in tl_c: relalion,ql/it'> bc:twccn itlv{_r,".JiOl/, linear transforms, and the
point / flat dtiality, Ill later cl_c_pte.rs col_vex htllls will be applied to several other
problr:ms tl_at illvolve a "nntwork" oi Iilic'.r_i"t)ai't,<;,
24 De.cemb_:r 1979. Gcomctric Transiornl,s PAGE63
4, Con.:, ,l c{ion of Fait iest Point Diagrams
Geometric trnr_slorm'; arc important lot)Is in tl_{:: construction of many different
kinds of I_:-'._._r(_.,;tai_cI f_rthcst t_oint di{_!jran_.s. Tt_e_;c_diagrams include (nearest and
farthe.'_t poilll) Vorr,_ni _liagrnn_.s in f:ll(:lid,:.an nnd .sl_herical spaces, and the (nearest
an(l fartll_...:;I) (..'(1_1_(liaflr,,l_,._; of a conv(:'.x t_olygo_l. Each of thcse diagrams is a
tesselalion of .'_l)a{:_: i_lo ,',c.t:; of l_(:)is_ls close.'_t: to (or fartl_c.:t"_s from) the elements
(poiilts or edfl{_::;) cle[iitii_g Ilia: (iia!:Ir4_in. W(:'. will fi_l(l in each case that it is useful
first to exl)r_':;r; il_- F,rol)l_:m in i:crm.'_ {_f a .set of circles thai define the diagram and
tllen to ei,l_,:_d tile I,rot_lc;_n i_to a I_i!:;l_('.r-dimcnsiot_al Euclidean space, whicl_ allows
_ls to _sn tc:_:l_ni_t_:s I]ot ;_Pl_lic;_l)l_, to II_e origin;_ll}rol_lein. In the following sections
we (les(;ril_(_ tl_c.';e di,_gra._,_; and al(loritlims for co_.';tructing l:hein.
4.1. Euclidean Voronoi _d Dela_m_;y Di_;d;'w'ns
Voronoi dia[Iraln,':, (also callnd lhie.s:_n.n diagrams or Diri_;hlet tesselations) find
apl)lic;'_lir)n in cltl.':,l,-,r analy,':_i.,-;[,51], c_n,':;truction of conto_r maps [29], construction
of [:u(;li(leal_ inillill_l st,al_l,iI_!i tr(:,._:..,s[98], crystal growth [46], and several
intere_;ti_!l i_rol)l_.'nls in f l,::.un_ctry [01]. We c{_n _asily ,show an ,Q(N log N) time
w(_";l,-t-(;_..,;e, l_Jw_:,.r t)oul_(l by d(:,._noll.'-_tr,_tii_q.,tt_at ,_ny al(.torith,I tl_at constructs a
Voronoi _liagr,,m cal_ 1,,-. _::,c:d Io ,_r[ [r}l]" tile. cI_allenge is to construct an
O(N log N) tilli(.' __l!:t<_ri[t_n_. Shui_o._; [$9] ,:lcscribe,s an O(N log N) time
divide.-and-c_)nq_lr_r algnritl_m f(-)r cc_nslr_lction of the plan_r Euclidean Voronoi
(liAor_llll i]ll(l I l-:l:, ;illfl %l()llci rn7l d_::sr:IiI_e __nO(r,J IraqiN} lilnp, alcic)rithm for i he: I . and
L(,:, mr:t"I_c,:," il_ tl_e plarlc, l)ry:;d_l_, _I_d Lec [87] present an O(N c (l°g N)l/2) time
aigoriti_.| for tl|(:, Voroltoi (tiagram of lii_{:: --;egments (_ill(I other planar objects), which
they hayer imr)rovnd to O(N Iog2N) tim,.::, t4irkpatrick [59] presents an O(N log N) time
aigoritllm for co|_.*;tructil_g the Voronoi (liagram of N planar line segments. Shamos
[8r)], 1_.¢.'. and Pr_'.l;arata [f},r;] t'rc"" _ [SO], atl all.... ,>,,ra,,_ d l.ipton d Tarjan [70] have
pro(ILlced fa.sl al.{l(_rilliins for .searchin:l a Voronoi _liagram (or any other straight-line
planar graph).
The algoritlim for col_.str_ction of _,.E[lcli(lean Voronoi diagram that we describe
24 Deceml_er 1 079. Gcometri(: Transforms PAGE64
below [23] is not oztly a v_,ry iisc;ful result in itself, but it also serves as an example
of the use of ,'_evt:,ral ilnportar_t {tl[loritl3ntic tools. We use the technique of
embedding illl:o a I_igl_(:,.r (lii_;cn_;ion and apf)lying il_vci'sion (as in the alqorithnl for
union of circl,:_:s) ,:_n(I v,;_::,4:_1::,oL_.,;eacoP, vr:x hull algoriLhm (as irl the izltersection of
half-spaces).
4.1.1. Dc:fini_ion of F'I,,I,,,, '_,o, {,_,,_l ai_ [.,_._I,,t_,_,,y DL,-,_i'aI',_s
Let S b_:: a s_: t o[ I4 pl,_,_r poirlt::_ ._;uc:l_[lm4_[z_o fo[ir points aIc cocircular. 14 A
neare._;l poinl l,lai_ar Voro_oi di_gi4:..m ()f S, __:, l_ic'.t_rc.d in Figure 4-I, is a l)olygonal
network of N r(:!ti(_;l:_, for c:_(:ll r_oin[ Pi o_ S, rc!iiio_ I] i is the-, sel. of all points of the
plane tl_at arc: clr_,',c,r lo l_oil_t I' i tt_an to _ny or the oi!_,,r N-1 l)oinls of S. Given an
arbitrary i-_ojlIi[ l:_ in tl_c: pl,_l{:, \^;_::(:_n tl_u_; d{:tc,.r_llir_c which of the N points of S is
cios_;,';t to P l',y _l(,.lcrmining v,-I_icl_ of the I_ region,s contc, ins point P. The vertices of
these t_olygonal r(:!:lio_:; are (:ailed l/oronrd t,oin',s and the polyqonal boundaries of
the recliolls are ('alic:(l t/otonoi /_olygons. If a Voronoi polygon i,', botlndcd, then it is
constru('ted _:_tir_:ly fr_nl (-,'(!(1_::;of tl_c V_)roi_oi diartratl_. If it is unbouncled, then it
includ_:s lwo rayr; of ti_('. (liagr_m.
Eac:t_ Voi"Olloi l,(_iil[ V o[ ti_(: l/(::arc,_st p,.)il_t dia!lram is C(luidistant from the three
I)oint.-_ of S tl,al ar_, n__ar,-:r,t V. ii]i.s yi,:'.ld.:_ a I_rop('rty or Vororioi diagrams that we
_"( ,i. 1.3.exploit i_ ll_(: _lf.loritl_l_t of o-:ctioll
A poi_t V i,_-,a V{_r{_t{,i i_(;i_t (of titc', ii(_c.rc.,.st poillt Voronoi diagram of S)
if[ it i_; tll{, (:{:,l_t(,r {_[ 4_(,ir(;l_: tl_c:_lf:_ss,:;::_ tl/rou{iil li_;ec; points uf S but
The (;(lg(,s o[ (_V(_ron_i (li_i[ir{tlil cc)illiC_(:t t)_irs of Voron{)i points wl_ose corresponding
circlc, r, l;_r:r:l ,_1 1wo c__l;rt_l_ i_(_inl,,_o[ S. -ll_c-',rays arc: dcterlnitled similarly by one
Voronoi I)oi_l, [roi_i tl_(: _('_rcst I:_Oint cliarjr,_m and onc from the farthest-point Voronoi
diagram (de.scrib_:,d I)_,.Iow).
14Since any three _,,:_r,collm_.,-,r l)lar,ar p,:,ints dc.t(.;n_ir,:, a ur,ique circle, four planar points are cocircular only indegenerate case s.
Figure 4-1: Plnnar /q_:ar_'.st Point Voronoi Diagram
E(B) (A), (G)
Fe
(C) oD
OC
(F)0 Q
(D) _ A B
AFigure 4-2: f:artt_cst Point Voronoi Diagram
A fa/th(:sl point planar Voronoi di{_(lram (Figtzr_: .--1-2) is also a network of polygonal
24 Decenlbe.r 1 079, Ouom(,.tric Tr_n_form,,_i PAGE 66
regions, but rnrlioJ/ Ri i.<, thn set of all poir_t,_ in tile platle that are farther from point
•Pi tllali _lny ottl_.:r I_oillt uf S. A,':: for the nc_,,rc,..,:;tpoiilt cli_granl, there is a set of
circle.s tllat d_;;fiil{:, tile: V(-Jronoi i_oints for a [arthc::,t point diagram.
A t)oint V is a Vorolle)i point of tl_: f<_rtl_c.<;t point Voronoi diagram iff it is
the; center of a c:ircl_: th,_l pn_:_::;c:n11;rotlclll three of the l)oints of S and
contail_.<; all of tl_e. otl_r;r N - 3 point::_.
It is inli)ortant to hole Ihat only points that are v{:,rtices of the convex hull of the N
I)oiitts of S ll_v_: noi_(:mlJty farthest I:)oii_t regions. Tl_is is because each Voronoi
point V of the farthest I,oint diagram musl be equicli<;tant from the three points of S
that are f_rthe.<;t from V. It is riot possible to con.strtict such a .Voronoi point from
points of S that are not on the convex htlll.I
I tI
I
-1\1/ ,
t _"_._,, _ __-.-,- \I \
t \
I \I \
I \
Figure 4-3: Planar Delatinay [.')iagram
Both tile ll_->._i(:st ,'_l_:l farti_:st poil_t \lorol_oi diagI<_,s have I)lailar straight-line
duals, called l)¢;I,_tinT_y dingrc_ii'_<,. [igtlrc: 4-3 ill_l:_tr<_te.,qthe dual of a nearest point
Voronoi (liagr_in al/d Fi{ltire 4-4 illcistral('.z!_ the (Itial of a farthest point Voronoi
dia{iram, llotll (if tlln,<;e. (llinl di_leil,in_<_ fo;t_l a trinllcilli,_tion of tl_e pc)illts of S, Tile
vertice.s of eacll tii_lilClle of tt_c (ne_ltc_it poin{) Dc.'.l_lunay diagraln (Figure 4-3)
24 Deceml_er 1979. Geometric Transforms PAGE 67
determine a circle lllat (loc:,'_not contain anyof tl_e other N- 8 points of S. Similarly,
the vertices of e_c:ll tri,.:nfll(' of tl_', dual or ll_e farthest point Voronoi diagram
(Figure 4-4) detern_ine a circle tl_at c(:,i_tains all of the other N - 8 points of S.
(_?) '(A),\
(c) \ --... ,.. .... I .....
.--P , C
"'_'-.__ @/ (F)B
(D> A//
/(E)_\
I
Fig_Jrr::4--4.: F)_lalof a !-,-_rth(:,";tPoint Voronoi Diagram
Sillc(: tl_(_ _:_tr_::;t ,_1;(ti'_r[t_:,.;,t l_oif,t Vorunoi (li,:;gralns aild tt_('ir duals are planar
gral)hr;, the n_iml_er of V_ronoi point:; i,; at most 2N - 4 and the n_lml)er of edges is at
most 3N - 6 f(.)r N > 2 [,50]. Sl_iil().'-; [;.',.'-1,91] _(I ,':;hamos and tloey [93] give more
information ()l_ Voroi_oi al_d [)(:la_lnay di_tlrams.
4.1.2. Representation of Voronoi and Del;:unay Diagrams
1he rel_re'-;e_t:alion of Voronoi and D(:'lat_nay diagrams should enable [is to access
convcl_ienlly all of tl_e i)roxin_ity int'or_natioI_ stored in the diagrams. This does not
r(;(luire a_ exotic (int_ .';trt_ct_re -- \,re can nccom;)lish it with a well-chosen set of
arrays. Silica:, tl_e r,_y:, o( l_otl_ tlt_:' I_(:ar{_sl and f,_rtt_est po:nt Voronoi (tiagrams are
deterinin_:(l hy ol_:, fi<:,_r(:,';t Vomt_oi poi__t,-_<t on{: f,_,rthest Voronoi point, it is easiest
for [is to de:_cril_e a r_::pres{:i_tation for t)otl_ the nearest and farthest point diagrams
24 December 197.q. Gcom_tric Tl'_;l_sfornls PAGE68
simultan_.:o_sly. One c,iJc:ll rer)r_:nc:nta[ion i,; the'. five-tipple
(S, V, E, St(H:, [:PLr),
where
S[1,1] is lh_; X coorcli_at,:; nnd S[I,2] i.s tll(_ Y coordinate of point PI ofS,
VII,l] i_-; ill,:, X c,_or_tilJ,_tc., VII,2] i-; iI_{,. Y c,:x)rdii_at(: or the lth Voronoi
point al_(l VII,8] is a o',I(:I)it fl,;_g ti_at _listiiltilli._;lles the Voronoi points
of tll(: _l(,ar(_";t I,()i_t cJi_l!:lr_ln from [t_o._:;c'. of tile fnrttl('.st pc,iI_t diagram,
E![I,1] ,_1,cl I:[I,2] I_fi_t I_ ti_e t\,'.;c_Vnr(_loi t)()i_t.'s of V Lhat d(.'.t(;rmine
edgR I. Nr,lr: tl_nt f_r ;._ rny ol_" l,Oi_t will i_: ;'rc)m the nearest point
di,'_t(Ii|'itl}} ,'_li,t C)l)_::will I_;_ [r_)_i_the' _',Iil[ii,Z:t:_i F,(.)il][ (ii_!]ram. Furtll(:rlnore,
we .st(_r(.: Ill_::: r:_ltl('_; .S(_l[r:d CO[llit(_tc. lo(,I:k\qi,<;O ', t(,)r}}([lk,-_ it convonic.'.nt to
dwi:t_-:rlllill_!, Ill(:: Vl._tOll()i t,olycons _.s.'-,,_ci,_ted \,,/iti_ (:acI_ i)oil_[ J of S. 1lie
first few ,:,_tg_;s of E dcfiilc, the cd!lc.s of the t_(-'.,_r<-'.st(and faFthest)
Voronoi i;_olyf.lOtl:i_of I_oil_t 1 of S, tll_,. StlCC(!,.('.dillg t-'.dgc.;s of E define the
Voro_loi l_(dy.(io_t(s) for l:_oi_lt 2 of S, _'_n_lso on.
El'tr[I, 1] point:; Io tl_e first e(Jqe in array F of the nearest point Voronoi
t)olyrlc)_ for poi_t I of ,S. ,Simit,:_rly, i;Ptr[I,2] poiI_ts to the first edge in
army I:; of tl_e. farll_:,";t t:)oint Vonmoi polygo',_ for point I of S (if it:existr.;).
VtoS[I,l], VtoS[I,2], a_i(lVtoS[I,3] i,oi_t to tile three points of S that(let(_rlnill_ Vorol_(_i f_oint I.
The rcpre,';{-:F, talio_ h)r [l_{', _1_,_1_(_,{_rc,:_t;IliltI faril;_::_,[: point diagrams is equivalent to
the rel-_r_I.:S(:l_l,_li_nt If (') II tl_t n::ar,::,! __nH[a_ tt_:st poi_t Voronoi diagrams.
4.1.3. Planar Vo;or_oi Di4_ci_;,'_ A[goFiti;m
We hc:r_::; cc,lnl_ilir: I t1_,.t_l,'; of th,:: i-_r_::viC_tl_,,:,¢:cti()lt_, io l)rodt_c:e nI_ O(N log N) time
algoritl_ln for con:;trt_ctil_g c_ V{,roi',c,i diaclr_:t_i_of a ::;c:t S of N planar points. The
algorithm l ak{:s advant,-,gc., of tl_: f,(;t ti_,_t, tl_,:,.Voronoi i_oints of the nearest point
diagram (.:a_l b(:; rul)res{:l/tcd by a se[ of circles t!_;tt each (i) pass through three of
the N i)oinls of ,-;, and (ii) dn n_:_tcont#_in ,_ny of these N points in the interior. As
suggest(,._l i_l S_::_;liul_ 3.4, v,,,l_(;_ "u{: I_vc 4_prol)l(:,,m [:_at is cxprcs.';ed in terms of
circles, il: tony h_: i_rofilnl_l_:, to) _ry to ,t,t_Iw i_v{,rsio:_ to ul)tain an equivalent l)roblem
24 [)ecenlher 10 7._I. G(,omc'.tric- Traa_.'_;orms PAGE 60
that involve:-; linc:nr coiill_Oii(_,:nt::; rntl/_:r tli_;l circttlc;r compoilei_ts. In this case (els
(-.,. i.•-for tll(" lil_ic,I o1 di'_l'<_ in ,_:cLi_n 3 2) we: mll.<;t fir.st C:li/t)ed the planar l)roblem into
tllreo (lim_,.n.';i_nls i_lt(l t:xf_it:(._s t}_(-: rit,.',v t_rol_lom ill tcrllis of st)l_cres before we can
,w_.._.._on transforms circular (ori)rofitcibly nt_t_ly iilvf;r._;i()l_. 1Ills i', l)c,c:atlso i' _<s"
sl)l/(.;rici.tl) O(lllit_oiit:i/t';_ iilto iitl(*.<ll coit_!>oll0".l_tt_olfl 7 if tl_e circle (or sl)he.re) passes
throtl{ih lilt; (:C:lili:;r ()I Ji/vc.'r_;ioi_. V',]t: n{.:ecl the 0:Xtla deqieo of freedom that we
ol)taill by t'liill(_(i ' .......CJIli{i ill _i lii{tll_:l" tlii;_,:it:;i(_li t() ,*_c_tisry tifi:_ ('.Ol_.iltlOll. The linear
(cOnllJr)i_c:itl) 1,rc)l_l('m tl_at \,',:_' (Jl_l_ii_ tliii_:_ oil\ i_`i 1)0".simple: constrtict the convex
lit.ill of N tritli_.,[clllli( (} I_Oiiit_, Ftirilt_:iii_(_rc,, \,vc: (;an also ol)t_in tile farthest point
¢lia c]r_ll_l froth II]_'..';air, c- col_vr:x hilll.
Algoritlllri foi" _Ctll.<,tlitCtlCll oi ,11Ptc,l_,_r VOl'Olioi ['Ji.-,:,P_ll],,
1. Let <",> I)t >. il ,<-.c._tc>[ N I_l<_rlc:_rf_oiilt.<_ lo(.'.c_ted in the xy I)lal_e of
tllr_:cs-t:,l_aCc, l"ick _ l_(_ilit P iri tlirc:e-_:_t>acc> tll_t is ilot irl the xy i)lane1 5
2. Oil(lost: C_ll7 ra(lius of irittorsioi_ R > 0 arid tt_c.'.l_invert the' N l)oints of S
with rr'sl_eCt to i>oint P ailcl icl(litis _. (Section 3.2.3 describes
inver,<.;i(_il.) Call tlli<.i new ,_;(;t of t,_l_oitit,'.i S',
3. Or)ll_.;{iilC:i itic, (;OliV_:X ttllll r_f lli_ l,oil_t,<: irl ,_g'ill C.)(Nlog N) time (b 7 the
""> of tltc,, i)_tints of S' will beal._lciri{lilil of [>t_<:l>,_r;,tci,li]<l llc>ii,;t [,,,)]). All I,}
f)ll Ill(_' (;olt',/t'x llllll hc,(::lll_,c; ill\/_,rsi_:til ,'il)()lt t, i) mCil)S all pOillts of tile xy
l)lcii_(" t<i _i :cf_ll(_rc. \uitl_ I_ _tt tile" cii,(:x. (,_c_e Fi.cttlrc: 4-.5.) i.et f be. the
Iltiiitl)_:i (if f_t(:c .'_ oil i.t_<.-;(:<.)i_\l(:× lltlll ,_i/(l l_>.t tl_(: ed.ie (if ally) joining
fac;e,<-._I i nl_d lj hc cJr:ttotc(l [ij"
4. l::,--ir:ll of lilt,, f f_le:_:.<>r i of 1f,?. c:onvt;X i_ltl! (leterininc,<_> a plane ii]thrc,_;-'.,l_nC:(;, liive.rt tl_c::;_z f t>lc_r_os (wi{l_ re,st)t-:c\ to center of
15AIthe,tiqi_,ri_:_!t_,,m,_tic:_li7, :_,n,/ p<:;;r,t F' o_it:.i_"t;," :,y l,l,_,r..ew,tl work, vTo ma','or,counterexcessive round-offerror in ,'l (7<:;llitZll.tt:'l if f' i'. t,,:,117cl,:;..,..r_. '¢v'ev,'rm,t h:>cho,,:,e;.:a_;(iy c:,ordn:lt:,s lhnl (at:;ploximalely) c(,rltol P
over llte :<_ it'+.,, I,HI of ltlr, t',] [,,:_lrd , <-;nTlelK>,:>.',0 I1,(, z c,b<",rd{r_,_tc. :..> li,:_t it i_. riot loo clo$o to the xy plane (which
cltl!.ters 1t',o tlcirl:.f<>lil)cfl l,,:,i!it:, :ilol_ i{l P') Eiild eli:.<'> i-tOt to,<, f3r _:_.'.,i*i',,from tlio #7 pl,_rle (which makes all of the
lrciri<.,fclliw, d l,,>i, it., ,'li_l_i_,,iiiw,lel7 c:,i:,kif_c_r ), If ":l]_;ix' >:Illir¢ YI_;_,,' arid Yniin ,_,ie the nl_t>, and rl]in x and y
coo_diri:ll_,_ ,'_rilt>riq nil +>f llte, I"g l:,,n,_i pe>irl.x lhe,", I_'1 P× (:'max+Xmin)I2' Pv (Ymax+Vmin)/2, and
P;. - iFtci/.( ('s. . i ) ($, - " _ / 4. .c.]irK.o we can find e,_,_li', , "'ill:l <, "lliil ' llhiK Yillifi j ' "'m'_'×" >'rain'J_ma,vandX+min in O(N] limeWe C_-irl choo:._', ,_ g<:)oei pc_trit f' iri (:)(i<.J) fill/C,
24 D(;c(-;n_t)ur 1 [] 7.r). Ge(:)mctri(: lr,_ns [orrt],'.; PAGE2'0
il'J\/_,:r._i_ I_ dnd r_{ti_!r; I',) to ol_l,_',_ f st_l_'rc::_ ti_:_t illtcrse.ct the xyplane ill [ cir_;I,":;. 111{: (:_ iltt::,.r:_of ti,{:.-,c circles ai_: tl_c \/oru_oi t)oints
Vi. Io cli,,lin(ittir,l_ t_,::;_r,,-,t nl_d f,'_iti_e,_;l Vc_ronoi l}oints w(: perform thefollowillg ,';inlpl_: lr:'.st:
TI_{: l_l_zl(', u[ f_c_: Fi d(:t(_t'liiJllc,t; two l_alf-sl)aces, onetllal. (;(n_lail1.'; li_ _.(:l_tirc convex I_ull and one that contains
non{ _. ()r it. l(:t h:_lf-._,p_ce tl i I:,__.the one that contains tile
co_v{,x I_lll. If I1i (:c:nt_-_i_i.'_l:,oint P tl_::n Vi is a Vorol_oi point
of [li(_' t_(:,,aie.':;{ l_(;i_it Voro_oi _li_gl{_ln. ()lhcrwise, Vi is a
5. We ol_tail_ II_c V{_rol_(-_it:_)i_t:; Vi fl()ln _ll<: f_i(:(.,'; Fi of the convex hull,bill l_ (:_';l_l_:l tll_', r(::lli;ii!t('_:r G_ tt_,': Vorc;_:fi (liagratl_ \*,1{!_Illl.lSt
CX_']lllillf', tf_,': t:d(l:*::;, i-,,ci_ (_(J(j(". [ij uf tl__r:_corlv(:x tl_lll corrt2.':;l_O:_ds to aS_'.,<llll_:ll[ (:_i" ltl_: Il(:,_:_':,t l_i_t di,-_(t_;_m,_ t-;_::,rltl]{:li[ of tl_c fa/[llcst point
(lia[Ir_tt_l, r_r n r,ly (for botl_ di;_gr;_in:,). To d{:tt:rii;in{: for an _dge Eijwhictl _[ 11_,::,_::II_/r:_: I,O:;:::,il,iliti{::_ it, lr_-: we _.':;,:,tl_e followin[I l'l.lles:
- if V i and Vj c_r{: t,(_tl_ i_-..;_:c:;t Voronoi l)oints, tl_en tt_cI'c is a line
sC-:!:llt/t:lll l:c)nllu:(:li_](.I Vi ,_;_(IVj ill tl_c n_..{-_r{::stf)oinl. (lia!jlcltil.
- If V i ,-_cl Vj arc:. I,(;th f_rll_{:._;_ VoroI,oi points, tt_en there is a line
S{-;[llili-:llt cOl_ll{:.'ctilig Vi _:Ill(I Vj il_ i.l_c f{_:tl_,:'.,_;tpoint di_:_(Iram.
- tf V i is a clo.,cst Voron(_i I)oil_t a__(l Vj is a farthest Voronoi point,
lli(,._l Vi an(:l Vj (l{_,tclllli_l{" a r_y i_l bollt tl_{:: ile.ar_.si all(l farthest
l)oi_It V(_r(:_m)i {li_:_lr,_ii_:;. -[1t(,. l_oillts Vi _._1(tVj dcl(::rnlinc a line,an_l tl_(: _t_::,ir_,.d r,_y for the t_,'_r(:.*;t I)oi:_t Voronoi diagram is the
I_art ()f [11,:_I lil_:: [i_,:_t .'-;t,lr[:, _[ t_(_il_t Vi <,nd docs i_}__!,i_clu(le
p(_i_i Vj. 11_' r_y._;t_:_ttil_ft _t i_oiIlt Vj tt_I does not include point
storage, it i.'_ i,{_t imm_:(li,_l(:l), ()hviol_:; tl,,_t it ,'_ctu_:,lly col_.structs th,'_ nearest (or
fartl_-:::_t) t_(fil_t V_n_nl_i (li,i[lr_iiil. Wt::: ill(t_,;l._::xt,l,_in (1) v._'l_ytt_e ccntc, rs of tile circles
(gen('.ral_:(l ill _:;t_:_t_4 _t_v(:) _:_;'(:_tit_,. V(,;ot_oi l',oii_ts and (2) why the connection
rules (St_::p 5) for Vor_noi poi_l:; \.,.,o_k. \Vc will t_ow sl_ow tills for the case of the
nearest i)oil_t di_gr{_ln. lhr" _rq[lmcnt for the: f_._rI.ll{_.,;Ii:_oint diagram is similar.
Tl_{:,._.)r_-,_l20: 11_{.,.C(_l-tt_:,.rsof the circles gcn_,.rated in Step 4 of the
above al.(t()_itllnl (_re tt_e Vo_ot_ui t_oil_t_:_.
24 December 1979. Geometric Transforms PAGE71
P
. ./ E /
/ • // /
/ // /
/ // f
/ // /
/ // /
/_ ../
Figure 4-5: Planar Vo;onoi diaqram and corresponding convex hull.
Proof: lhe I)roof in in two parts: (1) all of the points generated in Step
4 ar_ Voronoi points, and (2) atl of the Voronoi l)oints are generated in
Step 4. 1o prove tllat tl_e circlns generated in Step 4 are centered at
the Voronoi point_; wn mtl.;t show tl_at (a) these circles each pass through
thre(; c)f tl_e N r)oiJ_t,,_of s and (h) do not contain any of the other N - 3I)oislts in tl_e int{:rinr (S{:cli{_n 4.1.1). P_-_rt (a) follows from the fact that
invr:rsio81 is inwHiJiory (Sccti_:_n 8.2.8). We prove part (b) by
contraclictioll. As,';(Jmn thnt th_ circle passing through points A, B, and C
of S colltains a_mtll_:,.r point O(i S in its intcrinr. This places t)oint Qinside
the r, phere d_::termincd by point.'; A, B, C, c_nd P. When we invert about
point P, the r_oint Q' is Sel_orated from t)oint P by the plane determined by
t)oints A', B', an(l C'. Since il_e plane A'[YC' does not determine a
half-space that contains point P and _lso contains all of the other N- 3
I)oizlts of Se it canlJot be a face of the cotlvex hull that determines a
Voronoi point of tile nearest point Voronoi diagram.
To prove ttlat Step 4 generat(:s all of the Voronoi points we simply use
tile rev(_rse argLJment. If Vi is a Voronoi l)oint then the circle for Vitransforms (by inver.sinn) to a f_(::e o[ tl_e convex hull of S'. Let A, B, and
C be tile poil_l:; of S tll_t (Ictermi_e VoroI_oi point V. The points A', B', and
C' of S' dcte.rmi_(: a plane that co_itains all of the points of S' because all
24 December 1979. Geometric Transforms PAGE7,?.
N - 3 otller points of S lie outside the circle determined by points A, B,and C. E]
llleor_::m 21: Slap 5 of tt-/¢: algoritl_m correctly obtains the edges of tl_e
Voronoi (liagram.
Prool': The, proof is in two p_rts: (1) c,I! of the udges generated by Step
5 are e(i_l_'.s of ill(: (iiagr{_m and (2) all (:d(jcs of the" diagram are
.(leiiuralud by glc,l_ 5, hil ecI ric.' Eij of the convex hull that separates
(neare{;l I_oil_t) fi_c<:._; I: i _nd Fj [Tlap_; to a tii_c ,';ngnlent between Voronoi
poillt,':; V i al_(l Vj. I_lit lhc,. circl(:s cc_rrc'.:_l)onclir_g to Voronoi points Vi and Vjme_:t at two of llln N I)_int.'_ of S bncntl:,c: tile corrnst._on(lirtg faces Fi and
Fj nllarn all r:d(l_: I:ij. -Ilti,'; i,'_c:xacily 111cctlaractc_riTntion given for edgesof the Vorollni diagram in Section 4.1.1. Similarly, tl_e rays are determined
by edg(:;s l--ij wll{:re Vi i,'; a nearest Voronoi point _Ind Vj is a farthestVoronoi point (or vice-versa). In thi,', case, too, the circles corresponding
to Vi and Vj meet at two of the N points oi" S. D
Sinc'e tlte Voronoi I)oillts al_(l edges (and rays) connecting the Voronoi points are
correctly generated by tl_e _l)ove algorithm, we have just proven
Theor_;m " o....: Tlle algorithm con,strtlcts the Voronoi diagram in O(N log N)time.
4.1.4. Fast Expected-Time Algoi lm,ns
"lhe mo:,l nXl:_'n,";ivr: parI of tl_' alElorill_m for constrtlction of a Voronoi diagram is
the constrtiction (_f tt_{: coI_vo, x hull. If tt_(: convex hl_ll can be constructed in fast
expected time:, lllnn l l_r' Vnroi_ni diagram can he constructed in fast exl)ected-time.
The O(N) eXl_,::'(:t_;(l-tiill(:: <_l_joriti_l_s of Bel_tlcy and Sll{_n_os [16], Eddy [39], or Floyd
[40] clo not apply l)ecali_;n thr:ir results depend on a sul)linear expected number of
points on tile convex hull, aild for the Voronoi die,gram algorithm there are always N
vertices on the convex h_lll.
Bentley, W_:id(:, al_d Yao [18], on the other lland, describe how a planar Vorunoi
diagram can be c,nnstrtlc:tr'.d ill lil_ear ext_,.cl_:,(l-time. Tile only condition is that the
probal)ility (l{:l_,';i!y of ttle lll_{Iorlyil_g distiil)ution mtist be bounded above and below
by (nonzero) con,'..,tants, lhe alEic_rithm doc:s not i_ake use of inversion. Instead, it
24 December 1979. Geometric Transforms PAGE 73
applies an extension of Wci(le's [og] technique for an O(N) expected-time sort to
the planar Voronoi diagram prol)lem.
4.1.5. Hioher Dimensions
The K-dimnn.sioz_al Voronni diagram algorithm is an extension of the planar
al(Ioritllm. Wu. first clnbcd tile N K-(limcnsior_:_i i_oints of S in K+l-space and then
invert them lo N K+l-_limc._n:;innnl t)oii4t:::;S'. We th,':n cof_st:rLJct the convex hull of S'
and ol)l._i_ tl_,:.,Vor(_lui dia._lr(_mby tral,,_:_[,:_rmi;_gtt_(; p_rts of the convex hull back to
K-space. To lrn_r_form bark [o K-npn(:c wc fir,';t iilvert each hyperface of the
COl/VeX I_tlll to ol)t{_it_ a .'-;c:,.tof K+l-sl_l_(_r(:s wh()sc,, ill' '{Lc_,;ection with K-space is a set
of K-sphr.,rnn. l l_r:,';n K-sl)h(:rG:s [::_c:ll pass thro_Jrlh K+i points of S and are
centered at tl_e Voru_oi i_oi_l.s. We obt(tin tile other coral)orients of the
K-dimensir)nal Voronoi dingr_m by con_T:ction rules similar to those in Step 5 of the
algoritl_m i_l Su.c[ion 4.1.8. For exa_nl_IC, if tt_c K-,':;t_here for Voronoi point Vi passes
throt_gh K of the K+I points de.tnrmining th.e. K-::;phcre for Voronoi point Vj, then we
draw a o_::-di_(;_sio_nl edg(; I)c.twc(-,.nVi and Vj. If the spheres for a set of three or
more Vorcn_oi i)r)ints :_hnre K-1 pnints cff S, then we draw a two-dimensional edge
I)etw(,:u_l II_(:: Vor(_l(fi poiiits (_f iliat set, (A two-ditncnsional edge between L points
is a convex t)c_ly(tnn \villi 1. vcrlic:es.) The r_lles for three and higher dimensional
edge,_; urc e,inlil4_r. TI_c; [itn(:; comi;lc:xity of tl_e K-dimel_sional Voronoi diagram
algoritltm i:_ dominnlRd l)y tl;c lime [n cbn,'_tr_lct a K+l-din_cnsional convex hull of N
points. (See. Section 1.1.1 for refercnce,':_ to several convex hull algorithms.)
4.2 ' ' _,.e,.,_.,..:_nuF_::rthe.,.,.o,n, Voronoi Diagrams• SI)I'IC'I'ICE;I "_ ........ ' .... ' ..,. r,. :, ,.
Voronoi _li{,!:lr,:,m:_ _le _ts('.ful for solving several closest or farthest point
geogral)hic l)rol_lcms. If, howew:r, the:: area covered by the points is large, then we
must tukt_ tl_e curvature of the earth into consideration. The most obvious
apl)roximalion to ti.se for the. r:arth is a .',phcre. Nearest and farthest point Voronoi
(lia.(irams cm a ::;l_he.reare define(I in a i11c_illteranalogous to tl_eir l)lanar counterparts
and tl_e algorithms for con.stn_cting tl_cm provide an interesting comparison with
24 Deceml_er 19;,'9. Gconletric TransforJn.,.; PAGE74
those for II_(_ I)lallar (:"a .';(-'.. For examp!e, wc ol)tai:l tile farthest point Voronoi
diagram of a .';c'L or N .'.;ptle.rical f_(:,ints S t)y siml_ly applying a nearest poiilt algorithm
to a set 8' of N i)oiz_ts diamefric,_lly ot,posite tl_u points of S. There are two
differeot ln(:tlto(t.'_ for con'!_tructin(1 th_..sc,, cli,'_[ram.'; in O(N log N) time. One involves
an intersection o; Ilalf-s_)ac(;s and the otl_e.r obtains thP dual of the Voronoi diagram
from the conv_-:x htJll of t:l_ sph(-,rical r_oints. We will describe only the second
algoritilm l)(:causc: it is _,iml)l('r.
We t_ke adval_taEt_ of tile fact tllat tl_:: si)l_cIic_l Voronoi dia..'lram, as well as the
planar Voronoi dinqram, _.an l)c. _:'.Xl:,ressed in [q/liir_ of a s{_t of circles: the Voronoi
points are lll_:.: cel_t_.:r_ of lli{-, circl_.:..-; (on tile: sp!_,ere.) tl_at (i) pass through three of
the N .sptlerical I)oi_lls, and (ii) do nr_t col_l_in a_y of the. othc, r N - 8 spherical points.
As before, pairs of (;ir(:l_;._-;tl_at .,:;i_are two of the N t)oint.s determine the edges of the
diagram. W_ wo_td like., to nxl)r_::s:; this l)rcfl,lnm in terms of linear corot)orients rather
than circ_tlar (::Olill_()li(;_lts.
One al-_proach is to c:onstr_(:t a sl)h(:ric:al analog of tl_e formula for the planar
Voronoi diaf.lram algorithm: eml)(:d to a four-(lilnen_;ional sphere, apply (spherical)
inversion (witl_ re.:_f_ec:t t_ a suital_le l_oinI P of the four-sphere), and construct the
(sl)hcrical) convex I_II of tlic: tran_',for_i_ed points. Although this approach can
actually I_(:.-.made to work, it (h:),::.-__ot (live us a t_roblem that involves linear
coniponent:;. A l_{;ttcr al_I_roa(:!_ i:; to e_:_l_{;(l tl_(; s!)l_crical Vorcnoi diagram prol)lem
(whicl_ i_-_a ':,l,l_c,.lic4_l l\.',_{_-:;l_:_c;Pi)_hl{:ii_, ', il_i_ I::t_{::li_l_,"_1_i.l_r_.'.{'.-Sl_aCe. The circles
that define: tl_e .';I)l_{:rical Vor_It(,i dia(lran_ (i_::tc:rn_ine. the; planes that bound the faces
of the (Euclid_i:,_, tt_r{:,'.-{linl_:_,:::io_,,_l) conv_:x Ilull of ttle N points. Tl_is convex hull
can l)c conv_zrI_:,{l r_.a(lily i_t_:, the; dual or tlIl(_ si_hcI'.;'icQl Vomnoi (liagram -- the
spherical Dc:.'l,'_t_a,/ _li,_[l;_ -- and can I_,:::co_struct_:_!d in O(N Io[i N) time. Given the
dual, tl_c., Vorol_oi (li,-_clr,'_mcan 1_{_i)rocJu(;(:(i ill only O(N) additional time.
24 Decembc:r 1 .qTtl]. Gnom,.:tltc [ran_,forl__'.:; PAGE 75
Algorithm for Spllcrical Vorolioi Di_,,_jr,:_m
1 I_ci c. ),• ,) 1 _; a ,';<:t or N ) 8 i_oiI_ts _)li tile ,':;t_r[ace of a sphere such that no
fotlr l)oints _:Lre (,o-circtllar. Co_,struct tile convex hull of the points of
S (lrc;_til_g tlt_.,m a,,:, N t_oints in Euclidcan three-space) in O(N log N)
time. by tile algoritl_m of Prel)ar_ita and ltong [83].
2. For e.ar;ll fac_,. Fi of the coi_vex I_tltl there is a corresponding Voronoi
poi_lt V i on tll_: stirfacc: of thP. sl_h(;re th,_t is eq_Jidistant from the
vc,.rtice.'; of fac:r.: t i. (Actilally tlt(!,re arc, two ,such points -- V i and the
t)oilll di,'_ln_,tric;_lly Ot_l-_ositt:,.Vi. Cl_oo:-;e ill(; p(_il_t that is closest to the
vertic_:s of fat:;: l i.)
3. For r:a(:h t_air oi fncc:._; I i an_t [j tl_at _;l_,-_rc+_ edge Eij construct an
arc of _ !:It('.,:_l circ:le_ ttl;Itl: coi_n_ct,,-_ I)_iilt:; V i and Vj. Si_ce there areo_ly O(N) face,'; ,_r_l _..d!.le::; in ii_c c:oi_\/c:x I-i_II we coin do this in O(N)tilile.
The; (li_!lra_n ll_al tl_{', al)(_ve nl£_{_ri{i_m co_.',trti('ts is the sl)l_erical nearest point
Vorolloi di;_gr,_n I_- c:_t_r,c: _:',_c:lt Vor_._l_{,iI_oint Vi corr_,.sponding to face Fi is not only
eqlii(lista_il fr(ml tl_" v_rti(:{:,'; of fac_" f i l)t_t is _,tso closcr to those three points than
the oll_c:r t'].d I_oi_t:_ c_f set t.;. A,':; in tt_c c;_.';e _f tli_:: planar Voronoi di;._gram, we have
a .set of circl{;..; that (:_.':;ur{'. tile I)ropcrtic:._; of tl_{.' Voronoi diagram.
,,_-_-,_'._mc,_t.,_ (a_(l oll_(:r (IO_)m_,_rical. c,l,j_.c._.,),""" il_ C)(N c(I°cl,. N)t/:!) time (which they later
inll)rov{!,.d to O(N (loft N) 2) tir, l{_) al_,l F,irkl_,_trick [59] I_as rc(tu('cd this time to
O(N log N). A sl_,_:ial ca.,,_,, of tlii_; f:,r,_hf_.:mi,'; the nearest (respectively farti_est)
edge diagrom for a (;o_v;_x t','-!l,__. Tt',;:; {lia!jr,_m is a te.*;s{:'latio_ of the plane into N
¢, (*.I)olytl{_nal r_'_lio_; .,t_.lt lli4_t c:ach r,'(:ii_n i Is _l_c' set o1: all points nearest to
(respt,ciix/_:ly fartl_u.':;t [r()m) _.'db{: i of th(: t,J-!j(_i_. Figure 4-G illustrates a nearest
edge diagram.
The problem of co_structit_g a _;{:_rc.-;t edge diagram is presented by Shamos
24 D(_c(.'.nll)er 1{12!]. Gc:c_m(:tric 1 i_,ll:;[(_rii_:; PAGE2'6
[89] as t)rohl_'li_ t'01 9 in tli.':; v,/or;:l)oc)l(. Oiic: irit_:r_:st;i_t'j application is that once we
have col_,';trt_ct_::(l tl_(:: tt(,:i]r('t;t (.'(lg(, (li(_flram, we:, cnn solve tl_e l)rol)lem of
constrtictillg tile,, (trc:ntn.'_t illcircl(,, of c_c(:_n\ln× l:)otygon (probleni POLlO) in O(N) time.
Both Pr('l)arata _._lid i._:r: cic:scril)c: O(l,,l loci H) tiin,:; solutions to ttlis l)roblem that are
not bas('.d on g_;ometric: tr,_t_:_,,_n_.'.:,[TY, 79]. (TItc.y c "-- .... .,o_ tl_is proi)lem "Medial axis of
a convex I)olyflo_l.") li_ finis -;c::ction wc (;cs(-rii_c: _n O(N log N) time sotution that is
based on the-,. ,'4ii;ll_l(; g,<:(mantri{: transfoi'Ii_:_ of (1) cl;_bcdcJlng ill a higher (iin_ensiorl
and (2) ortliogr_ll:_lti(-l_rojc;ction.
Oile Of tl_-, lll_lili dii[_::r_:n{:{:,'-; b(::tw(:ci_ tl_c,, lic_nrc,_,t-,:_.dge (lia(lram and the others
describc,.d in tlii:, ch,_l,l_:r it; tl_nt li_:: C:iRi;i.:l'_[:; _t{:[iiliilfi II_:' {liagram are edges rather
than poirlts. W_:, (:,_i_, l_:r.,.',/{,.\;_:r,,'-;till (:xl_rc: ;:; it i_ Iurms of circles; sillce each vertex
V of the (lJ,-.lfll',-tnl jr; _'qt_idi.',tr_lit from [h_: l lir(:{, n_:ar{::;[ _::dgcs of the N-gorl, V is the
cei_[{'.r o[a cil(:lt'_ tll_t i.'_;I_il!:]_;ttt 1.o titre:{: (,._i!]_,.,; (t)_t does not int(-,rsect or contain
any of ttl_: otl_c'.r N - 3 ('cfEi_,.:,). t hi._; .';tig(l,.::;l.<; IfJar we Ini(ltit try to apply the formula
that we ti.'..;{._:l R_r tll{:', [:ttclici{:_i_ i_l_ii_r V(;rc;nui di_{lram of N l:)oints; embed in
Euclidean tl_i'_c--.',i_ar:n, iiiv_:lt the {-:'clgc:::,',vitt_ rc.:_t:,cct to a point P tl_at is not in the
xy plall(-, (l:_l(:,_{Itl(:iitfl 4t (:Clliiicgtt::{i S(:t O[ circtii{_r _;rcs), ,-_11(IcoRstrtlct the COllVex hull
of the lrai_nf(_rln_.'d r:l_'innnt.';. thi,_; woltld work well if we had a fast algorithm for
16constructi_lg tl_., (:oitv(.,x litlll oi _ ,s_,.[()i" ((:()hi/coted) circul_,r arcs in three-space.
There is, I_owc:v_:r, al_r_ttl_:'r why to r_.lnh_d this I)rohlcm i11three-.<;l)ace that produces
a tilr(;l?,-(liltl_-;ll:_i(:_lial l_l'Ol)i(,lil tl_t illvolv(:_.':; only til_(:ur colllt_Ollellts.
"[li_:, N cir(:lil,lr ,:_ll;_; ,_11_l_:tci_i_ii_<;,.cii{:l_,:: tlt,_t 1_,_,'-;:-;tl_rc_tigl_ i>oi_t P. For any one of
these N cir(:l_,.'; Ci tl_{,.rc, i.'; _ii iitfinit{: litiir;l,c;r c,f :;/_ilcrt::,; tl_at l),'l,_s tt_roilgh (all of the
points of) Ci. We, ¢::_t_llllt:, rnl;l,:::;{:tit l.itu _::_i_v_'.xH-goi_ (Jii the ×y pl_nc;) as a set of
N sphere:; (ill [tlrIL:C.'--:;t)(tCC:) (;{'iC;}l O[ \.vliict; l>,'_:;,_;c'.Sti+rc;ugh point P and still has one
16The COllt.tltl('{i,:;li r,f 1,,1,t' a_ ,:_l,l.,_it!+_;_,,_,,:1it:. ,';'i,li,:<::ti,:_to Vo_onoid_agran,sof general sets of linesegrllcrtts, i3 left _:, ,_ c:-,.,r,:'_.{. fc_ liv:.t<,,_d,.,_.
2.4 Deeemb_:r 1gTg. Geometric Transforms PAGE77k I
I
II
/
k
,,p ._ .,,, . _ ,__, -" '_ '_ _ "m d' '_ '_ "_/'-....2,---r-"'r ..... /I "" , _ /I -" ' _ //," i _ /
.'_ _ _ /
" ', S_ ',
I
Figure 4-6: Nearest edge diagram of a convex polygon.
Since inversion maps spheres to planes and the interior of the spheres to
half-spaces, we can represent tl_e nearest edge diagram by an intersection of
half-spaces. The problem of choosing the splleres now becomes a problem of
choosing tile halF-spaces. For each t_alf-space the degree of freedom is the angle
tiler its boundary makes witl_ the xy plane. Since the edges of tile nearest edge
diagram lie on the angular bisectors of adjacent sides of tl_e N-gon we choose
i_alf-spaces whose boundaries meed directly above these angular bisectors. This
gives us the following algoritllm:
24 December 1070. Geometric Transforms PAGE78
Algorithm for Nearest (Respectively Farthest) Edge Diagram for a Convex
Polygon
Input: N -- nLzmb_.r of vertices in the col_v_.x polygon. X[I:N], Y[I:N] -- x and y
coor(linates of verl.ices of the N-gon (counterclockwise order).
Output: Nearest Edge Diagram The represnntation is similar to tile representation for
an intersecUon of half-spaces (Section 3.1).
Time: O(N log N), Space: O(N).
1. Let tile convex polygon lie in the xy plane of 3-space. For each edge
e i of the polygon construct the unique plane Pi that (a) contains thatedge, (b) makes a 45 degree angle with tile xy plane, and (c) lies
above the polygon (rather than l)elow it). For a nearest edge diagram,
let h i be tl_e l_lf-sl)ace that lies below plane Pi" For a farthest edgediagram, let h i lie above plane Pi"
2. Intersect the N hal[-sl)aces hi in O(N log N) time (Section 3.1).
,3. Project the intersection to the xyplane. (This amounts to throwing outthe z coordinates of the vertices oF the intersection.)
The above algnrithm does not make any distance measurements to construct the
nearest (or farthest) edge diagram. Instead, it relies on the symmetry induced in
Step 1 by constructing all planes Pi at the same angle (45 degrees) from the xy
plane. We can generalize this to weightnd distances w i from tile edges by simply
letting the slopes of the l}lazles Pi be set to the weights w i.
4.4. Summary
We have descrih{td three types of diagrams, planar and spherical Voronoi
diagrams o[ set:; of points, and (nearest and farthest) edge diagrams for a convex
polygon. Since erich or these problems involved Euclidean distance between tile
elements defining the diagram, we found it useful to express each problem in terms
of circles. We then embedded the problem in a higher dimension and, when
necessary, expressed it in terms of (carefully chosen) spheres and applied
24 Decen_b(:r 1 97rl. Gcom{-;Iric -lrnli:;[ort]/s PAGE79
Jnvczr,<;ion .to ol)t,lJll <tl/ (:_ttiiv,_Innt I)r(_l_l,::n_cxprc,<;,";nd in terms of linear conlponents.
For ttl_: i_lail_r Voi'oi_i cti_!lr_n_ t)rot_l_,._n we,. eml)eddcd the plane into
thr_'.e-clin_r:_:_if_n:, ,'_d nt_t_lic:_l iIl',/r:rsic:Jl_ t_ ob[,_ii_ a col_vex hull t_roblem. The circles
clc;fiilizifl tll_, l,l_il,lr W_r_>iic,i di_fii_m _:r: c('.I_tc;i'e_l at tl_e Vorolioi poil_ts and each
pass tllrotigl/ ltlr_:{: of tl_" l'l i)oiI_t:; hul {:I_ not cont,:_irl any of the other N - 3 points ill
tli(..,ir illt_,ri_)r::,. ]l_u.::;_, tirol<.;:; i._(,c()rnc.,,';l,hc:rc:s WllOll _:'.mbcd(ted il_to three dimensions
and, _,,/hl:::ll il_vnrtc.._l, l)_:COtli(: tic, f: i'Jlflll,:,:::> tight I)o'trtcl tile-: faces of the convex hull.
We we.re nl)l(: to ::,olvc: tl_{:: <;t)l]cricnl Vorol_oi cli(_{ir<'_mI)rol)lenl directly as a COllVeX
hull I)roble'lrt. ]liis i.:_ t)_'.('_u,:;c ttlc; circi_:s (lutii_iiltl tllt:; (tiagrain pass through three of
the N ,_,l)hr:ricnl I)Oil_t:; t_tlt d;_ nol coi_;_in any of tile. other N- 3 points. When the
splicrical Vol_lloi _li_tlr_In t,robl('ill (wlii_:ll is a spheric_ll two-space problem) is
emh(:d(ln(l lilt()[:licli(l_,,-_n tlir_:c-sl)a(:c , tl_cse circles l)ecomc the planes that botind
tile (,ol_vux ll_tll of tt_, N i_uii_I_.
We conr;trtir:tr'(I th{: n¢:nrr:::;t (rc:st_'.c[iv('.ly fnlt]_{:st) edge diagram of a convex
I)oly.goil i_y {:nll)_:(l(liilfl ill[o [llr_;c'-,':;l><t,:_'. _iili ii;t_:r_;,.:;c:i.inq half-spaces. Each of the
oirclr>.n lh,tl rl_"lin_: file i_r'.,_ic:.r,t r:,ltic,. <ll,_{lrnm i<, tnri{lcl_t to ttlroo of the sides of tl_e
OOllVC-;x N-(Ir)il _;ii'(I clot:_; 11{>I.(;oil{all1 rliiy p_rt of the' otllor I'4- 3 sides in its interior.
[ly _:lliltl::,._lllili_l il_l_:_I ll<:li(l<,.,iit tlir<:c:-,<.,l,,_c_,, Cil>l'_lyitiejillv(;l't;lon, re(It, fining the problem
in toting:; of ,';l>ll_>r_:<;, ull(t [1_;i_ C_l_l_iy{nri ii_vc;r_.:;ioi_a{Inin we obtain a t)roblenl of
interr_r.:ctinq linlf--ut_;icc:.<.r;. [_lit, ns ,,.re s<:_w in So:orion 3.1, tllo intersection of
halr-<.il_aO_-'.<_i:_;,<;olvc;d lJy oon,<itii, lo{illel tl/o convex hull of a set of points.
in the lioxt clinpt(,.r wcJ will find evc:_l inor( j uses for convex hulls.
24 Deceml)er 1 f) l".r.). Geos__etricTrart_rorn_sPAGE 80
24 Deceml)er 1979. Geometric Transfor_ns PAGE81
5. SearcI in9 Tessel tions
In tllis cllat_ler wu cl_n_oz_:;tr_t_:; tt_w _ se_:;rch of a tesselntion (Section 1.1.4)
arises in I_(_ll/ lin_:_,_r i_ro[lr(_l_ll_ino a_{! c(_n!)[J[i_g [he diameter of a set of points.
Boill ()1 ttl(::_;(_, l)rol)l_:n_:; il_vite t!l_: i_:;(:_ of _l_ (:;rl.lao(jraphic projection to reduce a
K-(lin/(:llr-_i(Jllnl i)r_l_t(,.in [(_ a K- 1-diir_el_.':;iol_(_l l:)l()l)le:ll_ and [Llrthermore provide
intcrcsl.i_!l al:)plicaiioll:; ()[ ill(:: poi;;[ / fl,_t d[lz_tity °,r(ln::iforlll (Section 3.1.3.3). The
(lia_n(,.t_,r (_f _; ":;(:t of p(;int.,; ,_I.';o I:)rovi(l,:s (_n(:_il_(,r(_;)l)lic(_tion of the convex hull of a
set of l)oil_ts.
5.1. Line_r Pros;,;rnrnin S
lil_ear i_ro(trnmmi[/(t i,"_ rill imporl;_]t t(::(:hniqt_e for optimizing a linear function
stll)jr.-;ct to a s(::t of ,_-_('v(:r_l linear (::o;_:__traints. If there are K variables anct N
con,_;trainl,,:;, we may i_terl)rct cacl_ c()_,';lraint as a half-sl)nce in K-space and the
feasil_le r_:-:!:liu_ ,',_Ii,':_fyinq (_11(:_r tile constraint,,-; (_s the polytope that is the
intersecli()l_ ol N t(-diinen;;i(_n;_l I_lf-_,I);_cc_;. One of the vertices of the resulting
i)olytol_C_ i::; a;l of_tinl_l ,:;{_t_ti(:_ for II_{:,. lii_,.'ar l_rotlram. Th(:: line.ar programn_ing
i)rohlen_ i.'; to final tlii._:; \/el le.x n.':; quickly as I;Or;_ihlc.
"lh(; z.;ta_d_rd n_,"111_)_lo[ ,_,4,',viil!] ii_:;_r t_r{)flr,_inn'_i__fll)rol)leniz; i,':; the simplex method
(al_(l it:; \/,_rir_l,l:_) I ;',_',]. In li_,: w{_r.,:_[c,_:,,:,, (n,.,',:v{:r, ltle simi_l(,x metl_o(I will require
eXl)On_:_ti_,l tinl{: [130, {_.fl]. K_:lly [.5_:;] I_ar; .';l_o\vn that for a model of linear
i)l'ofjr¢,lll_,lill(l v4i[ll H r('l('.vi:_it[ (:_]n_,l.r(_ii_i.,_irl two v{{Ii_l:_l_:.,:;ct_o:_en indel)en(lently from
a (livc'_ {li:,t_it)t_ti_l_, ttt(, e.\'/)(:ct_:d i1tllltI:.t:l ()[Jtt.:l'ilÁic_ll.'] J.'_O(l',l). Since each iteration
co.'_ts, in tl,i:_ c.as_:, O(N) [itn,:,., the {:xt_(;ct_:(t lingo for linear i)rogramming in his
two-dimc:ll._;ioI_al m()(l(;I i.'; O(N2). It, Ei('.i_,'r_l, l_owPver, the expected-time of the
simplex In{.tliod has _,ol. l_,_:{,n n(l{:,]t_;_L(,.ly 4_aly:;re(l, althougll empirical results
indicate tight it may 1){; ho_ln(I(:(l nbov{: t)y _ low degree polyrlomial in K and N [88].
Tltere _re alt_,.r01_tiv_:,,; to 1,1_::,_,ili_pl,::x Iil{;[i_(_(t. Khachi_r_ [44] has produced an
algorithln f{_r r,olvil_!:l linr:nr i:_r(_(lr(_nlmi_fl \,'_'itl; inl(:flrnl coefficients that costs only
poly_K_mi_,l Iin_:,, (il_ I.i1(,,_;i,.:_,:{_l" /l_{,, i_t_{_t)in lt_e. w(,rst case. ilis Inethod, however,
(lc:l)_:ndr; :;lro_i(lly _n ll,r: f_(:I ihat tl_{: _:(;nfri(:i_,.r,[:, _re integer.,:;. Another approach
24 D(.'ccml.._er 1979. Go.omctric Tr_n,<;form.,.; PAGE8?.
is to intersect tl_: N K-dilnenr, i,;n_:_l lialf-,';t)ar:cs 1o construct explicitly the feasible
region and tlloi_ evalLlat(; tl_e objective ftJi/ction at each vertex. For K = 2 or K = 3
variables we may c_mstrtict tl_e ir_te.rscction and solve tile linear programming
probl_:ln irl O(N IogN) \u,._r,_t ca_;c tim(: _n(i (wl',e.ll the e>,l)ected number of
IlOllr.e.(ltlllcl_:lllt c,c)li:.;| l ail_t:_ it; O(N p) for ,";oli_(: I) < 1) O(N) ext)ecte(l-time
[94, 106, 84] ]Ills is, ii_ tl_(.: wur:-;t ca.<;c, t_-,t[_.:r tll_i_ t;_(."simpl(.;x me.thod, which may
take O(N 2) iiin_, il_ tlti_..-:;tRc:(l<.;_:,::;.It is not, I/c)v.sc:v(:r, cje'.nmrally considered advisable
to constrlict exl)licitly tll_:: c,iltirc fc:asiI_i_: rc:gi_n wI_cn we need only the vertex
corresl_onding to the <,ollition. ]h_': sin_tJl<:x tnntho(l certainly avoids that problem.
We IlOW d(:.'.:;crilJ(; (111 {il>t)l'oacll toward a l)_,.tt:{:r SOitttiOl'l.
.. / -, " - ", \'-_/" ",, "" "'-. "" \ "" I
_/ " ,, "- " -- "_A F
,% %,
D
Figure 5-1: "lrail.<;rorin Of I P l)rol:_!,:in to vertical line an(l convex hull.
Dantzig [2,%] dc:<_,:iil,t:::.; Oli ,_It_i:ri_t_:: it_t_:rl_rct<-_tiol_ of the sill;plcx method that is
hasc-.,d Oll lilt,, i:_(_iill / flat cltiali{y ti'i:_l_:if{;rlii. ]lle t:;(;lyt_)pe ol)tained h7 intersecting
z'.).,the. N K-(tiln¢:n:.;oil_l ltc_l[--.!_l_<-_ce.<;t:_:_i::_i_i_]<; to the convex htlll of N points in
K-space: _lll(l tier: (lill(::_tr) ol)j.r:c:iiv{: ruiiction tral/:;form:; to a vertical line (ill the K
coordiiiat_.'.) ill K-.sl)C_:<:. (St,c, f i._lilre S-1.) ltir-, lii_c_ar f>rogr_ltin;ii_g r_roblein itself is
tran,':;rornlc(l to Ilt<_ I,r<fl_l,-::lit o[ clc'.t<:rinirlil/t; v.;f_ict/ fact: of tl_e convex hull this vertical
line iilterscct_!;. Wllei-_ v,,,_,ortl_,:_!lrai}t_icalty l:_roj,,:-ct tt_e c:onvex llult to a tesselation
and tl_e veriical lille t_) a r,oillt iI,_l,:.-1-,<;l_a_:c, wc ol)tain <-_prol_leln of locating a point
in a te_;.s_::lalic_ii, (,_,_:_ fri!t lir.'. ,'_-2 ,rc_rari ilit_:;trati,:_n o1" tile two-dimensional case.)
This does not in/inc<lialely lead to a (l)rownl)ly) faster linear progranlming algorithm
than the .simi,l{:x i_ethod, but it does 1)r_,vide n_other way to approach the linear
2.4 D_-::c_:ml_,:r19Y,q. Q_-:onlc[_icTr_li_:;[orlii,_ PAGE 83
progr_._n_tniz_g i_rol_luI_l.
i
-01I
I
I
.... _¢" ...............@..................'¢'.......0 .......0. ..............._---0---
Figure 5-2 = I rarl._;f(_rm of v_,rtical lii_,, a_lcl convc'.x t_ull to a point and a tesselation.
,5.2. Diameter of a Set of Points
-I-he diam_:t_:r of a ,';{:[ of l,oint.'-; i,':; ti_(: di,';tancc between the two farthest points.
This ctLlanlity oft_:n ari:.;c'_; in r)rol)l_::m,,; of c'l_lsl,e.r analysis [51] because a set of
points that are, all lieder eacl_ otil(:r m_:_i,es a l)c:tter cluster tilan a set of points that
are sprc:ad far apart. ]h,-: ._;lrairllltf__rvvard way to determine the diameter of N
points i._; lo conlplit_:, nil O(N 2) intc'.rt)oint distances and retl_rn the maximum.
Depending on the n_;tric and the n[lmhcr of dimensions, however, there may be much
faster alfloritl_ms.
For K = 1 (lim(:n:_io_ all N l)oint::, lic c)rl a fin{.' _cl the diameter is the distance
between 11_(_l)c)iil[,'.; wilt_ Inaxim_n __{1 mi_im{_i_ coordinate, wl_ich can easily be found
in O(N) ti_tl<-'.. (In fact, [3N/2-2] col_l_riso_l:; are necessary and sufficient
[76]). l or twr_ or I_l(_l{' {lill, ,...._.l_.,ol_,, th{: choi('¢: of ni<:tric is important. The L 1 or L<×)
dianlc:t_r of N l_oill[,"; ii_ K diln{,'ii_;io_l,'_ c:,_ t)e e_,'.;ily collipt_tcd in o(2KN) or O(KN) time,
respecliv{:zly, 1Y 1-_ the: E_l<:li(iean c__:;e _n,'_ybc _nore (lif[ict_lt. For two dimensions
17The diamel,:,I ff a -.t,i i:, d_..t,:.lmh,.'(I b'./ the, n_,,:.t {"-:1_1,21"I/£' pOi[!t..q iI"l (:'P,CH of the directions determined bv the
fac_,._ of lhe _il ".'-.I_her__,'', .%r,<r, lh_- unit .:.r,_, _, f,,r t,e l , metric h..l:, 2 K faces, and the unil sphere for the Loe
melric has 2k face-:., we c,:m fftld tl't, e_l_<,me point., in O(2r'N) and O(KN) time, re:,pectively,
24 December 1 97.q. Geometric Transforms PAGE84
the best knowli l::uclid{:atl diari_c_tcr alg{,ritilins run in worst-case time O(N log N)
[89, 91]. [or lhrr:e dimc:n:,ioi_s Yao [102] Iia:_ prodticed an O(N 1'8) time algorithm
and for K (iiiuctl.,-;i(_ii.,; O(N 2 " cz(K)) time, wl_crc cz(K) = 2-(K+I ),
We will pro.: ..fit an<_r,- O((N + K)log N) tim_: a!_loritl_m for the three-dimensional case,
where K i,'_ tl_e _iLJntl)(:r of I_air,'; of nn[il)od,_l verlice.s on the convex ht_ll. To achieve
this time we al)l_ly a t_(_int / fl_t duality c()_i_l._iiled with ort!_ographic projection to the
component.,; of ill_: collve.x hi,fi of tile set of N point,; tc_ol_tain a problem of locating
points in an otlt,-.'r_lana_.I r ,,._t;'uiGht-liile.... gral_h. In Ar_l:>endix !1 we ctescribe a
relationshil) br'.tween tl_e ltictidnan diaineler ai/d an etr_pty-intersection problem that
may lead to an _(N log N) tin_(; lower IJound for tl_(; diameter problem. In the
following section,'; w_: l)reseilt O(N log N) time two-dimensional Euclidean diameter
algorithm.s, tll(_., O((N + K)1o_1 N) iill_(::,, thrcc-_limen.';ional algorithm, and then discuss
fast exi_ecte_l-tirne algoritllm,'_, al_l_roximation algorithms, higher dimensions,
5.2.1. D _....... _ " "
Shamos [_./1] d_::.,c:ril_e.,._all 0(_; I(_g N)tii_:,. al{Inriti_ln for computing tile diameter of
N I)oillts in tll_, l_lal_.r:. l tie algorithm tidal w(, p " .... _-r,._,,..n_ is c_ .,entially equivalent to i_is,
but it is expr_:,r,.:_,:d s_ tl'_at it 9eit,:r,'_lizi::s to a I'a'_t [ilr_'.(;--dimen_;iot_al algorithm. We
first l)r_'..";cnt a {lll:Ol{,lll tl_at rcclt_c{'.s otlr .';earch for tl_e diametrical pair of points to
the convex hull.
.......................... .. . 5 °_. p. 207) The Euclidean diameter[lleor_.,m P3: (llockinq and Younq [ ..... j,
of a .set of I>oiltt,'; o""i,'; (letcru_iiic-,d by lwo points on the convex hull of S.
If all N of tile I_Oiats of Surc; on tile c_mvex hull, then we have not reduced the
size of 11_: prol_l_:m. We ltave, llnwev_'.r, sinq;lifiud it: by reducing the problem of
colni)utillf..1 tll{-, _li_iti{:t{:i of a s<.'t of i-_oints to tlle l_roblem of configuring the diameter
of a convex I-:,olyrlr)i_. I (Jr ollr Ii(::v,/ t,roi)ir;m t'sn hnvc tl_c: following theoreln:
T_!_(:7()!:<;!i).24!. (Y{_._ilonl and P,oltyul_>kii [100], p. 9)The diameter of aOOliVC-;x ,riflllr(' is tll(; lil_ixiiittilil (listui_{:e b(-'twec::,r_ parallel lines of supportof tllis fi(itirc.
24 December 1ft7.r). Geometric Transforms PAGE85
\ L\ 1\
\
L C\ 2 \
\\
\\
\
\ A\
\\
\
E _j.J a\ F
FigtJre 5-8: Convex htJll and parallal lines of support.
In Figure 5-8 we itlllstr_t_:: two (parall(:l) lirles of sul_por[ [-1 and L2. In general, a
line of support par:;se.s throtlgh (at least) one l)ound.'_ry point of a figure and lies
entirely on o_le si_l(; of ti_ut figure z. Pairs of points (of the figure) on opposiLe
parallr'.l linr'.s of slipl)ort are callPdantil)od,,ffpoints. In Figure 5-3 P°intsA and E and
points B _t_{:l [- 4_re _lttil_o_i{_l V_e. _r{. il_L{::r(::,-,te(I itl the antipodal pairs of vertices
detc'.rnlined hy tl]_: liJ_::; nf nt_)t,ort, for tl_' c_nJc.x")"" h_ll of 8 because one of these
pairs det_,rmis_(:_:; [t_(: (lian_,[_r or S. Our _:::xt tl_(:or(:lil {.lives _ bound on the number
of pairs float we. will II,'_ve. t,:) r.'xa_i_inr.'..
T!_{_(!_![ 2,r.!! For u c:c_I_v{:,.xl,(,lygol_ of N vc_,rtices tl_ere are only OiN)al_lit,c_{l,_l t_ir','; of vc.'.rticcs.
l)oly!:io_, ll_c antil)od_l vcrtic('s (',{'.ter_nincd l_y [ and M change only when
e.itt_cr I or M l)(:(;()nl(;.q c(_i_{:i(l,:,.;,I \,'!iih ()n(: of tl_(,. N .',i_le.s. We. may thus
ge.ncraI(, all ()[ tl_c l,,:_irr; of antil)Od,',l I:,_irs of vertices by recording all
al_til_odal pairr, wllc:n citi_-:r I or M c_)ntc_ins a _,i(t_ of the.. polygon. If line L
contains n side, ihc:n it t_nns_:,s tl_ro_(lh two vertices aI_d similarly, its line
oi sllt)l)t_rt M will pans tl_rotltlh ,-_t_t_-):,l:l\vo vertices. (In fact, only when
tl_e I)oly£1r_ I_nr; parail_:l :;irlns c{_ l)otl_ I ,_nd M simultaneously pass
tl_rc)_rll_ lwov_::rlicr:s.) Tl_r_ at,: II_'.rcfor(_ at n_ost four a_tipo(lai pairs of
v{"rtinr", gc, nr:ral_:d f::_cl_ tinln n liltc: ()f st_pport passes through a side of
ihr; t_oly!ion. ,';i_l{:,: lh{:trt-: ,'lro otl',y N sides of the polygon, there are only
O(N) a_[it_o(t,ll p,_irs of vertices. E]
24 December 10;9. Geometric Transform.'_ PAGE86
We now hnvR Qlloll[lh informalkm lo o{_ttiz_e oL_r two-dimensional diameter
algorittlm.
Outline of Two-Dimensional Diameter AIt_orithm
1. ConstriJnt the:: cr_nv_:x t_L_IIof the. N t_lnll,"_r points.
2. Generale flit, O(N) antil:,odal pair'; of vertic(:s from tile lines of supportof tile convex hllll.
8. Compare:: ll_ _. _li.',ta__cer_ IJ(:.twr._:n _:,_cl_ pair of antipodal vertices andreport [Ill::,. Ili(IXJlil[ttll OS tt_,:::(lia_etc:r.
We cnn conr-;tlu(:t tlt_: convex h[lll (Step 1) in O(N log N) time [48] and easily
compare tile: di::;tanc(:.'; t)(;[wc(:ii _;l_tipod,_l pairs of w:rtices (Step 3) in only O(N)
time. We l.lltl.'!_ have c)i_ly to dc:t_:rininc how fast we can generaLe ttle O(N) pairs of
antipodal v(:rtice.'; (':'tel),) ,.o). In the rclnaind_:r of tiffs section we show two
algorill_n_s for r le_ierati_g lt_ell; in O(N)time., making ti_e total time for our diameter
algoritl_m O(N Iotl N).
Shanlos [91] de.'4cril_e_.; il_ {t(,.tail llovv to (tel_(:i'_te tl_e O(N)pairs of antipodal
vertices of a conv_:x polyg_n i__ O(N) tile,c:. ?,ftnr findillg the first pair he generates
the oilier I)air,,_; i_ _ co_i_l_,,r(:lock\vise..';c:,_i_ abottt tl_e polygon, maintainil_g parallel
lines oi" :-;_l)l)ort ,':t all tim_::,. Ior _:xar_l,lc, in [ignore 5-3 line L1 passes through
vertices A a_d I_,_t_1 l)_rall,:_l lit_,:: of _:.ut,l:,ort L2 l_';.';e-s tt_iough vertex E. We can
rotate 1:1 cotlnt:_:rclor:l_:wir, r: ,,holit v_RrlRx l} ;_l)d 12 abo_lt vertex E until either L1
(_,:;[:,. We: {lel(:,rilliite. wllich of the two possibilitiesCOl]|_ills z_i{l_, l;C (_r I 2 C()tl[_iil;,',; ,_;;i ' ' r
occur,'; fir:,l l_y r:(mtparing ll_: :,lop_,r_ of :;idc:,_; I!1: al_d f_C. In ti_is c_se line L2 will
meet ,_;icl_ EF I_(,.[,)_e li_(:, L_1 _1_,<::I._;BC t)(_c,_us(: Lll(: slope of EF is lc._;s than the slope
of BC. Ibis i]lc:,gl_; ll-_,ql, vc;rticc:s t3 al_{l F nl'e antipodal and that we will begin
rotati_lg L2 _hot_t ve.r[e.x i- r_tl_cr tt_a_ [:. We coi_tini_e this procedure until the
parallel lines of :;_lt)l)ort 1 1 and l 2 have IrP,versc:d thc,. entire convex polygon (and
have titus (leI,t.'rated all of ti_c: ,_til)oclal pairs o1 ver[ice..;).
24 [)cccml_:r 19 79. G_-'.omnIric Trall.<,/orll_; PAGE87
We casl Illodify "_llamn,'_' algoritl,m so tilat it generalizes easily to tile
tt_ree-(lim(:,l_;i(_i_al ca.no. ]he iIni',orta_t fearfule:,, tllat we extract from Ills algorithm is
that whon we p_-:rfr_rnl the O(N) tilne scan around tl_e convex hull, the only
colllt)ari',:,on_; tllat we ntt_'.;t make are cc;ml:,arisol_s of the s/oDes of the sides of the
convex IILlll. ]hat i,';, ll_e X ar_(l y coor_linatns of the vertices do not matter since we
compare ollly tll(: sl_)t)us ()f ltte 5i(lt;,; of tl_o polygon. This insigllt leads to a
one-diln(,.8_r-_ic_l_al inir:rt,retati(:_n of tl_c: ((,rlfiii_/;lly) two-(iiniern'!;ional prol)lem.
II 8 G E F G H I A
,,llb - _!
UPPER h / f ........
/ -.........11.............It I1..............-1[ 1[e f Z h i UPPER
i
A _ ° " " d LOWER/'_ E a b c
..................tL.....................tl.............IL........11LOWER I_ b c c D A t3 C D E
Figure 5-4: Tra_si'orm of a co_v_,x hull to a line.
We ill_stratc ttle transform in Figure 5--4. The first step is to divide the convex
polygo_l i_llo lwo I_art_;, I;I"PF[¢ and IC_Wi.I-',. lhi,'; ensures that when one of two
parallel li_es _I" .'-,_l,l,ort ln,.c.'t{-_ tl_e l_olyrlon at _;i1 (IPPER side, the other line of
,S_l)l.x)rl ni(,.(,.ts it a 10Wli:f{ ,';id;.,. Wc lii_iy {lcfin(,. tt]_-; transform of an UPPER side of
the convex t_11 ;_::_II_: >_loi_("_ff tl_e II_'I'FR lin{:: of ,-;UPl)ort tt_at contains it, We may
al,';o tr_n,';fol_n al_ IJl'f"[ F', vnr_cx V to [lie ,s(:t (),_,slol)c;s of all UPPER lines of sui)port
that l_a,s;; tl_{_Ull V. ll_n tr,_nsforll_ for I._OWf:I{ ,',ides and verl, ices is similar.
Furtllernior(::, ,',il_c{,. \^/{: colt,,,i{I(:r ill(: l{:ftlno:;[ arl(l riEitltmost vc:rtices (A and E in
Fig_re ,_-4) to lie i_ l_(,[h 11_(::IJi_i"f:l_ _l_(i I ()WEf-_.set.',, they each I_ave l)oth an UPPER
and a IOWl t_ Ira_.';i()rm. W{: n()w dc,s(;lib(:,, ti_n lran.,;rorm algebraically.
Tl_e tra_,';furn_ _n_l,-'; lil_.; L;f'Pf:R _,el or _i(l(.;s of ti_e convex hull to a set of points
on the lint. and thc' IOWI:t; .'._e-to1" si{l,:,.s to another set of points on the line. The
mat)l)i_g i_:_sin_l_ly a I)Oilit / flat d_,_lity followed by a_ orthogral)hic projection
24 Decenlbcr 1¢,-t7(]. Gr:omo:tric Tran,<:,forms PAGE 88
y=mx+b _ (re,h) _ (m) (1 4)
where "y = lllx -_ b" i_ tile ]ii_c-"ctut_,r;_li_:ct t_y a side of the convex hu]l and "(m)" is
the onc-dinlr:n.-._inilnl I,oillt to wl_ich il_<; si(lc, m(_i),<:,. The transform of a vertex V of
the oofivex liull i_; ;.lii iiit_-,.rv_tl oil th( :>.Iii_m. If V is tile il_tersection of two UPPER (or
two 1OWl:f:.;) ,_;iele,_that (]ntc:rlniri<: the line,<:;y : rnI X + b 1 and y :: m2x + b 2 then the
trallsrorlli of V i::; ill<.,, iilto,.iv_l I_c:tw{:{_ll (oii_:,.-diill('lisioilai) points (m 1) and (m2). This
is becaiisr: all IJl_l>l-lt (nr 1(')VVt!II) line:,<; of <,lit>port at V Inust have a slope between
(m 1) uiid (iil2). ' Ir V i::; i_ l_:rtii_c_,,:_tor ri!illt_llo,.:_t I_oil_t, tlien the .<;or o1" slopes of the
UPPFll (or IOWI-II) lin,-::, nf _:,_ll>t)oi't at: V is an inril_ilc interval on the line. For
exalnl)le, ili [:i_lurc-'. 5-4 ti_.; t.lf>F'Elt trctit.<:;f{un/ (;:if vertc;× E is the it_tcrvQI (-os,el and
the I...QWI I_, trallr;f__rln {)f \/{:ltp.x [{ i_i tile: illtt,.lV;I [(i,,(,), v.Jheltl "e" iS tile Mope of
side e _lli(l "el" i._; ttlc >.,'.;1{_1,{.;uf _..;ici(,.(l,
]he!: tralt:-_f<_inl {1i\I_:.<_I1.<.:iall tit<', ili[orinc_I.i_,f_ vie. i.c:,:,.(t to cjet_eratc.' the O(N) pairs of
antil)oelal v_._rti{',P.'.;. Ie;r {_:_:;_ini_t_.:,iii li{itir,'. ,5-II, if I.1 is tl_c line d,::te.rinin{:,.d b7 side a,
then It/c: par;._ll<-'l liri_", fit .':.,lil_l_art L2 pas<:;_-',';tlirourtll tier: vortex F, {:{(luivalently, the
tran,':iforln nl<il):; ,<-;i(lc a to poilit a nncl vc:,.it{:x [: to iilLert/al P such tllat point a lies
S'. ic, t)c)t_i]ded I:_y vertices A and B, we have theinside tli{:; ii_terv,:_l I. , liltJu ,';ide: n
antil)od_l i )_' .... ' ' .. ,t11,., Of vcrtic{;,, (A,I) and (l_,i), We:: (:;cll_ qellc:role all O(N) pairs of
antil-_o(lal v_:.;rlic_i:_-;IW fiiiflil_{l wllicll ii_l._:rv,_ :-; corll.ail_ lho, N I)oints a, t), o, ere.
-l-/lec)r{'nl $_G: C]iv,".I1 _'i COllVctX poly!:lCJ;l ('it N ,_;i(l(;.';, WO can generate the
.(::)(:N) p,ltl ,, Oi ;Jltlif>(_(l{ii v(,.rtJce.::, lit ()('_',,_) flirt<:.
Proof: Wll_:n \;,!_, (l<:,nc:r<_lc tl_: tJl>i>ilI altd _0""':I_,.,,,_. ,';ets or l_oints on the
lille; (F::cili;_iioil 14), tli_:y v/ill t,<: in ::.:c_rt,:clcucti:,.r l-_e<:c._lt.<:;etile ,<_1o_esl.,. of thei.. •,:.>ldt::,'.__J_<Ilia:: (:oliv<:;,: It\ill ai'_: _,lr_._,_dy:;or{{'.(l. \/,/(.; (:_ill l.llus easily _;cun tile
tWO {4('.t<; [_J (l_::t_:'lniiil_; \,',/]_l(:]i iril._:i\/itt q<lc., l>C_il_tli,::t-; in all(l ull.imately
{l(_ll_;l_lt_'. tll+' O(N) i_i/til_o(l<il i>ciilt-_of v_;:ilicc::;; ill O(N)tiine. [:]
In sIIrlllllCiry, _,_/i:: ll,'tv_-;
Tll(;orp.ni P/', We c.:{tit conlp ' _ ttier:. {1/(.:: clialno, or of N planar pc>iilts in
O(N Io(.I 14) w:.>r.';t-ca{;c timc_..
I_roof: Wr: fir,<.,l c;Oll.<;[ritc:t llic CQllVC,X htill in O(N log N) ([48]) time andthen corot>art: ll_c; O(lq) ni_iil>c_lal l><tir,'._of vmrti,':es in O(N) time.. To
24 [)._.r'¢'.lllti(:rI(.I(_). Gcolllc..tricTl;_rlt!_fori11_!, PAGE 89
gr::n(:r_l.(:: lilt, atitit_oci<_l f>_ir.:-; we: lilf_)' tl,-;c; (.itltor the scan 8rouIld the
COtlVOX litllt ()1 Sli<liil(;,.:_[{;lJ or fii::,t tr<ili::::_[ol-tlitli(!' sides of tile convex hullto I)Cfillt:-_ 011 il lille ailcl tilc_:ll t_c:'.if(;riil iii_ c:',cluivilfc'.ilt S(;'81/ Of thoso points.
[]
5.2.2. Die, meter in Tliroo D:,i,,_.l_"-_-<:'io_,<,....
r,l,_in,:,c:r of a two-dinlol_sional set of pointsMally fi:;_i|llr(:<, of otlr ;_l{l(_rilhm for the: _'" ""'
ext{-'.l/cl t{_ tlllr:_' _liin_,ll:.;i!>ilU, W<: fillet (',c_il.'.-;titic{ rite:: coilvox llull of the N points in
t <.-;QO(N log N) flint: (I) 7 lilt: cll{',cJiilitlrl of f iiC'l);tl_ln nild Ilonq [<,<,]) to enable \IS to solve
ttlc>, cli_lnc:t_,r c_f \tic,. _.,,:t c_f l>C:,ii_t::, tile: c]'ciiiic:tc,i' tie ;.100liVC:X liull. To find the
(licimnlf:r (if lt_: ({(>liVt:'X It\ill \;,to: lllc:tl (',tflC:l,qlt;: tl_,::":._nt of cit_tipodal pairs of vertices,
oi10 pnir of wliic:ll cl,:lc'inlJit_:(, ti_:, cli_n_<:t_,.r. I1_tllits _-:_;c:l.ioilwe'. sllow how to generate
th_ _'.K t)ilil':i of nnlii,oct,_l vc:riic_':n in 0((I1 4-l't)logN) tlnlc: arid that we can thereby
COllll_tlte,. tl_> (liiJlll_:,t,,.r _>[ [4 f>c>liitt!;ill {ilr,:'.e-,<-;l>aC:c:, iii O((N + K,)log N) time.
In tl_e i)Ic_t_: v,/{: tl.s_:(t lit(:,, coll(:(::pt. (,[ lJil(,, o[ _;tll>t_ort to goll('.i"d{o tile O(N) pairs of
i (..antil;_O(lal v_'rtic(_:;. Ii1 Ilii_'.c (lii/ioii<;i<lil:i _t .: corr(,sf)otldil:g concept is pl_lFt.e of
sutll-_ort, l:or oa(:li fac_:: of tli(:: oont/i:X hull, .<__<-_),face POfl, the plane of supi)ort
l)a::_ic.<:_ tllrol_gli n vc;it_:x W of tttc: cow,vex l_ull. -lhi.<_ClCl_el'ate:._ tl_e antil)odal pairs
of vertic_,.r_-> (I>,W), ((),W), and (P,,W). AltlloliOh tl_e. OOllVeX hull has oilly O(N) faces, in
tl_e worr, t (,.,'l:,_: llir,.rf-,, ilia 7 ::,till b_.: Q(N 2) i,_ir.<_ of aiilif)o(lal ver{Joe.s. 18 When the0
illtl]lber of i_nir:_ I( is Ir:::,,s II_rJil ()([4'), tlto_lgll, it is not ol.)viotl.S how to generate thein
N 2ill le;sn lllciil Q( ) limr;.
Otir fir,<;t .'_t_:l, t_)\,dc{i(I {lC:.i_,:_rtltiil!] tl,,: _i;t{i',od<_l v_'rtices i:_ to {livido the faces of
_. w., _1 _ '' /'%1 ¢,11 | tthe:: C(lliVti',,,, liilll iilt<:J tit,', tv,'<:_.>,.c:> tJi:i'_.l', ailcl Ic_v,'l _, (]lie. lilal_e tllitt COlltaills all
UPfJ[]R [a(;(,. li<_:; i_l_<_',s_,tt_c,. ('.c)i_\IC_Xt,clil <,.lld t',le t,t;ilic_, that contains a LOWER face
Iir:s l:_.:h:w4 tier,. C(_Iit/f:X ll_lll.) ll/i.'-, divi:>_t<_rltln.<_:_tl_:: firot>crty that if a plane L contains
a face; of tli_,, lJf'f'E[{ sc-,.t, ti'_(;il flit.,, t,l<<l;<::c>_-'<._til)i:)OltM that is parallel to L passes
8Fr, r . o1 :,_,:,_,,),-, ll,:,r<, -,,. ('l,([.i'; .- _,_ ,,. ,. .,.! ,1 ,-,',;, . f r,i/" .-._ _t,,. ,,<.,'.,,+, .,:,-, :,f _)_,, f,,)n (_q :,,',_. 101. _;n ICl, _, ._n4 I_1/'_
of lile poirii.s mo Of th"' lOliil (l:os (}i' (), --<iii (L}l) Y,'!,_'ro ()l - TFI:>'(1 _.+il_',,').
24 D(:(;(;ntl)(Jr 1FtT"._). Gc:on',c:trics Frcin.<.;form_ PAGE 90
thrclllejh a \lr'.rll-:x r,r Ilia: l()Vqi t+_.';c:l. ""-. ,-,litlil,iriy, ct filet,, o[ \tie [.OWfTI] set (le.termines a
par_ll(-:l f)l_tilo of '.:;tll_t_c_rl. tticit t)i_'.:;.':;c:;_;lti;otl{.ili _i vt_rLcx of the tJF:'[_[I] set. (VVe
coi],'_i(lcr lilt, vi,.rti_:_:,; r_ll tilt: ll<tlitl(ICtl- 7 elf Iiir; tJl>l>i I7; c_l_<l I_OWt:TF_se'.ts to l)eloi]{i to
both s(::t'.:;.) V,/c_ fi<'.xl, t.;li( )\',/ licit'./ t,'./c (:(;I1 {ricil.,;Porin lilt lJF'I_EI] alld LO_R/EII sf_ts to find
the antil-_o(lcJl v_;iiic+,.s rtlli<.kly.
5.2.2.1. l'l'a_iSi'ol'i_l ill ll;rc-e LT,ii,,eii0iOli.c
To g(;li(]i'_lt_: tll_: O(N) i._cLii','J of an[ipo_i,_l vc:rtic_,.<;vJe llse an extension of tile
ge(Jlii('.{i'i(: {ii:_li'-,[_flii {liiJ{ v./_:: t_:;;_:d [Ltl {liE: {\'do-(tilitmll:SiOl/Ctl I)rol)lc.}nl, Ill two
diiil_->i_:;ioi/_; oil/" (:11oi(:¢, of {rrlllr_foriil \,Ta<_ i_i(_tiv__tc:(l lJy tile fa(-t that the search for
Iine.s of Stll>l>c_i{ /lively(,. <-,()tily c:,:_i_liJ<;_ii.gc)ti.--;cJf lti(_ slol)e.<_ of tile; sides of the convex
hull. Silnililrly, ill ll_lC:¢; dinle;ll.<;ioil,<;, {tl_,. ,ge,.cir(:h for i)lall(;s of ,gill)port involves
OOillt)_lri.goli<_ oi fcti_: .,:,I_,i,_:_ (li" tl,_, [_lc:_:.,, <,[ Ilia: (:(lllv_,x llllll, Otlr {iOl/s[orlll lop tile
faces, od{lc,.s, C/lid v_,.rtic_:s (:if ttl<: COlIV(;X l/till till fell(iris tl_<,, same scllc.'lliCt:
l lie:!; {it>l"[l_ ll_lll<;[(>t-ili tt[ (i O0ftil)(lllt'li{ Oi" til_:'. CL)ItVC'X llull i_:i tile set of
slol)C:-I>clir.'<; i>[ _I1 /Jl>i'fll t_l,lil_:<._ <_f _r;lif>t>c>it tl_,_.t (:<>iltoin it. Sinlilarly, the.I_OW[fl {r_lll_.:ifclrlll i:!, tli_: _>(:-t o[ ,<.Jl{;f)e..i,__irt_ or i_ll LCRtvqLF{planes of supporttli_i. (;oti/<liil it.
Since only on<: t_lcu]o, of ,._tll_l)or{ c:oilt,']iit.g ci f<_lc:('.'Of the: conv_;x htiil, a face maps {o
oile I_oiiit, All 0:diic'. i-_ (:Olit<_.ilic:(l I:;7 {_ :4c:,t or i>Iciii(,,_; o[ ,sul)t:)oit witl] one degree of
fre(;doni ,g,r/ all r:(l{lc_ lii;]i)r, If) _"ill illir:rv;ll of _':_Iin_:, l:iilcilly, a vortex of {he COllVeX
hi.ill is c:oiil<;_iiic,_l Ii 7 cl ._;_:_1of t>l_i_c>..._of ,<_,ui_i_ort \^;itI_ two (le._Lireos of free(toni so a
vertex lilClt).<; 1o ;l i-Jl,-l_,-_r rr:{!ioit, talc: ilovv l)l'OSOll{ al{lehraio descriptions of the
trallS[Ollli,<_ o[ [<_(:__-L4,c:_l{ic:_._, iJtlicl V(-:Fti(;rc.'Li el[ Clio O011V(TX lttill,
Tran,sfoi'm of ;:l F_:ico
let ;7 = ax 4-1) 7 + 0 lit,. ill,, pl,liic: dc..tr;rlliiilc,.d t>), cl f,_c:0: F of Ilia convex hull, The
trail,':ifOPlii o[ ril(:(,. F i.,i .,,iliit_iy tit,:, p,,ir of :,Ic>f,c,:_:,(it,lJ), _t I_oint ill the ab plalle. We
may ,'_llr:rncil_:l 7 vic:w llti.g lr,lri.grornl ,-_.,_a con_l)ii_<_ltioi_ of tile I)Oil_t / fliit duality and
or tllo{li'(_t I_1ii(; f_luj0,1Jti(_il:
z = ax + hy + c - (a,t_,c) _ (_,,b). (1 5)
24 Decel_l_cr 1979. Geon_ctric TrallSfOrlliS PAGE91
We nc:xt dc.<,cril)_: lhn lr,:_n,:,R,ritl of ,q_l c.clgc: _:_nd n vertex. Since the UPPER and
LOWER tral_s(cJrJnz.; _r(: ,<;o <._imilar, v./u ?rco;cnt ol_ly tile UPPER transform for each
case.
UPPER Trnnsforia of nn Edge
SUl)I)O,_;(:: tll_Lt t_,',/(_fa{:(z,<:;I. _ll(t I_,4(_fttl(-'. (:o_lv(::x htJli I_avc.'. an UPPER edge ELM in
COllllllOI1. let 11_: two I,l,_s_,::, 1 ,-_nd M _l_:[nrnlin_::ct l_y [i_,:.'se faces be writ.ten
' t C{rl (tZ = {ILX + t)L_ + CL, (16)7 = __i.2X4. i):,:y 4-cL_,.
We can wrilr' ll_c:: lill_.: \'/her,: i-Jl({Ii(:.'.:,l nn(-I M ln(:(;t ill l)(il'amct;ic form as
:i 3 i:::(P,.,P:/,P.),,,_ + _.1(L bL-I, {;',: l.-',eals (17)
l,_s, hi,,,,' - 1
wll{_r_!: P -..- (Px,Py,Pz) i.<:;._;oinc i_(_ilit iii h_,tl_ t_14_it(>.._;and [7,_, and _ are unit vectors
I)nrall_'l lo lt_r: x, y, ,q_i_l ,:' _',x_:s, r_:,_r_,._:liv_,ly. For _;xample, if the line intersects the
xy-i)lulle ,,A,,uCilll CtIO()_:_'.P _1:!;
r,.,[ o-i_1ro,q•'. 7 - , II) 0 .
o 1j
A l_l_i_{: z = ax + by + c col_t{_iil,':; I.tlc iii_: of [:(Itlc_liull (I 7') iff
ci 13 - 1
a[ ht -1 -- 0 alld P:_-- aP x + bPy + c. (1 8)a_.,,hM - 1
Since: the traI_.';form of i l. M ;'., lilnit_:(I lr_ iJl_l_l _' i)lanc,'_ of support tllat contain ELM,
we m_l._;[ r_':-;lricl tt_:_ .;ol_iti_l_.; of Eql_{,tion (1S) to an interval defined by the two
points (al,_, 1_l.., el) i_nd (_M' I>M' CM)" lt_e tr,:_nsforni of edge ELM is the projection of
24 Dec_'mi)c:r 1979. Gc:ometric "I r_n.';form._; PAGE 9Z
an interval of tlli:_ liiJ(: to the xy (al)) plane. We sumn_arize our results in the
following theory:m:
Thc:or_:m 28!let tile planes L and M of Equation (1G) be determined by
two faces of a convex polyl_edron tlJat meet at an UPPER (;dge ELM. The
UPPER tranz_form of (:(lge ELM is the set of points (a,b) on the line
(b M - bL)a - (a M - aL)b = aLb M - aMb L (19)
that lie in an int_ival d_.'.t{:rJnined by tile points (a L, bL) and (a M , bM). if Land M arc boIll IJI+I+IIP, planes lhcll tile; interval lics between tile two
poitlts. If L i,'+ I.If+P[-R but M is LOWER then tllc interval is tile ray from
poillt (aL,l_ L) tl14Jt doc:s not include point (aM,bM). (Similarly when L isLOWER an{l M i.'_ UI_PI:i{.)
Proof: "li_e. lille of Fqtlation (10) is irom Equation (18). Since the set of
UPPER plallc.s (_f n_lpl)ort lhat contain _:dge ELM is connecied, tile UPPER
tran.qfr_rtn _f _:'.{l_lc:F IM is nn int_:.'rvnl of this line. Since the planes L and
M of Eqll,'_ti_ll (1t:;) ccmt,';in edge: ELM, thc points (aL,bL) and (aM,bM) mustbe on thr, IJl_l_[i_ tra_.",form of crl(t(: ELM iff planes L and M are UPPERfaces of tll_,, cow,vex i_11. Furtl_c:r_R,i(-, si_::c; tl_c: faces L and M are tile
exlrnme limil:; Ihat ,'_ plan_: of ,_Ipport c_l_ l)t-: rotated about _:(lge ELM,point (aL,i_ L) n_(_,qt b(: _l (-:ndt_oint of ih(; interval if plane L is an UPPER
I)lal_e of s_Pl_ort arl(l (,:_M,I_M) _st br' an ('n(li_oi_t of the interval if plane. M is an UI_PER plane of sul_port. From these conditions it follows that if
both L an_I M ar_,. Lit_PFI{ I)lar_ns of .qupI)ort, th_,n tl_e interval must be
between tl_e twc_ points. If L is an I,;PI_ER plan(: of support but not M,
then the interval is a ray starting lrom point (aL,b L) that does not contain
poil_t (aM,I)M). Si_l_il_ry if L is LOWf-P, and M is UPPER. []
UPPER Transform of a Vertex
Supl_ose tidal II fac(:.s n_:et at a vcrt_:x V = (Vx,Vy,V z) on tile UPPER part of the
convex I_ull. N_l_l)_:r lll_.-;u faces i_ cot_nt_:"t:l_)ckwi:-;(_ ord_'r so that tile edges that
meet at v_:rlcx V arc 1 12' F;-'3,,"" ", FIll" (If vcri_:x V lJc:s oil thc boundary of the
UPPER and LOWI_P, I_rt_ Iil_,i_ i_clu{Ic only tli_sc c'd!l,.'.:_ in tl_c UPPER part.') Let the
planes d_:termi_-_:d I_y tll_" II fae._'s be
z = aix + biy + c i, i = 1,..., II.
if ray r i is the ray that origil_atcs at point V an(il)oint.'_ down edga Ei,i+ 1 then
r i = (V x,vy,v z) + u (c_i,#Pi,l,i )' u:2_ 0 (20)
24 Dc-.c.P.nll_:r 1fl/q. (;co_i_ ;ri,:; I ;Lili,_-;[()rili,<{ PAGE93
where
!, io, !(_., fl,, -_,.) = c,,i + ¢:;,,-I+ _/,11= 1) -1 x SGN1,:_,._I),. i -! I (2!).a. 1 t)i_ I -i tall.2 hi+ 2 -1 I
(Not(: lhat tll_ r_lllJ_ci'ipt_, "i+1" a_cl "i+2" a"e io 1"_(_taken nlodulo H.) The first
dete, l'H_il_llt i_ [:q_tio_ (21) '_(.t .;[(,rtitill,-:s ll_(: li_',c,,tt_4tl ray ri lies in ancl the second
deternli_anl cl_:I_:rH_i_lo.,; v,/l_ich of tt_(" tV,Ol_C)._;:,il_ledirections r ishol_ld point. We may
now cl_r_:l{.'Ii,.:r' ti_" ",('l _r [IPi'[:f;; i_l;_liI.ti: (_[ t;[ij,l_orl, o[ UPPl:i_ v_!;rtex V.
-/..!-){!r)r_:m ......1-'!): I c,t v = (VxYy,V;,) l-,c-:_-_ I;l"l"I:.l{ v_.:rt,_x of a convexi)c_lyt_'._lr{_ al \,',/i_i_:h lI_ t.l[_t_l:l_ r,,y.'; r i _i :i_::ri_ilic,.d l)y V sc_li_:;fy Equaliol_(20). A 1,1,'_"-.' :: _x -_ l_y + c i:;,_l_ IIl_I,I:[ ', I,la_,_ of supi_ort at vertex Viff
Vz = _:Vx + hVy + <:" (22)
a nd
_ ',_' i= 1 I1. (23)"fi < ac_i + "iJi ..... ,
Pr_f A l_i_Ii<-_,_::__>.'.+ hy + {: i::__It [;Pt'[:[_ !_i,_II{::or s_._l:)f)ol-t_:_tvertex V
irf it I_l::;:!;_._; II_r_i_!iit V ,:_il_] rc:;_i_iil,_; _:_l:_ov(,i_ll ttl(.: rays r i. E(ltlatiol_ (22)req_ir{:s ti_(:_r,l;_n_: to l,,-_,";stl/ro',_,::jl_V. -l-he: t,l_e rc:n_,'_in,'.;above the tt raysirr
Vz -_ ll,,fi _ ;_ (V x + l_ i) -_- 1) (Vy + [iGi) + c, Vu >_O. (24)
l:}y ,'_l_l_tr,_ctil_{l l:llti,ttir);i (2P) iiilcl cl;vi_.liilCI l+y t_ we oht:,in the inequality
• _ ). C{_l_v{:'r::;_::ly, iI f,i_l,_ti{:;l_._ (?2.) i_l_i (,.d,) :_r{-'. s_tisficd we e_sily
d_'.ri\/_ l::_It_ti_H_ (24) 1)!,.,i_llltii)lyil_!t (23) hy [i .>_0 _nd i_ddi:_:; to (22). []
For th¢: l.rilll},';i()[[tl (t[ [;f'f't::ll v(_rlc:x V t:/(' c_l(: i_tcr{:,':;t:::'d or;ly in the slopes of the
'II_{::()r<:_l _{0: I{,.t V h(,. 4_n tlI'i _ I_ \,',:rt_::,: (,f [_ con\,'e.x t)olyl_edron at
,-,,,_l..,fy F.(iur_tion (20) Thewl'_icl_ lt'_<'. Ilt_l'll :', Iay_; r i c!.:'t('rl_i',_(:d hy V ..... -UI'I'I t{ tr,,_ir, i,:_rm c)f V i:; _ c:o_',_-x, l_oly_.:K_,_l r(:!lion of tl_e ab plane
dclcrmin_,.d l.)y It1,', il-_c:cll_:;tilic:s
7i _ _o_i _ l_i, i = I,...,1t.
24 December 10TO. Geom_'.tric lrc_r_sfo:m',:_ PAGEg4
5.2.2.2. Algorithm for Ger_crc'_in 3 Ai'_l;:,o(_al V,., _I_ <>
We have jll.';t ,<,e_;n llow to trar_sform tltc fn(:_::,<:_of n conve.x i)olyhedron to l)oints
in tile i_lllli_:, _;_Ifl_'::; [u _dfl_:,+; iii tits., I_luli(:, ,_n(I vc:,.rLic(:s to convex I)olygonr_l re(jSOllS.
Coml)inin(j lll(:_;r: w_-, c.on Ir,_n.':;f(_rm t:_otl_ '_ ,_r-_,; ..... and t.OWI-:R I)nrts of the convex
hull to oul_.:rt_l_l_l,:_r str_i!tlxt-liil{, (ir_;_il_; ill tlic l,l_ltc:, us illu._;truted ivl Figure 5-5. We
now t)rese.nt th(.. r_rot:,c'.rty of tl_{;::,_; Elrnl,l_:s theft _llow'.:. tis to find efficiently the K
pairs ofalttil_(_(l{_l \to'rti(:o.'-,.
Let V 1_{-:Oil I11'I'II_ v_:rt_'× {_f o {:_>l_vr'_;,ci,(_Ib'l_,,cllc;i_, Ttic,, tlPl)Er_ trur_sform of V is a
convex l_(ilT{lC:ll_al r{_{lioil V' o[ tii(. ;:ih i)lc.ln{:, fly {io.fii_itioi_ of V', ai_7 LJI>t_ERt)lane that
pa,<_s(-'..'_tllrotl{lll \l_:r/l.x V [r,_l/:-,ft:)llltt:; to tt t,Oili[ irl V' ifr it is an UPPER t)laFte of
suppor[. All 7 I OWf.:t_ i;I;li_(; (;f _:_tll)l',ort ti_at nlcli)s {o t:l point in V' is tllerefore a
parall_:.,I t>l,,_li(.: (Jr ,<._tll_i_orl.f<,r ,<,()l'ili_ tJ!_l-_f:ll i,Icill_.; of ,t;tit)t)ort that i)assos through V. If
a i_OW[_.I-/ vcJiir, x V,J Illal),'; {o ct l{_(liotl W' .,-;ilcli tllat V' ai_(l W' ovorlal), then V ail(l W
share parallel l_l,lli_::;_;ol filllJlJcirl oil(l ore tt_:refore __litii:>o(lal.
•, \:/\ _*,, ":
l::J.:,:- .. ; / "rV- -
Figure D-_; 8ec_rc"tl rc)rl_l_li{:t-; 01"s'til_l)()r{. I1i;;i>,'7;i.o lo(;,itilig overlal)l)in9 regions.
We hnvn r_::rtlir;_:[I ltl_: IJrc,l)lc:l]l or (;Oll_l)tiliii _ tl_c (tialnet(;r (if N points ill
ti'lre(:_-Z;l_a(;t-; {(> lilt', i_lt)l_lc,nl of _il;cliilfli iittc".r.':;t:ctioi_.<-;of 'th_>,rc;cliOllS of two OtltC;rl)lal_lar
2_ [)c:c;c:llll}{,.r 1 r}/t_. G{:oltl_:tlic ]roll_'_for;il::._ PAGE95
straiglzi.-.lin_: ttr_,t}l_';. We tl_ls have th{: following outline for a tllree-dimensional
diameter al{lorithnl:
Outline of Tl_r(:e-DiineI_sion,_l .Diameter Algorithnl
1. Co_strLJct tl_e {:o_v{:x I_lll or t t_{: N poi_t,.-_.
2. [i}ivi{l{_tll{" c{}llv{,_,xI_[lll il_t{:}tl_:: tx'_()l}{_rt,{-;tlPP[:£I__n(l LOWER.
8. Mat} t}{ttll it1{', [IP[_[Ii at_{I 1(T}\,'7i21[;t}(;rt_; to c}_ltcrpl_nar straight-line
{jr_Itll,{-,l}y ti_{', tr_i,_f{.}ru; (t('.,{.;(:ril)(2(t_ibd}v_.
4. Fili{l all of lll{_ pair'.: of rugi(;I_.',:;i]] {l_.} I.jPPI[R altd LOWf£R graphs thatov{:rl_l}. I}l,(l(_t{; tl;e lii,'_:,,:ii;iLl;ti {]i:;[_;lICC' I){_],W_(:I] pairs of antipo(talverli{;{,:;,
5. R{:l}orl lilt::: ill,:lXilli[llli {list{_il(;e m{,.({s_tr{,.{Ias If/{_:{liaI_]eter.
We {:all {:{.,lt,,;irt_;1 tl_(,. {:(}_]v(_x i]illl (St(:p 1)ill O(N 1o[IN) time [88] and in O(N)
time t}ar[ili{_ 1,1_-:I_il il_lc_lit{: .s{:I-, [;i_t_[:ll a_'_(1I.OW[::il (atel) 2) and transform these
8{:ts t{} {)_t{:rl}lal_ar.';ttai!311t-litte [tral,l_.; (St{:p 3). Since there are onlyO(N) pairs of
antipo{_l;_l \/_..rtic(-:::,, St_:',l} ,'; r{.qt_ir(,s c}_Iy (-:on,stant time. Tills leaves Step 4, finding
tl_{:.',ov{::rl;_l_{; l}{:,tw{,_,l_ tl_{::LJ[}l-}Iif_ai_{] I.()WI:R o_tt(,rpl_:nar gr.::_l)hs. We now describe
how to c(}n,t_(::t till:, .'_.ar{::ll i_l O((N _-K)loq N) time, wh{-_:reK is tile number of pairs
of a_til}{}{l{tl v{,rli{;e.,;.
C;_'' l:,{}tt_ tl_.' EP, and [OWI::F_part,{; of theAa{:;LIIII{; IIt_I t.l/{.'r{'. _r{.: _,a) [il(:(':-; (}11 UI'P
convex h:_ll. liar" s_l}l)r{}l.,Ic:;_ {)f SI{:I) ,I, it; Li_l_,'_lo lin(t the ovcrl_l:}S among two sets
of O(N) {:{}_lv{.,x r{:!]i{_.,_ (wi;.l_ ,_ t{_t_l _,f O(N) (:d!]_.',';). Two regions overial) iff (1) a
v{:rtr,:x of ol]r: r('(li(}n i:; cc,ittail]c:d in t;'_: otl]c:r r{".rli(}_]or (2) an edge of one region
inlers(::(:l.,':; al_ e,'{l(l(.: o[ ,,{llotll(:,.r I'{,,!:lioii. [[t(:,,r(; e.>,ist aI(.loriti]n_,'; tl_at solve tllese two
cast;:; _;el:,,_,rat{:ly; w{_'{'}nly I'l(t{:{l {0 {';Oii]l_il'_e tll_lii,
We {'all ,';olv(, tl_{', fir:;t ca_;r, (l(:tcrli;i_;g i_;cl_tsioi] (}f the vertices in planar regions,
by a n[_n_l}er (}1"_l{v}rillll_s. Ice _{1 Pr(:'l}arat,:_ [C,G] d(:scril:,e how we can locate a
poi_t in tl_e correct region in O(toti2N) ti[t_e, wi[h o__iyO(N io9 N) preprocessing time.
24 December 1979. Geometric Transforms PAGE 06
We can thus locate the O(N) points in O(N Iog2N) time. Lipton and Tarjan [70] have
improved the qlsery time to O(log N), yielding an O(NIogN) time algorithm for tile
O(N) points willie LJ.'.;illgos_ly O(N) storacle., but the "constant factor" of their
algorithm is very lnr£1e.. Prep,_rata [80] h_-_sproduced a prac:tical algorithm that
costs only 6[ log N'I comparir_ons for each (tucry but rectldres O(N log N) storage
and preproc(:'s'.;iil.(l time. Since we waist to locate a set of points together rather
than jLJst ol/e at a time, however, we. can use Preparata's O(Klog K) +
O(N) + O(K log N) time al(loritllm [82] or Lee and Yan!:l'S O((N + K) loq(N + K)) time
algorithm [68] for Iocnting a set c)f K Dc)il_ts in a straigllt-line planar graph of N
vertices, .giving [is an O(N log N) time algorithm for locating O(N) points.
The second case, finding all K interseclions of the edges of the two graphs, can
be solved ili O((N + K) log N) lime and O(N) ._;torarjc._by [_rown's modification [24] of
Bentley and Ottnlanll's [12] il_t_,.r_ccti{m _lgc_rithln (wllich is its_-,lf a modification of
Hoey's aiqorittim for de.tcrmining if any of N line segn_ents intersect [94, 91]).
Ttle algoritl_ln below fiI_ds all of the ('(t(I(; intersections and all of the vertex
inclusions in Q((N + K) log N) tim{; and 0(_4) s[oI_£je. It finds the edge intersections
by Browl_'s al(torilllm [24] and ti_c r,:'.(lioTlscont4:_iningtl_; vcrticc:!; by maintaining two
order relaiion:-; (i{lj an(l t_1.) fc)r the two o_ltcrl,lanc_r graphs. Since tile exi.ra time
required to maill[ain RU alld RL is girly O(N log N) aIld tll{', storage is only O(N), the
total time an_l storage bot_n(Is are the s_n_c:as for the edge intersection algorithm.
Tills algoritl_m uses several simple data str{_ctures and functions:
24 Decenll)cr 1979. Geometric "rransfornls PAGE 97
-G U and Gl - two out_::rt)lanar straight-line graphs rel)resenting tiletiaslsforins of tft(; UPP[_[:; _1t(1 I.OWER parts of tile convex hull of tile
thr¢!:e-(linlellsioil ell I)oin t.s,
- Nextlnt[i] = next detected intr.rscotion poirlt for segnlent i (that is to
the rigt_t of file otirront x ooordin<_te of the left-to-right so.an),
- Q - a (ltlC.'tie._ (:l[ (<ilite.rseotion-t_oirit or endl_oint>, (segment)) pairs,
sortc_.d 1)7 tile; x coor(tirlatos of tllo irltcrsec:tiol_ points (or endi)oints),
- RU [RL] - all order relation of e(tgos from Gu [GL] (evaluated at thecurrent x coor(liriuto of the Ioft-to-rigl_t scali),
-R - _n order relation of lille soqinorlts for both GU and GL combined(evaluated at tile current x coordinate o[ tile left-to-right scan),
-Rc(lioll.<;[i] = ordered pair (Rogions[i].above, Regions[i].below) of tile
regions above and below edge i in the graph (G U or GL) of edge i,
-Poilll[i] = (x i, Yi' zi) of the throe-dimensional t)oint corresponding tO
region i of G[j or GL,
-Vertices[i] = (three) vertices of thc_ convex hull that dc>termine the
fac_; that nl;ll)S to vc.rtcx iof GLj or GL.
-Insr_rt(P,A,C;)) - insc:rts (P,A) into tll_', qtlr:ite. Q, whore P is the left or
,. 4 1riql_t r:ndpoinl of segnlc,.nt A or _lc int_:rsc:ction of seqment A and
anolhnr s_.ClmeJ_t.
- I)elet_:;(P,A,Q) - del,;'.tc;s (P,A) from the qtleuc Q. Exception: If P.x = oo
the r_qtiest is ignored.
- Insert.(S,l;) [F)r;:lr'te(S,l_)] - inserts [deletes] segment S in [from] order
relation I_ (wll_>,re. 1:1_;or(ler is ¢:valt_atcd at the x coordinate of the left
en(lt)oint of S).
- Al:)ove(P,R) [l},>.low(l_,ll)] - returns the so(tment above [below] point Pin order r(;lati(m R (wl/{Jre tl_e order is evaluated at P.x),
24 December 1979. Geometric Transforms PAGE98
-Insert(S,Ru,RL) [Dele.te.(S,Ru,flL) ] -inserts [deletes] seqment S in
[from] tile order relation (R U or RL) to whi('ll S belonclS (where tileorder is cvaltiated at tile x coordin,_te of the left endpoint of S),
- Above(P,Ru,l), L) [[_clow(P, r",Li,I-_L.)] " re:turns the seciillc'.nt.. ,'_hove.' [below]
point P isl Ii_c order rcl_tk)n (I_u _i' RL) to which P does no.__ttbelong(wllere tt_e order is ev_._lu_ted at P.x).
- Pairs(t,M,D) - coml_utc,':; tll(, dist_i_ces I)ctwc, en all pairs of l)oints (i,j)
such tiler i( L arl(l j( M. If anyof tllcse distances are greater than D,then D is s(:t to tl_e new maximt_m.
Algorithm for Search Step of Diameter Algorithm
proc Inter(A,B)
! Implement tile mo(lilied insertion rule of [23] for segnlents A and B.;
P <- intersc,,ction(A,B);
L <- Nextllit[A]., My N(,xtlllt[B];if P.x < l..x tllen
Deleie(I,A,Q); Insert(P,A,Q); Nextlnt[A]e I_;if P.x < M.x then
Deletc-'.(M,P;,Q); II_sert(P,B,Q); Nextll_t[B] <-P;
!Initialization;
O _- { all pair.'; (P,i) v,l_ere P is a lelt or ri!.llit endpoint of segment i,
sortecl l)y tl_e x coordir_ates P.x }
R <-.-RLj <- RI. <-#_; .! ord_:r roll, lions for the edges of GU and GL;
Nextlnt[i].x <-,:,:, for all segm(:nts i;
Diam _- O;
24 December 1 979. Geometric Transforms PAGE99
while O /- _, do
(P,S) <- (next (poi_l,segn;cnt) pair oil 0); ! X coord of scan becomes P.x;
l <- (o tiler r,F:flment intersecting al P if tile next I)air on O is (P,T));
If P is the lelt +:lldpoint of .';,_:gmc',ntS then
lnsert(S,II);
A <-Abov_'(P,fl); [_,<-.[}c,ic_v/(P,l;);
If A inl_.:rsecl:;; S tllerl la_tc::r(A,S);
If B illt.ers{:ct'.::; S tl_el_ l[_[{-,r(B,S);
Pair..:;(P(fil_t[l{{_qio_l._;[Al:_ovc(P,IiU,[IL)].l_:,k)w ], Vertices[P], Diam); ! Three pairs;
Else if I) is tile _i.(ltlt (:',l_(ll_{,ii_l of s(:LlfnC'.nt S tl_en
A <- AI)ov{'(P,l:{); B < l:_eluw(P,ll);
Delete(S,P,);
If A inl(:.rsects I_ tl_en tnter(A,B);
f)air.,;(l'oil_t[tiegion.,_[Above(P,FIu,!!L)].bclow ], Vertices[P], Diam); !Three pairs;
Else ! P is an intersection of segn_cnts S and T.;
Ret)orl(l*);
Nextlnt[S].x <- Nextlnt[T].x 4-,:,:_;i:{e.v_:_rse.(S,l,ll); !l_et S hc,.crm_e tile top segnlent.;
A <--AI)ovu(P,R); B +-F,e.low(P,ri);If A inl.crs(:,.cts S the.n I_ter(A,S);
If B ii_lcrs(:c;l.s -1 tll(.,z_ l_ttc-:r(g,T);
Pair.,._(t_e(lioll._;[S], F,',uqiozls[-I], [')iam); ! Colnl)are four pairs.;
We hart, jilst ,',een how to find all of the O(K) overlaps of regions of two
outerf_la_ir .-;tr_i!ll_l-li_e. !lrut,t_s of size:' O(N) in O((N + K)log N) time and O(N)
storage, l',t_t, an r_l_c)',,vnabove, tl_i_ imi)lie,s
Tl_(-.'()r_,:nl81: [i_e (lianleter of H points in ti_ree-sl)ac(; can be coml)uted
in O((N + K)I(_l N) tinle:, v;l_ere K iu tt_c; i_umbcr of pairs of antipodal
vertic('_.; on tile convex hull of tt_,.'.N t_oints.
5.2.3. Refinerne;_ts, Exter, sions, Re',ated and Unsolved Problems
We Ilave c_ce_tratL'd only on wor:_t-casc: two- and three-dimensional algorithms
for COml)_ti_q the I:t_clidea_ dian_c;ter exactly. In this section we briefly describe
results for [+t,st (:'.Xl_ecte(l-ti_+_,:.', al:,f_loximation, ,!trl(l higher-dimensional algorithms,
Ol)en i)rohlenm and an al',l)licatiori to Chel)ysl_ev reqression,
24 Deceml)er 1 079.. Geometric Tran_;forms PAGE100
1. One oi" tile t_lajor ()l.,ell l)roblcnls for tt_e Euclidean diameter is proving a
nontrivial lower t)o_ln(l. 111At.)l)cndix 11 we ,_;tlow that a diameter
algorithm can solve an e,mpty-intcrsection prol)lem for which an
f_(N log N) time lower hollnd has l,c'.en prove.n for a weak model of
compLll:atiol_, blJt tl_ere is still no ,Q(N log N) time lower bound for a
model of cOlnl:_lstation strong el_o_cll_ tO construct a convex hull in
O(N log N) time. Sllamo,'; [f]2] col_jecttlrcs that the (lianieter problemhas a wnr:;t-ca::,_:: I(n^/(:r l)c)tlild of Q(N log N) linle for any metric whose
circle l_as a coiitit_uotJ,_;ly-ttJrning tc_nclent (r, uch as the Euclidean
metric), l)til tl_at if the: circ:tn Ii;;,(; only a di:;cretely-turning tangent
(slich a.q till'. I 1 or 1,.,) metrics) thczn we can compute the diameter inO(N) tilne.
2. In olJr twn-dimc,_si(mal dinmntnr alqc_rilhtn the mo,'_t expensive step is
the c:()II.'_,lr_Jclin;_ of tt_(: conv_::x i_l_ll of ti_e. N points in O(N log N)
wor,';t-canr: time. A f;:_r;t r:.v/)c:c't,:d-linK: cc_rivnx t_ll algoritl_m leads to
a fast (lianlc, l_'r nlH_)riIl_Ii_ [f}l]. lor c:xampl_::, if the expcct_:(I numl)er
of vertic(.:.'.; nn tll_..', c:c)nv_:::.,httll i::; o_ly O(t,lp) for ::_('_nlep ( 1, tl_en we
may cnnr-,tr_cl tlle conv¢:x l_tlll iri O(N) (:xr, ecte.d-tilne [16] and
therefnr_--. (:r-_ll_t)_t_::ll/{, diam,,-:ter of N points in O(N) (:xpec[ed-time.
Our tl_rce-(li_ncll:-,innal al!.i(_rittin;, I_c)w:::ver, takes not only O(N log N)
worst-(:_:,..'.-;_-: tim(,, lo r:on'!;truct tl_(..'conve.x ilt_ii, t:,'_t also O((N + K) log N)
time to (.l_:llulal_: lilt K l),:_ir::_of a_llii,od(_l vcrlice._.;. I[ tile expected
n_ml)(;r or verlicc.s oi_ tl_e convex t_tlll is oi_ly Otd p) for scme !) < 1 and
tl_(:; eXl)(:Cte_l I_lnt)('.r ()[ pair.'-; of" a_til_()d_l ," "r,_"vc_t is K, lhen we may
COml_ut(.: tl_(: (lir_nl_.:'t{-r ill O(N + K log H) CXl)CC:le.(l-time. An obvious
Ol)eI_ I_rol)l_:in i_; l() i)r()vc: botll_(t._; for K, as a function of N forirlt ,r ....t, c_:.lillfi ctist_ii;t_ti_)ll,(:; _)r l_oii_t,-:. (Cor_jc'c:ttirc' Let tile, str'_.igflt-line
l)la_ar flr4_l)t_:; tll,_t ti_: []['l_iR {_t_(f1(.:'W[:I-{ parts of tile convex hull map
to t)e GU _:ll(l G[. 4_tl(t l(.:t ti_c' r(:(;io_:; of GU t;e Ui and the'. regions of GL
be I_i. l:ol any l_(_tlll(tc:(i r{?,.]io;1 iP,o[ (.-':iLlc)r GL 1(:;. R(Ill,O) be the asl)ectratio of _ -- ill{: r_l.ir) c)[ I_'irll_t [o \vidLh -- \'.o,llc:l_ m i_4rot,_te(l an angleO. For any ur_i_(:,{_l_d(:d re,lion I_ will; si(l(:,.s alot/g rays r and s, let
Fl(m,O) be ll_c: a:,i-)c-:c:t r,_[in ior ,'_ny (r()tatc:d) '_". ",i,.,_)..,c_..lestric_ngle with its
tWO (:qtl,'tl .';i(l(:,'; ()il li;t_:,'; r aiid .'-;.tl_c n_lmh(:.'r of ()vcrlal)l:_in(j regions K
is O(S 1/214), wllnr_: S = nl_x(i,j,O)F:',([li,O) / R(Ij,O). This type o[ boundar_, :,, in the illilXillltllt'l ov{_rlap of N r{,ctarl!]ular rcg;ons [22].)
In D (lill_u.l_::;i()_l,_._v,/(-_can cof_,'-;tr_l(-t tl_(.,,cc,nvex I_tlll of N l)oints in O(N)
exp(..,(;te.(l-till_{-_ i[ til_:: D (.:our(li_:_i._::s of tt_e points are ind(-'.pen(lently
(listrit;tlted [lO11[3o]. I_ tt_is c_z.;,,. the cxp(.'.ctc(l numbe.r of vertices
on the conv(zx i_tIll i:, only O(lo.(if)-lN) [IO] all(-I wo Call tl'l¢.'.l'l compute
the diamc:t:er ill OI_ly O(log2(l)-l)N) i-note cxt)ccted-tin_e by the
2/I Dec(;:llili('.r 1979. G_-,,oln_:tri(" [roi1_[orllis PAGE101
i)rut_:-f_)r(::_: lily',tiled or coini_;lriiitl _ll pairs of v_-;rtices.
3. Th_ l)(_z,t kllowiI wor,';t-cas_-: lhrec-d,nlcnsional Euclidean diameter
algorilhm is l h{_t of Y,_o [102], wllich runs in O(N 1"8) time. Yao hasalso l)lo(llic:¢:d a [')-(;li[l_r:l]sic)ilczl l-:uc:lidc-,an (tic_ineter algorithm that rtlllS ill
O(N 2-c_(D)) time: wl/c:re c_(D) : 2 -(F)+I). (lhis algorithm does not
illvolv(: COli,';lrilc:ii()n o[ 8 COIIVP.X tltilt i)('.C_tl:_(.', a convex hull in four or,,)
more (liill(;rtsirills Inay I_lv_: O(N< ) e(l(les ([49], p.193)..)
4. Ylivnl'n O(N Ic,g N) time two-diiY_ellsional Chel)yshev regression
algoriltlln [_.il] r,,lic:r; c)I_a scan _,f n (:oi_vex htJll with lin_,;_sof support.
W_" may nPl)ly c_LJr()((N + K)Ic_g N) lime algorithm for I,:)cating planes of
niil_l)orl r_f ,-_ col_v,:x I_nlyhr:_tr,_n. to)oht,_il_ ,qn O((N + K)log N) time
thr_.:,._-(lim_i_r;ic_nal Cl_,!,hy::_lle.v l_::gr_:s,_;iOll ,,lgoritl_rn.
5. We lilny ap/;ro,vi/n,lt_:, tl)_: E:llclid,-:nn d;{_mctmr of a i)lan_,r set of N points
witllirl a f,-lctor o[ 1 + (: in w(_r._:;t-c,'_:;c lime O(N + 1/() [Y] (Section
6.1). ('--;lian_o:_ and Yt_\/,il [9,_i] _t_-_vcprcviotl,_,iy (lescril)e(l a technique
that li,adL; to aa_ O(H/((I/::)) time. ,'_PI)ro>:iln_tion algorithm.) Bentley,
Fatl:.;t _i_(I Pr_,i_i_t_t [7] d_:'_cribe a []-(!iili(_i/sion_l (-approximate
algorill_m tl/al rtln,s ii_ O(N + (1/(.)2(D-1)) time. Ol)en Problem:
Coil.<:;trtict a fu<:,tor [-)-di_cn,<._io_l (:-_l_l:_roxi_ate diamet(:r algorithm or
I)rov(.; _:_nol_trivi_l lower t:_ound for the D-climc;nsional (-approximate
(tianie tc.,r I)rol.)lcin.
5.3. Summnry
For boltl of tile t)r{)l_l(,.m:-; tie_tc,(l ill this ch,_ptcr (linear programming and the
Euclidean _liam_'.t_,.r _l a ,';_:t of points) w_ l,avc fouled that an apparently
D-(linlclltr_i(u_(_l prol)l(;ti_ c:{_n I:)c:: (-'xl_r(_'_:;_;{-:t!{t,'_ rl [')--i-(lin_cl_<:,ional problem. This is
becCiil.';c; ,R;tc:ll l)l'c)l)[c'.m Ccllt l)(': c;Xl)lt".:;:;_".cl a:; il s('.nrc:[l for a fl,'-__t(or a pair of flats) in
wllicll olily tli(: D - 1 ':;l()i:>0".s(I._tit iiot flit, intcrcc:l:>t) _ro iinl)ortant. Tile transform is
choscli ill:)l ()nty t() re.drier: the diine.nsioiic_li[ 7 of tl_<: prot)le.n_ btit also to represent it
ilr _.l [cJrin [,_)i wlli{:li tll(:r_:: arc.,. _.tll(.,.(_l7 fu,,<-;t _IgoI'it!;ms. The point / flat duality
trall::iforli_.fi lilt: {;r:,_l(::ll of fl,_t:.; il_to a <,,:'.<'_ic'.t_c)f l:,(,ints i:ll/(l orthogral)hio projection
r(_iilov(,'.s tli(: ttllli(-(,(l(:_(l co()rdiil4ite.
24 December l O/f}. Geometric ]r,:ll_._-,fOt'lllS PAGE102
24 Decen_l_o.r I 9 7,c). Geonic:tric Tralle'.iorl_ls PAGEI03
i s _..,. m I m ,,.i._
In tllir, ¢:ll;,t_l_:r \,_s,:l,r¢::,,:nt two l_t_l_ic:li_:_n_ld :>,oll_liOllS that do not fit into ally of
ti_e c:alCfloric'; of the: pre.viotl_, clt,_t_t¢.rs. "lhe tcchIlicltlCs applied to the first
i_rol)lem (fis_lit_rl the:: ,_i_pro;.,in_t_: di_:Lcr f_f o "_;c:t Of planar points) provide a
contrast 1o tl;e. technJ_i_c.._, for tl_c cx,'_c.t dinm,::t,::r in ti_e pr_:vJous chapter because
the elnpl_,_.i-_ is _r_ _t_i_::kly prorlucin,::i ,_n _t_i_Ioxiln_:_te co_vc'x hull rather than on a
fast s_arch of an _:xact cotlv_:x ht_ll. Our self,Lion to the second problem (fitting
l_oint.'.:_ o_ a I_r-:_nist_l_:r(:) i_lrodt_c_-:s a _:::,',;ztr_nsform called gnomonic projection that
has the. l._ropcrty of mapI_ing £1re_t circles on a sphere to straight lines in the
Euclicl_:an I,Inn_'.
6.1. Approxirnate Dicl:_:.t_:;" of Points in "lwo Din:,:,nsions
We I)rc::,_ll(;{l i-_i_ O(N loft N) tilll(: _:_tfloritfiln for COml)tlti:_g the exact Eucli(tean
diam_:t_:r of N l:,lan;,r l,oiltt:, in ':;r:.cti¢,r_ ';.2. II_ tl_i.'; s<..cticm we describe two O(N) time
algoritl_ln.'; f{_r __t;t)r(_>,iln,_[i_!I tt_:: l!_i_:li{l_:,_l dinmr:tcr of N t)lnnar points within a
r_",lativ(.: f,_(-t()r of (1+_:). l"q io r_cI_ir:v,:: il_c i_:;t{:r time w_:, in_st use radically
(li[feru_lt t_:'cl_i_l_{:-_. Wlu:tr_:_.'.; tll_,, c:x_c;t di_in,::t_:r _ilgoritl_m _l_,(:(l the t)oint / flat
dualily a_(I orlllr_lral,t_in f_r(_j{:{:li{_l', to (_l,_,,.in a pr_l)lcm of locating points within a
t_.;ss{.:l_liu_, lt_e fir:;t _l_l,r{_xiii_iio_ ,,l,:i,:;_ill,n_ _.'.:;(.,,srotation to define a metric whose
unit circle is n r_:'!:i_llar t_oty(lo_ ;_n(I il_,: ,'.;ccon{l _l)!;roxin_ation algorithm extends the
ideas of tll_., first I)y {l(.:fi_il_,.'j a tr(_n:,{;fl,rm l)asc(I on _ "pie-slice" diagram and use of
the floor i_nction.
G. I.1. First A;:,2roxi_nr_t_; Di,_::nr_;.r:r A!::,: ',ilium
Sl_nmo:, _tl_(i Ytiv,,l [[].'-,] d_:.ncrih,-:d ii,-:,v' t,_ ,-_f_l_roxi_r_at{:'.tl_¢; Eucli(tean metric with a
metric wllo:,_.: Ill-ill cir(:l{-', is a r_:f!_l_r :,<_I)'1:l(>i/-- th,: distance between two points P
and 0 in liar,, wi(Itl_ o[ t l_{: .,;rn,_tl_,.r,i i_.::j_;',_r i(-(ion (of a partic_lar orientation) that
contain:; I_I11 P _1 ft. (l:i!l_re C-1 ill_l,'.;ir¢_t_::_;tll{', case for K = 8, sides.) .This
19qhe s_._:_."_,l ll_isi_I_:.i,l,.';_i..:{_<:o_te..ti_ehlb; L_.I.S!-I_,_;_,i C,,_li,:.'[ii('-,_.1¢llr)ribr_ivel-siiyduringFall 1978.
24 Dec_:nmt_-,r 19Y9. Geom_..tric Tr_;lnsforlllS PAGE104
approximati()T_ i_a,'; tll{: l_r(_t_{.:r'iy tll_t as the t_{iml)er of sides of the regular polygon
incre,_ses l,h_-, nt_t_r_xim,_tir_n imt:_rovr,:,'_. OLlr prol_l{:m is to find a function K(_) such
that we can al,proxiNlat,:-; tl_e diameter witl_i_ _-_f_('tor of 1 +_ by using a regular
polygon m_i::tric of K(_:) si(t_.:,.s.
_:!' o e
i °I e
xFigLirc; G-l: Point.'; A tl_I'otlgh 11dct_:rtnil_e tlt_; "oct,'_gon" mc.,tric diameter
l+ll{___.,£11_.-!!!.32- l_t DIAr,4K I:_,. tl_{: di,_h_ct_".r of a f_t_n__rset of points S in aregt_lnr l<,-rlr_,_ m_:Iric and I_::t i)tArvl h_:. lh_: f--ticlid_',._'{tt(lianletc:r of S. If
K .>.[ rl / scc-l(1 + () ]
then
DIAMK, < DIAM :_ (1 + _i) DI/\M K.
t_roor:-ll_r_ w_r,,_t cn._;_,._:;_tt_: picttlr_,d il_ [igtlr_:s t:_-2 (+:_) and (b). In
rigt_r_: [:;-P (a) tl_'. l: tlcli_l('.an dian_ctc:r i,_;d{,t(!tmin,:d by points P and Q but
the K-go_ dianl{.:t_'r i.'; _l_:t_I'i_lili_:(l by I)oi_t.':_ T ,_1 U and points V and W.
Letting I)(A,II) d_,_oI_-, ll_¢.',l::t_cli(Ic_,n (li,',.;tance betw{::en two points A and B,We cl_::fine:
r : D(T,U) : D(V,W) and R : D(P,Q).
24 [)ec_:n_IJ_:r 1 979. Gc,.omc_ric Tran_;fori_s PAGE105
SillC:_: the: IJ_t:tlic i:_ h,_::;_:d on a r_'!iuI,_r l'_-gon, the anqle o,t between lines
LT Clll(I I v a_lc:l b('tw(:._'ll IBtlCS l.U _zl(l I W is
c£ = 21"r /K.
Tile illillillltllll I,O::;.';il_l_: K-gott di_m,:::t,':r r is achieved when poi_lts T and U
are i,lac_,(I so tll,_t lin(_ TU i._;f:_r:rl,,:,.n,.lict_l,-_rto lines LT anti 1U and l)oints V
and W nr(_ I)1,'_(:(:(1 .;o tl_at line VW i.'; pcrl)c:n(tictllar to lines LV and LW-From tl_(.,.,';(: conciitio__,':; it foilovm ti;,_t
r = R cos({-z/2).
Sincc_ _: :: (r:l - r) / r, wc h_vc:
K >_ r _ / scc-l(1 + {.) ].
In l-i.q_lr_' r;-2 (1)) ti_c: [:_c:li(l{,_ di,",mcl_:r is dctcrmil_c:d t)y points P anti
O l)t_t tl_(:,, K-floI_ dia_nc:t_'r i,':; (tc:t_,.Il_in_:d l)), l_oiI_ts P and l-] and points P
9 t
( 12-r ,7_.... s'-+ .,;t,:_,_(_:,./2) - r yf_t-L--i;-/_ :_ + (s/r)tan(c_./2) - 1,r r
which i::; nl,_xinlizcd at :;It = sin(<_:,/2),so tl_at
_: <_ cos(<,,/.' 2") + sin(o:/2) ian(,:_:'./2) - 1 = sec(cx,'./2) - 1.
Since,_.-' = 2rT / K, we" have
1<,_'!_[ 11 / sc:'c-l(1 + () "l.
[]
l lt_:-'._r,:m 33: If K, = [ rt / see-l(1 + () ], tlien as (-,' O,
K -e. 13 / (2() ]/'t.
f_ro(_f . ,':;ilir:_:,._-:__s(x) - 1 - x2/2 +..., th{:: rcsutt follows. E]
First Approximate Dinmctcr Algo:-ithr_
.,_d_.... of tt_,. r_:clular K-qon mctric i)(:'.1. Let tl_: nt_/l_cr of "' .... .
K-[n/s_c'_(_ +2_!)3.
24 December 1979. Geom{.:tric 'Frarlsforn_s PAGE 106
i
2 'Lw
(A) (B)
Figure 6-2: Worst ca_,os for K-gon diameter.
2. For _::nch ol I1,_: direc::ti.nn:_ (af_<ilc'.s) O, 2rl/l.:,, An/K, 6rt/K ....
2(K-1)_/t<, find 11t_::mo.'::,t c;xtI(:m_: _:[ the N points. (This is cq_ivalent
to rct_e.al_'<lty rolalit_g ttl_:: N l:;oints and fil,din(! tile t)oint farthest to
tl_e rigl_t.)
3. F in(I th(:." ((:xact) (li,_mctr.r of tile: (at li_(_st) K points determined in Step
2 and nltiltiply it I_y (1 -t c). tt_is can l)e d(;nc: in O(K) time by a Graham
[48] scan to con::_trt_c_ 1,he conv_::x hull al_r.i a Shamos [89] scan to
COllll)tll(". tl_{: (li,_i_,'.tr,.r.
]hcorcm 34: I1_: f _zcli(lr.at_ cliam_:;(:r of a set of N planar points carl be
apl_roxiaib_l_,_l witllil_ a I,_(:L_)r of (1 + <)in O(N/({) _':') time.
Pr(.'_f: [),y l-tl_or_.:m 32 tt_<: vPlti<.,. (:'iIo:.;(:11 [(_r K in tl_e al)ovc algorithm is
sufficient f(._r tile _'-_};l_roxil_,_tiol_ of tl',e dia_lc:ter. -[l_eorcm 38
establi.';he:; ll_at K = O(N/(<.)]"2). ,%i;_{,(: th__. mo::;t cxpensi,,/e step of the
algoril.l_m i_; St_'l_ 2, \,_ can (::Oml_tita l!_t' (:-_°_i_pro>:imate diamaler il_ O(KN)
"- O(Nt(()_":') time. [-1
24 Dec_::ll_t),'r 1 979. Guonlotric, [r_:trl.<+[orlll.<; PAGE107'
6.1.2. S('co_,d A;);>roxim,_t,'> Diamct"I" Al..g+:>;'iliirn
Figure 6-3: A "pic.-<-_licc_" diagranl.
1 lit; "i->ir_-.<;li_'c'.'' di,gic_ni r:nal,lc:<-; lis to find mfficic:ntly a ._;m_ill stll)set S' of the N
i,oii_ts of S <.:,tt(:l_tllc_t tile' cli_s_i_0,t,.:r(_[ S'+_l:>l)roxilr_atc+,.:;rite (liameter of S. The center
of tilt: di,l{lr,lrn, wllt,.ir: flit: l_.",">lic_:'._+,'' n_<:r_t, cnn b_: ,_ny point on or within the convex
l/ttll of S. (Tltc.' ,<;lie,:;.:; _lcJ liot _:.:_t(:l_cover <tn arl{jle of 2TI/K ra(lians, llowever,
l)e.cau.<:;e tl_r: cc+lnl)itt,_ti(_n e_f \.'.]llicl_ .',li(:c:; n point li<:s in wot_ld then require inverse
24 Dece_nt)_.,.r 1 979. Geometric Transfor_ns PAGE108
trigonometric ftill(:iio_lz_, ll_e slic<-'.s are inst(::ad chosen to divide uniformly tile slopes
ill each of tll{,' ocl,_nt::;, Ic,.<_(liil!:tto ,':;is_l.,lcr cOlnl)Ut_{tions.) From each of the slices we
choose oil_: i._)illl to in.,-;erl, ii_ tl_,: ,stlb,,:;c:t S'. As illtistrnt(,.d in Figtlre 6-3, the point
that we (::1-1oo.'.;,:,.is citlt{,r lt_,. r,_rtlt,.::ct l{:f[, f_rttt_:::.,.;t rigllt, higliest, or the lowest,
(lepei](liilg tlpOll tilt:: oli{,.l/t_tion c_f ti;_-:-:,,;1i(',-,..We: nov/ (f_,t_-;rmine. how large K must be
to ell,';ure tli4ll thr; (ti_alitotcr or "' 'o i_-;\;,littiin _ factor of (1 + () of the diameter of S.
" _ \1 C ", ,, / / \\ ', ,,
/ /
,\,,, , , ,,, ,
"\ //
(A) (B)
Figure G-4: lllr: two _::,_r,,.,,.;R,r r;tloimu or dii_inet{.,r \vith [lie "l)i(:-slice" algorithm.
lhe.or(;:m 4,q: if I)IAM it, the: :liam,':t_:r of a set S of N I)lanar points, then
tiTe (li,-_lltet_rr [)IAMF, of the., poii_t:_ (.:ilos(,l_ from c_ pic-slice', diagram of Kslices sa li:-_;ic'_
DIAM K >.'. f)IAM _ (1 + () DIAM K
if
K >_ [8#1 +,/-_;-/2 (1 +V/1 +() /(_].
Prr_of: l ig_Ire [;-4 illlistratcs the two l_ossible worst cases. In both
cases il_: l::tlc:li(l_::,_rl dining:let in del_,.rlr, in_:,d l)y points P and Q but the
api-)roxinlnlion nlgr_rithln clt,_o:_,:.:s I,_oint,s A and B instead. The lines AP and
tT,Q, how<:v,i:r, ,'_r(: p,'{r;_ll,,.I f,_r c:ns,:,, (A) l_ilt pcrp{:ll_licular for case (B). "[he
(lasl_ed lin_:s ill I_otli figtlru.s otttlir_c t',_r,, pos:_,il._!c locations of tl_e center C
24 Decenll)(;r 1,r)79. G(;omel.ric Transforms PAGE 109
of tile _'' '"I i(:.-,_lic:(: (lia(Irllm.
in case 6-4 (A) we have
P = (P:.:, Py) = (A_..- ,'k(Ay-Cy), Ay) and
o = (o,, Oy) = (i:L - _,,(u'y-Cy),By),
where.
X = 8/K.
Letti_lr.I DX = Ax - Bx and DY = Ay -By,
r ) _2 _, " - /2 9_)([.,0) (DA -,k[)_)-+ DY'(1 + ()2 = .......................= ................:.............. .
", X2D(A,b)_ D + DY2
Equatioml (25)is lllaxi_nizecl as DY I DX -_ ,::,:,. The worst case for Figure6-4 (A)i_; thus
K=r81(:,2]. (26)For "_ ';c,_,,e 0-4 (B) w_, have
P = ([_x' Py) = (A:,,, Ay- ,'>,,(Ax-C:,)), and
O = (Qx, Qy) : (B_.:- X(By-Cy), By). (27)
AltlloLl_ilJ tl,{-_c{:_or(tiIi4_tc:'_;of point C can(::clI_;d out for c_;.se (A), case (B) iswor,';t v,/l_(-'.altll<:' poi_tt'.; A, D, ai_,l C forll/ all C:(luilat(:ral triangle (Figure
O-5). Wc.,. li_,\.,: I_av_.:or_ly to ci<:tc;rli_ii_c_tl_{: worst orientation for thistrian_.ll('. If C i_; ttl(; ori!.,,i_tf_(::_lAand B can l)c,.chosen to be two points ontile utlit circle c_:_t_-:I(:d at C;
A = (Cos(O), .':;in(O)), an(l (28)o in(O+_/3)).[',- (cc:s(O+_/,,),s
lor lin_: AI_ t__r_,,mailt v_:,,rtic:alwl_iI(, line IIQ r(.',iiiaiils hori;,,ontal (as in Figure
0-4), we re(traits; tllat
n/4 _> 0 > -n/12. (29)
Coml_iniilg E!q_lation.s ('27) and (2t_) we obtain
24 Deceml)er 1979. Geo_ctric lr__nsforn_s PAGE 110
(1 + ()Z D(f)'O)2 - D(P,O)"I.)(A,f:_):' (30)
O
= F co,':;"(6) + G sin2(6) + I1 sin(O)cos(t_),
where
F = (4 + 6_-:\ + 7:x,2) / 4,
G - (4 + 2_/r{;_\+ %,2)/ 4, an(l
H = (2X. + yr(_::\2)/ 2.
E(tLJation (30) is maximiz_:d at
tan(20) - 8 "1/2 ,
wilich is s_ti.'-;fied in tlle r_st(le of E(lu(_tion (29) _t
(J = n/12. (31)
Plugging Equation (31) into EqualioI_ (30) wc have
Since the valile of K for cn,-;e (A) ([:qu_tion (26)) is only linear in 1/(1/2,
the worst c,nse is cane (I:}), with K d_,.fined by EqLlntion (32). []
With a little', calculation wc Ilavc
]-heorem 36: If K is (tefizle(l by Equati(_n (82),tl-lcn as( -e O,
K _ r _6_/-_+_3/2/ <].
Figure 6-5: W(_r::_t cu<_:: [c_r .<;c_('ol_(lC_l)l_roximation alqorithnl.
Second Approximc_te Diarnetei" r._...... ;,-,,Uu,, tillil
1. I_ick an arl)ilrar y I-)oinl from 111c::sr.t of H poiiits to serve as the center
of tll_-: "lJic:-:,lic_:" di,-l{!ic_ili, (Ac;llic_lly, ,;I-ly poii_t v,lithin or on the convex
hllll c_f lll{R I',l l_Oillt:.; c:,:tll ,,:_r.l-vc:cl:_ tt_r: (:e.i_tt:_r of tl_e (li_:tcjram.) For
simplicily of r:Xl>C_::4ition\^+f¢;will it,':;,_>tirit{_tl_,_t th{; center i.<-;the oriejin,
2. l:c_r an (-cit_Ji_re_xilil,_ti__i_ to {ll_: 1Tttcli(l(,.c_l_di<_u/o.{c_r, I_:t the iltllnl)er of
t<,= r +qgi2(.l + .,.2<,-)l ] .
) ' ] I dl'lo[Ol Ill, PAGE 11224 December 1.q7fl. Gecm{:Lric '" ..... s
3. For each of ttl_- N i,oints (xi,Y i) (a) dcte,lliiiic', wl_ich i_uckct j the point
falls irl, _tl_l (t_) comi_ar_ x i (or Yi, (I<'.i_cilcliil:'l on tile bucket j) with themo.<;t extre.m<: v_lll<, yc;i foulld for l_'Ick_l j. We can easily do part (b)in ccnot,_l_t'_" - tiiilr_,, lJilt to _v(_i(l a l;_in_ly ..;(,c,rch of O(Iog K) steps in part
(a) we mtt--;t list. the,. floor rt_:ctio_. For the _irst octant the formllla is
i_UCKr:! r ,-L (t_/8) (y/x) J.
For tile olller oclallt,,:; tile: formulii i<_<;imil_r.
' {,I" tlio 1( cxtr_:n_e, points (plus the4. Fiild lll_: exact (li_iI/c'.t_:r I:)l/',r'_41<'
[4{}] ,';_:_ll I_ coi_.';tril<;t tii_', ccmvr:>, I_tlll _li_(i tl_c:i_ a Shamos [91] scanto fill(l tll_: lltlll',<; (]i(iftl(:{cr, \.v(; Call COIi/[)lltC ,_'DIA_.'_i,t il_ O(k) time. Return
DIAM K = (1 +(-)DIAM K'
as the estimat_:d (liamctcr.
T!l_!(.)r_'!l_ 37': Al_ _r)l,r_:_xiillotiorl DtAMK, of the Euclidean (li_lmeter of Nplanar l)oiilts tllat s_ti.'.+fi{,:s
I)IAM / (1 .t-d) < lJltiv_!( _ (1 + (7) DIAM
Call tJO (:Ollit>li[0:(t ili O(N + I/() tiil_c::'..
i1
Proof: lll(;or_:lll (_>5 clcfine, r; _ii: vcili;<:,, of I( reciuirc(l to Ol)t_:lill an
(-al)l_loxinlnle (lialn{:l{:r flc;m a "l>ic:-:_lico '' dia.(iral;l all(i Tlle.orom 30 shows
that lhi:; fllllctioll i1_ (7)(1"4+ 1/(-). [7]
6,, "9, [::';'_" llii..:, Oil a i i,:iii,7['it]_i'O.i i_linej Po" "_" ''"'_
We can somctilnc,_ solve: a i:)rohlcm ii_volving point<; on a sl)herc similarly to the
correst)ol_din(i I_rulJl{-:lll i_lvolvit_(t !)oinls iri ,_ i>lai_,::;. For examtJl(-_, the spherical
convex hllll of N .';plle_rical l_Oii_t,':;is ,';ii._il_r to a t)lannr convex htlll provided that the
N splteric,_l t>_iill<-; all li_:>.witt_in a hcir_i__tbl_,'re.. If, ho',vever, there is no hemisi)l_erical
cap tl_at contnil_.'.; all N I>oilltn, ti_{:n It_<: (i:ll('rior o1 the) sl)herical convex hull is the
entire splierc,. Ih_:; cr_l_;i,_l t,:-st (for tll,:} ,,-_r,l_oric:al convex llull l)roblen_) is to
determillo if lti{zr_ z cxi:>t"; ;_ l_<:I]ii:;I)t_e:iic;_! cap that contain,',; all N points. This
prot)le.lll is a ,'_f_c,._:'i_lc:+_:7;_::of tl_e t>rol_l_:,lil of detc:,.i'n_ii_ii_g tile densest hemisphere
24 Dece_l_l)('r 1970. Geom(.'.tric Tr_nsforms PAGE113
detern_i_:_l l)y N i)oiil_r_ on a t(,-(lin_ei]sioi]_:tl sphere. Johnson and Prel)arata
[SG] II_lV(; ,';llowII ttt(' clcs_,',0':;t hcnli,_;t_t_crc l_rol)lem to t)e NP-complete when N and K
ar_,. arl_ilr,try. (l{-_r fix_'d K, i_m^/(:v{::r, th,::rc is cn Cb(NK-1 log N) time algorithm.) In
tllis s_cti_i w{: will (:ui-_[il_,. o_Ir:;clv_','; t_ tl_c (z;i_',_i_Icr) prot_Icm of determining if N
spherical i_ilil,'_ _:41r_,'_111_:: fit into _ h_::_l_i.sf:Jl_,:'.ric:,:_lc,:_l).
lhcr_: ar_. lhr_,r: O(N log N) time __Ig<_ritt_ms for determining if there exists a
hen_isl,ll+:'.t_:' tl_t collt_il_s _t (tiv{::ll ,_;(,.t (_[ t4 sl_t_:,.ri(:al points. One solution is to
inter,';c(:t tl_: N I_,_lf-:_pac+,,'_ tl_at cc,l_[,il_ tl_e .':;l>l_crc and whose boundaries are
tarlg,::-'.nt I_, ttl(: ,_l_tl(_l_: _t tl_,:-.'N poil_t_;. If tl_c r_::,_;utling i)olytope is _nl)ounde(t, then
the N poil_t.,-; can b_: iit intr) c_tlcmi.':;pi_,-:ricc_l c,_p. A sccoild sollition is to construct
the (i_,1 of tll_:, Sl_ll_-:ricul Vorol_oi (ii_ig_,'{l_l i_ O(N log N) time (Section 4.2) and test if
one of lh(: fac_-,,'; of tl_:. di_£1rr_m ca_l c_.)_t_in a hcm;::,l)hcre, But the most interesting
solution rises a tru_::;rorm c_!le(l a gnomonic pto/ec_ion and is due to Yuval
[1(),_:_]. Yu\/_l',', al[torill_m t_r,(:s gnoi_lorlir; projcctic_l] to transform a problem that
il]volve:-; tlr_'_[ cirt:l(,._; ()_l a sf,l;c,.re [o a t:_rot)le_l float involves straight lilies in the
Euclid,;an I)1,'_;. 1o ._,t,_rt .'-,in_t,ly, ',*/_: will firz;t _;olve the two-dimensional case and
then ext(:_t(t ()llr r(_::(_lt [o t.lir(::e _;(t [(:)(11(:liln(:t_t;ioit:;.
6.2.1. ll-;e l'wo--Dii_;ensio;_::! Case
lh_, l\^m-._ti_nc_l.r,i{:,_,_l t-,robl(:m is to, d_,t_:r_in,:: i[ tl_cre exists a semicircle that
COlll;:iil'IS _; £liV{:li ,',(::t O[ tq (:ii(:[il_<r t,{_i_;,';, lli<,./'(; ,:_r_;two _,^l_lys iil which we call solve
tl_is ill O(N) tit_l(::. CII_: w,:!y i,',_to [i_d ;I1_::14_r!]c:;[ £1_-_t_ I_ctween a_y two consecutive
poi_lts of tlt_, circle. 1[ tl,i.', (I,il) i,'; gr_:,_t_'.r tlt,'_fl or equal to a semicircle, then all N
points c_l [il. i_ tl_c otlt_:::r scl:_icircl,,., qonzalc:!' [47] describes how to find the
larqcz,t !];_t" l_etw_".r:n N _lI_,'_(_i'tcd poii_ts on a line in O(N) time (by using the floor
func[io_). Witl_ a t-;_n_ll ino_lirication, I_is _lgoriti_nl will find the largest gap on a circle
and thtis ,_,olvc the: two-diI_;_,._'_:,iot_l l_r,:)t_lcm in O(N) time.
The I_rfl,'._t .q_l _ sol[ttioi_ (Io_:,':; i_ot, I_o\v(:_vcr, extend easily to the
tl-lre._:-dili_¢-,,l_:;iot_,_l (.:l_tt(:li(:,*_l) t_r_,_lt::l;_, ',,vtl_::r_::(_,the gnoll_(_I_ic projection solution
does. Fittt_r{, G-C; ili_l::;tr_t(::; t;(:)w ti_c_.!];;(;it;c)tlic l)r(_jcction altioriti_m works. Let C be
24. Deceml:)(-r 1r)7f). G_:om_:tric lransforms PAGE114
G R R R G R
Figure G-G; Gnomonic I)rojccti.on of t)oil_ts on a circle.
the cellt(-'.r of ill{:; c:iicl(.: a)ld l{:'.t L l)c a liltc: tangent to tile circle. The gnomonic
projection tranr;fornis eacll c:i)'ctJlar pc)iilt I) to a point P' on the tangent line L such
that i:)oi)its P, P', alid C ar_, c()llii,e.ar. Tlli:; transforzn is not ono-to-one because for
each i:)oint P' on lint: 1, tl_:r_: hi{. t,,,,/{)I',<)int{, oli tl_P. circle that map to P'. We can
alleviate tltiu _._tnl_i!.ltaity I_y _liviil!l cac:f_ of Ll_cN I>rc)j{:cicd points oi_I..one of the two
labels "r{-:d" or "!lre._'l/", If a {',ir{:til,"_r f}{-fil_t P is _)n tltc _o/:)half of tile circle, then it
maps to a I,oiIlt P' I_l.),,lle(l rent. If poit_t P i:..-;on tlt{_ bottom half of tllc circle, then it
maps to a i)()i_Dt I"' lal>r, ll_:_l rli(:{:n. Wc' no_v tJ:,,.::.qE_c_F_()nicl_rojc(.'.tiol_ to transform our
circular f)rol)t{:m t() a lilt_,ar f,roI)l{:iP, tl_at \,,,,,:_(;_i/ .';_Iv(-'. ill O(N) tim_:,.
ll_c:_)r,::Iti qS: I(:t ::; l)c: a :;,:::t oI N I,{_int:; on a circle with ccnt(::r C, L l)e
a lin_: t_-_tl(:'t_t |() that (:ir_:l,:, ail(l ,':.,'he: t1_: ::;_,.tc_[ N l'_(l arid gr{:en points
ol)t4_in_:,.d l)y !tnc)lrioitic,.'_lty pr(_jc:ctill!_] S Ol_tO line L. There exists aSelllicil :t(:: _,tlat _:()_t4)i_/:_ all of tl_':, _)min_:. (_i"S iff 1....._,,:.,red and qroel) points
of set S' ar_: .t.;{:p,'_rablc.
Proof: P_rt (1): A:;:;ttlil(,. tll_l, tl_e.r,_ {:×i:;ts a <:c,.micirclc; T ttlat contains
tile i)<)iilt'.-; (_[ S. I_.:I tll_: <:ncl!:>oi;_t:.;or ::;(.il]icircii; T l_e called T1 anti T2
wll(.:r(.: -rl i_.; ()tl ill{,, t<)l)i_at( of ll_: cir(.;Ic _i1_t T2 i.'; on tlte. hottom llalf.
Sill(;__ I1 ali<l 12 _;(' (Ji<t;i;{:[i_c{_it:/ {l,p{_:;ii_: ('.<loll oillc.,.r, t!tcy project to
the:: <;anl(: i,()il_t TI' : [2' of lii;<_ f., W{: \>,ill ,:;t_<)\v tll{:_t i,(:)il_t fl' = [2'
s(,.p_trilt(:,; rite; I'{,.(i <_li(i !ll(:t:it l;Oiiit'; (); I., f.,ll':/ ll;_l){_r circtilar l,c)ii_t to the
loft (Jr I_()illI ] I Ill<It,:; to:) _I I'C'.(! t)oii1{ [flit{ i<_ {() {tl(: ri.cjllt o[ TI'. Similarly,
_ll/7 IIt_P(_r (;il-Ciil<lr t>{Jii',{ to; ti_(' rigl_t c,f t_oilil, il iIi,_f_:; {o a i_',(l l)oint that is
I(:ft of "11' l;lil r()r I{)v/<,.r l>(_rt_; (,f flit; tirol<'., l+'.ft alld ri(tllL tire, not
r(--.v(::r.<;c:(l. A ]()\,v{_l (;irctllar f><)ilit t<:)ti_7 I_:[1.of i2 l;l<if.':: to a cite:oil point to
tile: I<'.ft ()f: I ._) {'ili(l _i l<M/_:r ('.ii_:lll,ir t)(_ii_t ti_ t!l,:: riElllt ()[ T2 I]icll):-, tc; {:t greenpoillt to ill(: ri{illi of IP*. ,<giiic<: .<;c:li',iniicl(,. I co',_tailIs all N l)oints of S,
thor(-: arP ()i/l)/ {WO CCl';(:,'; [_) COP,'.;i(I<:I':(1) all lil)p<'r t>oint,:; oi_ S are to the
24 [)ec(_ilmt_c:r 1979. Geomt:,,tric tr_111,':;_[oili/,s PAGE11,5
left ofll ariel all lower l_oit_t,_ ar_; to 111cl;:ft of T2, or (2) all uPl_er points
are t(_ llt_,, ri(llil (_f -I 1 ,_ild ,_[i Icw,,,'r l_oi',lt,'; ar_: to the rigllt of T2. [:or each, ,1 _ ..of ll_:r;_.' l\^/,_ r:c_.';_:r_it i.'; r, as:/ l,_ .':;,':,'.i_>, _{,_'.ahc_vn observations that the
pcfii_t -11' = 12' :-._:{_,:,r,Jt_:':;ti_(: r_:{l <;i_l (,r_:_..l_F,_:,il_t<;of [.
P,_rt (P): A<;.',titli_; tll<_t tlt{: r,::d ,,;id gr,:.:,::',_t_oink:.; of L _,re sel>arable.. Let
f)oillt 1' l_c_g_tl],, I)(_ilit (:_il 1. tllat :;c:i_<tral(:s tl_(: r(,.(i and green i_oints. There
ar_ l\,,/o _:irc,_l,_r I,oil_t,';, "11 ai_(l 12, tt_g_t t_roje.c't to point T'. To complete
ollr I.,r(_of wu I_t_',t ::;ilo\u Illal. o1_{: of tl_,:,,two s,::micircles dctcrmincd by T1
and 12 _:(:,_t_i_,,, ,_11uf ttl_; l)oilll, ,., __f <!;. We (,l;;il ttie (lc'tail.<_ be, catise they
are: v_'ry ,'iiillil,_r l(._ 111(:ca,.;{' al_illy:,i:; (t{,.,';cIil)_..(l ill Part (1) ill)ore. L--]
ll_:(_r{.m ,_,.q: C;iv_,.n N l':,__int.<-;_l, a circle, ,.ue can determine in O(N) time
if tl_:r(: _i:xist', _ ,;c:micirclc tl_at (:c_ntain:_ all N i_oil_ts.
Pio(_[: By lllc:,:>rc'_t S;:; \,./o: c.<_;t [rqli:+irorlll 1.ilc: prol)lc,.m of dc;terminil_g
iliCIti:,;i(_il ill ,i :-;<'t_ii(:irc:l<' to c_ l_r,;l;l,.'.;ii of (I{-:tc:riitiiiii/g ,<;(_parability of reel
iSll(:l (ll(',i:ll I_C_illi:,;(_ii _t lilly.. ,c;ili(.:_,\'!,;: c;{ili (i_Jtc:rfllillo if th,, rc,d iilld green
l_Oilt{:: {irr'. :.:{_i_;iri_t/le, l_y,_;iiiil_ly (:<_liil_,tiii/!] tli{_ Iiiil] C:lll(l tit(IX Of tile red and
(Ir(:c;il l>(_iilt,<.;,V,l!_c:_li_<,c)Iv{,,tli(,, t\vcl-cliln<:li:;ioi_,_l l)roi.Jlc'nt ill O(N) time.. []
6.2.2. TIie "l'i_re,<.'-Ditr,,_i,<::ior'_::,! Ca.';e
Tll(: git(_iilr:llic t_r_,j_.,c:ti(_n i.'_;_:li_riiiciI,,_l fcattlrc of tl:c O(N log N) time algorithm for
delertnii_iiig il N :;l>l/(:ri_._l l>Oili_'-; ii_: _:,n ,-i l,_:iiiis;_ii,:ricai cal:,. The definition of the
gi_oinul_ic i>ioj_,clio_ i;_ tilr0,.c di_e.i_:-;ioi_.,; i.'.; a straigl_tforward extension of the ":
trall,%l'orltl ill tWO (liitl¢'li:,ioil,'7,:
i_e.t [' I)_: a I)()iiit oil a <;ril_{;rc' \vitt_ c(:ntc:r C _ind lot plane L l)e tangent
to tl_o: .<;l_ll(.:l<:. -l lie,. r,,l_(.,ilic>i_i(:l>r(,j,..{'tic>i_ of <_t::llc'.ric:alpoint P onto plane L
is Ill(; l_()iltl [:" ,';tie:it {lt_l[ l.)Oilti,'; [', [:", and C ar_: coliinear.
"ii_is {r,riri;:,f_)rili in;_i_,<.,gr_::;_t (_:iit:l_:s Oil c_ ,'.;lille:r(:: t(),',ti_i(ltlt lii_e'J on a plarle, allowing
tlS 1,0 tl:;(' kll()wn {_lg()riiiint,<; for iillC:<ii oi>jc',ct,', ii_ ti_e [{uclideail I)lane to solve oLlr
si:ll-t_ ric:;tl iirol_lr:in.
We ,'inr_i(ii_ tl_: lal_r_t."; ir:d (_nd {ii(ei_ {o tI_c: IJi_jc:ctioits on plane [. as in tile
tWO-dillit:li,'.;iCnl{ll (:c_:.(:'. l[ lilt,:". ::;c:{lirlc_ii{ l->D̀ COl_{,iiils pOillt C, tl/e',ll we label P' red.
Otl_erwinc, v.i(: iat_c,.I l" qrc:en. Wc,. i_c)\'s lI,<._<:gno!'.,_c);'_icprojc.:ction to transforlii our
tllrc,,u-(liiil(,l_::i(_i_{_l t>r_l_l('_n to a twc,-(iifnc:i;.::,i{q_,_l I_roblcln tliat we can _olve in
24 DecenlI_er I {179, Gc.,.on_.,.Iric TIarl,'.;fOrIlIL, PAGE 116
---.................--'%....G yJ ......._/ I "',:,. _'_I \
_--J _\'! 0"'-J.ii \"\ \\ _ i /j. . . \\ --_.L_,../.-" "- """ i-_
Figure 6-7: Gl_omc)i_ic i)rojcctiorl of f_oints oil a sphere.
O(N log N) tiln(_.
[llr:or_:,in 4C): l_:t ,<gI)_: a ",('t of N i>,_iiits oil cl sl:_li(:ro witll center C, L be
_-i t',lallC: lll,-il it; l,lli{i_:ill l{J ill_: ,<,t)l_{:r_:, allcl S s he: tlic: set of red all(l green
I:Joii_t:_ (:,l>tail_r,._l 1,Y' !lil_-_iii_>tiic'.ally 1)r_Ljc'.ctiilt:i S olilo 1. ]l/ere; exi<._ts ar t t
lloliii_,t_ll_:ric,:l _;Ol_ tll,_t c,c_itt ills; all _,_ c,_: tJ(_iril_ o[ S iff tile: _;ots of red
alld {lr,<::e,I/ I_<_iitl::i fir <,;r atf'. ,',_.i_arc',lJl<'. l_y _t fili_:.
I-'rool: llit, (l,,.t,_il:; i:ti(; <_i_alo{.i,'_tiS [_ t!_C" l_roo[ [<._i"tll(..' two-(liinoilsioi]al
ca_;(:. Siinl>ly i_;l_li_c_: (:irr:l_:_ l)y ,<:l>hc:rc_, <;Piilicirclo t)y II(;mi,';l:_hcre, oto. L-]
i,< {/ G\
Pigur(; G-8; Fx<'_i_l_l_:: of I_On::;el),_ti,:_l_l(; ::;(.,,t :!; oI" rc(l and greell points,
24 [)e(:_,l_l_(:r 1979. Gcom<, lt ic "l-Fatl,'!;foFltl5 PAGE117'
We liar(:: jLl:;t r_:_ll_(;{:,.I tll,:; t_rol)l,.:m o[ dctcrlt_ining if a set of sf)hcrical points lie in
a hemi.',l_l_r_', t{_ _t_,. i_r(,i_t,i,.ii_ of (lt:t_;rtninilzg if two plal_ar s_-,.ts of points are
,,il,}ll}t):; i;l'l(l t I .... t.Sel_aral_l_', l)y ,'; ,',lrai!il_t tiI_{'.. '-" - ,,_,:_ [.q4] t)re.';(.'.nt an O(N 1o9 N) time
sollltion t(_ lhP. l_l,Jna_ ::,,::l,,_r,_l_iliLy t>t_,i,I,.:_. ll_{:y [ir.'_t make tl_c: observation that two
I)l_lnar ::;(:l,'; ol i_(_,ilit,'; ,_i_,. {;,-:_l_i',_l,l<_I_y ,_;1;__ if_ tl_,._cof_w:,x hulls of the two sets are
s_,par,'_l_l(:: by a lin,.. 'liar,. c:_\.,ex t_iII:_ ,_I{.: .',el),{Fal;l_.: if_ their int(:rsection is empty.
(5(.:e. Fi!.i_lr.r; (;-,"; _>r ;_i_ cx_,;l_i)l{'.' of I_,,I_::;_:paF,_l>!(:,':;,::_s of points.) Since we can• ^
c(_sl_(;t tt_:', t_^;{_ (;(.,_v_:x I_t_li':, i__u_',"" Io!:! N) t;I,l,-; ([48]) an(t tl•_(:n intersect tl_em in
O(N) _ii{_r(: titiic ([,_14]), v,_c {:{_n H,'t._:ii_lil_: ,':;,'.i_,,F,il,ilil.y of two l)lal_ar sets of O(N)
poinl:_ i_ G(N 1(7!1t,]) iiI_l,,., ::};i_,::_:ti_: !.l_{)!_olli_: !;rojc(:tion of N spl_erical points to N
planar I)oi_i.'; co.';l.'-; ol_ly O(N) tili_{;, we l_ave
ll_'_r_:_n 41: (;iv_ll ,:_set So[ N ,,:;pt_:rical poi_ts, \,re can determine in..
O(N lu!'l N) tiI_; \,vl_(,tli(:r or l_ot all N poi_t:; of S can t)e fit into a
I/_::lni:_l_l_" ri{:a I cap.
6.2:.3. TI_:" Fou;--Di:_cn:::::o_aI Case.
..... ..... ' _i_yi,(:i_:,f)h{:rc ,, tl_(;_ in O(N Io0 N) timeItr 5, is _ :;(:i (_f I,l l_C_il_l.',c_1 ,_ r(_l;_,_,_,_ .,,,Ic_ll_i,
we c;a_ (tr_:t_::rmi_{'. il its{; H l',(:,it_t_ (,_ ,'; (;a_ !)(-, (:_(:losc(:t in a four-dimensional
Ilemi{_t)l/_'ri<:,"_I (:at,. I l_: ;_i!]orilI_n_ i's _tiol{_{),_tls to ',.lie algorithm for the
tl_r(,P.-clitl_,:I_:,i,.)l_{_l c:_.,:;{,. W,, li_:,i) tt_c F! :;I:,l_,,;i(:al l,,_i_,::.; to H r{_.(l al_d green i)oillts in
E_(:li(l_:a_ _l,r,:_::-.:,l,,_:_' f,y ,_ (_r._:i:_,_:l;::,i{_l_l) r;I_omonic i_roj(.'ction. The N
hyp(:r:;l_l/{'_i_:,'_l f_(::,i_i:; lit ()_t _ t_c,.i:_i-l_y;)_".r,_;pt_{:r{"iF[ the red and green points are
sr::,par;_l:_l_: t_y ,_ i)l,_,::. W,,, (::a_ d(:tc_,i_t_: .':,_::i_ar,_l)ilily of tile red and greel_ points in
O(N log N) lini(,.. II_(: [ir.';t ,';[_:p i.'; to c(_IIStll.i(:l, tt_c (:(_nve.x I_[_tls of tl_e red and green
poi_:s irl C)(H I__!:tH) tiirl_ ([83.-1), 4_n_t tt'_:l_ itlt(,.Fscc:t tl_c,, two convex hulls in
O(N log N) ti_,. We,. (;_ col_:.,tr_lct t.1;<:i_ltcl,';{:cti<,n l:,y the algoritl_m of Muller and
Pret,arat_ [1'3] or l_y al_y O(H log Li) tim(" algorithm for intersecting
(tl+ree-(lin+,:'_l:,io_i_l) l+,+lf-.';l,a_:c.';. I[ tl+_: il_t,-:rs_:ctio;+ of tile two convex hulls is
empty, tl+;:,.++ flit:: N l_yl,c:rt-;i+l+(:::Fi(:_:l tJoii/t-:; of g call 1:)(: e_+closed by ,3
hemi-I_yl_cr,';I,li(:ri(:_l (;al',.
24 Decelnl)(:r l£iY,q. Gcomc.tric "tran:;k)rm,_; PAGE118
6.3. Summary
Tllis cllal_t_.'r I,l_:'.'.i,_'.lii,'; t.wo diu:.:;itnii{Jr ,'.,:'t,':; of prt:,t,l{:ms ,:_n(l tc;cltl/i(lues. For tile
ai)l)roxim,_te I ilcli(Icall (li;,_,_¢:t¢:r of n t}!nn,-,r .';;-_t,,3f l)(_ii_t,'; \,'./(:'hav,:,, been interested in
a fast {_l,l,roxisn,ltc c:{,_\/_.x i_l;ll at!:;(_;iIl_l_. 01_(-__l_i_ro,_(:l_ i.'; to .,;ucc(:_sively use
rotati{,n to al,l_r()xinlal_:', tll_: I ii(:li{l::_rl lr,,:t:i_;, (:,I_i,_ii,i;_q arl O(N/(rt/::)) timr:' algoritllm.
A faster _lfloriltl_ (:_l_ i,{-'. (d>t_ii_:.'d l)y a l,,:,_titi{)_i_g _i,l,ro{_ch; il/ tl_is case we used
wedgc-.'._l_,'ll)(:d "i,i,.:-:;li,:,.'.'," or "bl_¢:k¢:t:,," !,.,i_:l(liF,g an O(N + 1/() tim{" algorithm. This
algoritl_nl av(_i(t.':_ _l/ _.'xtr,_ I,_::[_r oi" C}(h._!it1/(-) by ttsi_:i tile floor ful_ction to drop
point,_ irTlo Ilia" aPl,r()l-_rial._" "_,iic_:'."
To (let_-'.rmi_c ir tll(:r('. (:;,:isis a l_,umi.',l:,ll{:r_' [hat cow,rains all N of a given set of
si)he.rical I_oint_; w_.: f_{l it _:;{.:itll to apl)ly a gnom¢_ni(: projection. This is because
a hen_i.'-_l:)l_(-:rc:i':, I_()_tit(l,:(l l)y a !ii_-;,_t cir¢;l¢:: a:_d i.i_{:::g_on, o_ic I_rojcction maps great
circl_:.s on a .'-;I,l_(:r_:' 1.(:_liil_:.'._il_ ii_:: [:_cli_t,:,_n t:_la_r'. finis cn,'_blcs _s to use a fast
t)lallar alg()rill_n_ (_;Cl,,_r_l)iliiy of l,i{_T{_r ._,_.'; of i_{)ii_t.'_) to solve the st)herical problenl
irl O(N log [,l) linl_:,.. ,%i_,iil_lly, N l),fil_t:_ r_n _, [o_tr-dim_::n,'_iul_,_lst)hc'rc can l)e mapped to
Eucli(l_:_._l tl_r,;_'-:;i,,_;{' t,._ ()l)t,_i__ a l)roi_i :_il (::,{:'.i,_'I,_bili_y of two ti_rcc-dim('nsional
sets of i)(:,inl:._), ,,,,.li_ir:li\t, li: t:(ill ,',OIVC ill 0(_'_ l')t; r';) lini;:,
24 [)cc_:_i_l_.,r i 97(.t. G{,om,:_ric ]r{ll]',:;lort,,1s PAGE 11 9
7.1. Tra;_.':_orlns _;t,,(lTecl.ni,':_!es
]l_is tl_::.,;i:; i_l_::;<:_,i.,:,_ t_{:-w t<:,::l_ni{itl{:_ for c(_i_;tilt(:-tiot] of fast geometric
al.9oritl_l_:_ --- tier.: iz.'-,_(_[ !:i,.()__,,tri(: t_t_:r,f_Inis;, Al[llOuEll_ ma_y different kin(Is of
tl'ailf;[{)llil:; ill'(: I_r_:.',{ttll_:(t, ii_(_:;[ f_,il il_tO Ot',_' (_[ t\,'/o Cl{t(;.':;(!'.s
1. trall.,;[Olllt.'; t() (:_)ll\/(:r[ l:_lolJl(:li;_; ill,it {;l(:.,. (:xi:,r(:,_;.';(.'.(l ilt t('rlllS of circles
or :;l_l_,:_r(::-;I_:)1,1()I)I{':i1_:;,I,,_;. /_r{" {:;,:1_1¢::,::;,::(iin [¢:t'llIS (:)t" lil_(::s or plane,),ariel
P. li';tll,';i(_tlll.", [('_ (:()llV(:l[ pl'(,q;l_:lli':; ',il_ll ;_r(: c,_t_r_:::_-_cdill [t:'.lllIS 01" tints to
I)l'(_l)tt::lii.q/l_,_l i_l_ i_xi)l,:::;,';_:d ill [i:ll'll;,'.'; ()f l',c:,i;;t,';.
l-ran.';l(_rm:_ il_ ll_,, fir.',l c!n:;.', Inai) l,oinl._; to)l)oii;t:-_ _{t transforn_-; in the s(.'CO_l(l class
are (lt_ality li,_:;[{,r_n_;. II_ Ai;pc:ndix Ill v..,c,list the. trc_nsforms used in this thesis,
tl_eir inll)ortaI_l I)rOl)(;r[ic:s, _:_n.:lsome of their _l_',piic_tions. In addition, Table 7-1
s_i_n_ariz_'._; "tyl,i{;_l u.';c;.':;" [or fot_r or tt_e trai_.';forms tl_at hc_ve been particularly
usel_ll.
24 D_cc'nib(::r 197,_). Gc()m_,,tri{: "ili_;]:-;[()rln:, PAGE12.0
Projection (ori, l_<)(lral,l_ic (_:""radicil")
,_(Iv('a K-(fintei],';ion:_l t_r_)!)lc:lr, as n (K-1)-dimcnsional problem.
(l_edl_cinEi (ii;i_(::i,';ic, t_{_lity tyl)icnl[y simplifies a i_rol)lem.)
Embed(lir_g Solve: a t<,-_limc'.l_,;i{)n;_ll:,rohl,",m ,'_s a (K+l)-dimensional problem.
(11_(: extra d{:gtc.c: of frcc, doH, can sometimes allow an
il_tc:rt)ret,_tioz_ c,r the,. l)Iol)lem wi_i_:l_ i,s not possible in K-space.)
Point / lint I)L_,,liiy S_,Iv__ i_ 1)r(_l,l_'.t__invc, lviI_it fl,_i_; __::,a t:)rohl_:nl involving points, if
I_,'_l[--:,i_ncc:':; (l'[t_,i/_I:l ' tll,ll'l fl,./';) nr_; involved, thel_ the
• I_nif-:;l),_:_:r; _;,_tt_r,_ii:/ l)_rtili{:)_ ii_to two) s{:t,'_ (I,]I_PI!:R andI()Wl I_) :;it_(-:e Rn(:II I',;it ti(,t_:rl;lill_:s lv:/o hai[-sl:_aces.
Inversion (,':;t(:rc:f_qral,t_c l_roj{:ctioI_)
Ccm',/er[:, I_io',_',<In:; i_vc)l\zirig circl(!::; (spllcrcs) to problems
ill\/c_l',/in!:l li:_c::; (i_Ini_(:-;). Si;_c(:: (I:i iI(::](:__} ( S l "} l i { : 1 t (:: : ; ) ('_ I I e intimately
l't::l,J+it,:(I [(, ll++", lit+{;li_'l+'nl+ ai{:tric, il_vcrsic-_n nlcty be useful in
l_r(_l_l_'.lli::+it_v_)l\/il_g tl_-: I tic:it_l_'.,_F_(lis;[:;,tllC(_.I:,(-:t v/ e el] points.
I al_lr, 1-1: t lc:l_ri::{iic,_, I{,_ us_:'.(;f ::;one(,.transforms.
7.2. New Re:;',i_ts
in tt_(: l_rcc(',(liti[l (:l_,_t_tcr:; vie l_avc I)r_:.t;{:lit('._l {.;cv(:ral exall_l)les of the use of
geom¢:tric lr,qll:,[()llll:;. (.;Ollt(: (_[ [il(: Ill,ljc)t r('_:;tl![s _lr(:'.
-We rc:lnir_ I1_" [lJ(;li(j(I'_,l}l V{)ll.)l'l()i ciingraln of a :;,::t of l)oil_ts to the
cony(:\ l,t_li _f n II,_ll::,[_)rln{:_] ::,,_:to[ l,oint:;, yi_'l_lil_,'l an O(N log N) time
l)lallar ,_ltl_rill_in, wl_i(:ii i:; (q_til,i,_l t(_ v/itl_in a (;Ciiit,[,ll'l[ f,_(:tor.
-W(:: II,_ll:,[(_rlll ill,: l_r(_l)l,:il_ (_[ fi_tti_{:l pli;.l_t:g Of ::;tll)l)Oli. of a COI1VeX
pc_lyl_,._lr_ l_:_ 1t_: i_ir,l_t_:_ c_f fin_iil_:! {_11__\,',:rl,:_i:_l_i_I!:lre.gio_s _:_nlong two
str,:_i(tl_l-lil_,: t_l,_l_,_r!tr,_i,l_:,. ll_i::; give::::; al_ O((N + K) log N) time and O(N)
storai:l{: i_l!t()ritlili_ [_,i (:tH;;i)llti;Ilrl [t'l_: i:ll_::li(Ji:,lll _linmL:ter c)f a set of N
polaris ill lllr_:_:-:,l_i_{,, v/l;_:i(t K i:; tii,: l_l_il),:_ _-)f l),airs of a_]tipo(tal
v_::rli(:c:-_ (_[ li,_t;u_i\;_:x lil_il uf [lit" ['] l)oi_l::;.
- We relate tli{,, il_t_:r:,(::(;ti(_ of LII"Plil_ Iliil[-,:;l_(_c,(:,*:; to the convex hull ofGf:_a filiit_:', b_.'.t ()f I_(_iilt:-;. tllis 1(;,:_(1:.__,o all ,.._., tug N) Lime altloritl/m for
24 Decr:inl)cr i 979. Gcorn{:tric Tr,:_il.,:;fr)rn;s PAGE12.1
col_:i, trtJctil+!l tile', itlt{'.t'.;{:(.: ti{ >it or N tJI" I" [!7II I:t+r(.'(:- di nl(:n,_;ion alr,t/'_
il_li-.+l,,_(.:,'.'.;, \Mli+.:ll i:; {+I)tiiil_,l t_ ',,vittiirl <_c_+i+:+I.,+titfa(:tor. ':u We apply
tile,, fl,,,:+i tltll,,{i(+tl t_:_ (+l.+t,liil ,:,li 0(;,,[ + 1/(:) tinl{ + +tlgoritlim for
_._l_l,/(_xi_lt<,tilt!l tl_c_ di,_t_+,:..t{,r ()f N l._l+_n_,'rl)Oilit::; to withiil a factor of
1 + _1. (llli-; +_Ii_.t[}_._tll.lcy, F_.,_.'....t,_t_cI i_'r,.:::l:>{:_r{._ta's[7] O(N + 1/() time
I)latl+_r ;+lfi(>ritl+n_ ar{:: tl++_I)c:.':+tkilc),,vn al!:loritl+ms for apl_roximatirlg theEuclidean (ii;tln(:tc:r.)
-Wc tl'i_ll:;[()lltl Ill(; tlIli+)ll ()r N I+l;,.llar disks to an irltetsection of N
t llr(,.r,-dinl(:il';i<:)t_l I_llf-.'._l)acc'..';, yi{:lclin!i att O(N log N) time algoritt'_m for
- ]lt_:r(: i_l(: i_l:;o it IlIllltJt(tr (J[ iiilll,,_i i)tl[ ll(tW I'(:,';tllis:
, l r)catioi_ or all <_ri,itrctry poiilt i;i a <;(:t of I'd pl,-il'_ai" disks in
O(l(_q hl) liIit_,, t.,illi olily (::,(I,.,'.I_)!:t[4) pr_:i,rocesr;ii_g tim(:', and O(N)
,,t( r,_!l(: (_; " .;>," _ , e.ctiol_ 3 .,':)).
:_.:()(l',I k_._l[,l) liil_ ,'_l!i_;ritl_n_:, f(,r r'{_n.<._trtictilig cl(_sc:st and farthest
i_()illl V_:_r_)li()i(Ji,i,[!V,:_t_tti i_.,i' t,_ lOl (_S
;I (:C)lt\/('X N-{loll (G{'..c:liol'i:; ,].;':' (lli(l 4.3).
>t I)r:l_:rmiliii_ct irl ©(I<,}lo 9, [.l) tlnlc:: whetller N I)Oi/Its orl a
fOlll'-itllilC:ll'.,it_l'_,'_l ";pti{.:r{: t':i:_t_ be: tit in a homi.':iphero (Section
_.2.a).
7.3. Opei'l Problorns
Tl_el'e c_lr: r,lill ::;r;:w{'ial l_r(>l_l{::i',i_:,ti;,,t i',::;ii;Ciii'l tlli::;(;Iv¢:(l. ]fie list below (lescribes
sevt::ral of Ill(: Iti,-ljr)r (titl.<,{,ili_lii/::l .f>rtllJl_.in<,.
-01](: til" lit(: li/;_j_ll llii:,()IV(:(l t_f;l>ic:i:t:_ of tl_is; ;.:Ic <,i::, is to provo art
[7([q l()ft H) iiai,: lr)\,,lt:l l_C_lliic-tl'oi (:_:,iiipttlili{.l lilt: Lticlicl_i,.al/ dietractor of N
i)litii,ir i>()ilil:; ilii(lc,r _ i,le_(l_,loi (:(;i_ilstii_tiOll ::;trol_r.I t".l]()tl{lh to COlilf)tlto itill (}([,J l_)ql N) /iili_:. (/",i,I)(:il{li>.: 11 (It:.';c;lilJ,.::_ ai_ ;_t:)l)ro_i(:h {()war(I Sllch a
I)l(l()f.) ,<:;li+:ini():; [{)::*] c())ljc:,;ltir('..':_ tl_:_t for al_y motric with aCOlitillltl)tlSIy"{lllllilt{i {illlej<;li{ tl_..:',v,'c)rsl-c;<-;so k iwer l_()tlli(l is _](N log N)t Jill (:.
2Q'IM:, te,4l, 411iw, l_Lih ;ililit,:,r t,; ti',,::' v,'o:k of Pf(,; <;r;,l;, ,tr, d [,Au!'_c,r Lc,,_j,r,,.,_7 WaS do,To h_cioperMerdly,
24 Dec(;n_l)(:r 1 97'f). G(:c){i;(_Lri(; -]r_ltl.',_f(;rms PAGE 122
-Wll<'_t i:; lh(-: c:xpr:c:l_:d n_ll_l_Rr of i,4_ir:; of c_I'_til)o_14_Ivertic.e{; among N
llir_'_'--(liill{'il:_i_-_ll;_l l_C_ii_[_; (i_ild,:r ,:,l_j ill{_:i'{;:,t;tt U di_:-_trihulion ()_ poiiits)?
(i hi<, fl?:l(:i'mill,*_r; tll_' {:Xl_':c:t(_cl"lim_' oF [l_c: [!:llcli_lec_n diamc_ter
algorillltll ()f _-;r:r:li(:il ,_;.2.)
-Fclr illl iLt)t_roXilli,it_'. (;,lti,:[c:l \.q_:,.__11(1l;,:::;_tI_:y, l:i_ll<_t, and Prcp_rata
[2] lt,;_\/t: .<.,liowii _tli C'J(I'_I.i 1t() tim{: tlt,l)(:l" l)otiii(l, but tlic: lower lJound
rl-:llliiil-iS (ill (_l)(:ii {tll_'..'7,1ic_i/.
- The.' "lJtict<('t [i,.ill';[(_llli '' c}f W(:'.id+:'.r; O(i'4) {:xt_(:cti+'(t-tilno :._ort [09] has
alr_.::l(:l 7 lir::+:li (-,xt_>.il(l_,.(l tr> O(N) t_:.:l>c_c:l.l:,.(i-tii_Ic: l_l{fl]_r Vorolloi di_lgralns
l:Jy [;oi_tl_:7, Wr:i(l(.', ;:liill \('<i(I [1S], ll_c: f_(;\vi,.r of ttii,<; ti'iill',rorm d(;rives
1"Io111 It_,' tl:,_ ,:>f lll,'. [ic_;; ftiii<:ti{,;_. 1,4(>',t ctl!](>riLillilS _li(t l,iocYls lor
lowi:;r I_cJlill(l.'..; li.<,c: li;(,ct{:t:; oi c:c)liil)tli{_ti')i; ti_<:l i_,volv0", oi_ly c()nil)ari.soils
t)(-'tv./(>_'li <_ii,ll_,,ti{: [tli_c:tioii:-; c_[ [li<_ ilil)tlL, bill tlle<.;o, rc:stilL.,; P,r(_
l:)(_(.'.t_ltiill{i (1<_1_;,I a.<: tlt<:,, rlo<_r [t!ll<:{iC)li i'.; _i,i)tic'c! to lilt;r(,, f)rol:)lc_ms.
_()111(_. (i[li(:r ii<_/c_l)i(,. I1'.;_::_ of tli(:,, iic;c_r [(llt(:[ic.;li ,It(; thc linc, clr-tin_o
illrfl(,<.;l fl<_l ) i lfl<_ritllin or Go_,,{_l,,.:, [,17], Iiiic:ar e.xl)octc, d-tin_c
clo<.;c>.:;t-t,c,ilit c_l<.l(,ritlinl_; o[ Ytiv{_l [104] <'.;i(t f_al)il_ [$6], arid
O(N I(),.'1 I(>fl N) v,,(._r.*,l-(:c_:;4: tilii,: (:l(:_:;<".;t-l_c;ir {_Iti<;ritliin cJf ForttlllO and
I I(jl>(;ro[l. 1.41].lli<_.':0: ,:_t{icJrittinl.<; l,_,rtitioi_ tltmir t,roblc:rn into "l)uokets"
alld tl_;(; lli<' fl()()r [tlliC[i{)ll 1.<)(;C)liii>ti[<: citlic:t:ly for cacll l)Oii:lt ti_c" btlck(-'.t
ilito wllic;tl it .,;llotll(l l)c (li()l,l;(;d. VYlic_t ottlo.i" [i::;o..<; cc_n wo fii_cl for the
floc)r [till(:{i()il ill (ic,.c_lii(:tiic ,_l.el()iilli_,_,?
- ]ll('.iil{loriil:iti,<; fen ili{{:r:;i'.('.li(Jli ()i ll<_!t-C;l_rlc<:::;, i_l;ln,qr Eilc'li(tc'.al_ VoFonoi
(liaflr,_ni.';, .",l_l_r;ri(-;{,I Vc_i'oitoi (lic_LIr;_;ii_;, ,'tn<l rlic_ti_:tc:r of _ _:;(".t of l)oints
all i1<.i{: Ill(,. c()llVr:): litill o[ {i ,,;(,.[ oF l,CJilll';. (At.';o, the al{loriihln<,; that
ill\/Qlv_' ;ill iill(,.r,<,_:(',ticHi (_[ lic_lf-:_l_,_.,cc:<i iil(!ir(;c;tly ttsc: CC);iVE:',X hulls of
s_:t. <', (if l,Oii/t.*;) <' ....• ,>i ,,l]1O:; ['.)1] clc::>_;ril)e, <:,hov,,' a C;OltVeX hull is used iri
i.<._c)l()l-lie: r(,Clr+,.';,',iOl);til(l _:-;ilvc:llltail ,{lt(i Titt_:riil{]loi_ [,t-]O] iIse a convex
hlill to) filicl lll(, _7,rnall_:st co\/crii_g cllil)';c of a l_lanar sot of I)oints.
What olll_:r tl,qr:,'-; CCill f)f_ it)fillet for (;C)llVt;X hi.ills?
7.4. Coi'icl_lr,io"l
"lrall,';f()rnl, <, ,_l_: oft_:l_ tt<;_:ft_l lc, r c:_)i_vc:rtil;!3 <:_I;t:,_r_::i_tly d;fficult problems to
in,'!il.ilrt(;(:,<j i:)[ i_ll_lllt'lil:.; lli,_l _c:: _:;(:_lv<_l_l,:1,7 v/c:ll--!;i;o\.'+!_i liiClli(.)cl.'.;. Ill tills tllcsis we
have I)re:,<_c:nt_:(l a .<;r:t of [_:c:lliii(liiC:<; for c_i_I_!yii-lq O<:oi.;Ptrio trai_';fori_l,<; to goometric
t)rot)lmin::; ttl{_t l_ic_vi{ic':_ c_i_otllc, r <:_.:l (.;f {c;(_l.'.-; for tl_<:: ctc,'Digl_{:'.r of fa<_t gc'.ome.tric
_/1 []¢:_._::llll_c:r1(IY,<i. G(:Ollic:tii(:I-Ini1_forill_:; PAGE IZ3
_ilsiorittilii<,. [lirtli::liii,,_i<:_, iit tli_: i_ic,,::,.:>:_ (_[ illti._trcitil_g the nf)l)lication of these
_l-_-;ll/.<;_l'}rtllf_ 4,(-) ,_:\/(-_l'nl "-_ ' 'i),_>i_l<_fil_;, \_1(_ lt,'_V,.: (_,inili,:,;, sc::vo.rnl tls(_f':l and interesting
algori tl lilis.
24 Deceml)er 1 !:)7_}. G_-:om(_triclrazmform,'_ PAGE124
24 Decemh(_:r 1979. Geometric lr_lls,TorIns PAGE125
A,",, I
011e of tllc: major l:,rol_l_'Ins wiLll r(.:l',rc_s(;ntil_g lislcs, planes, or, in general, flats in
. . (,dlllt(_ l)e rot)resented all(l near-verticalslope-irtlr:r(:c:i_t E_rln it, ih,;_t vt::rtic:al fl4Jt:_ .....
flats C_ltlS(: lartl(' rc_[ll_d-c_ff c,rror. If v(:rL:ic._l and ne.nr-vertical flats can l:)e avoided,
ho\^l_;:v("r, tll_:: z:,lnl,,:: il]l_".rc:nnt forlli i:; \/nry co[lVC:l_i_'nt l);c_l[IgC of the properties of
the [ ri:] i1,,; [C)ltll
K-1
XK = _ aiXt + (]K -'_ (al' a2 .... ' ak)i=1
C',., ¢'as dc:,.:;cril:_{,d ill ,_:{:ti,-Jn d.1. II: tl_i:; _i:,i:_:i,_lix w{::,._:ie,scril_e I_ow rotation of the flats
• ( tcan helt:_ avc_id ll_, (_cclttli::lit:c ._i vcrticnl or l_car-v{'rtical fl,tts.
lherc- arn twn cn:;_:._:;to-, c:(JtlsIC;' 'c,r:
(1) 11_: v'_:ntricl_;tt na:,_;: Ir 11_-:r(;i,_lion is being performi:d to enable an
inl_:r,';c:nlio_ nl N I;l'l"l I: l',alf-,'-,i,ncc:--; (a,'_ i_ ,_"""tiorl_._: 8.1), then we must
_.:n:,_lrr: il_at afl_::r r_tntion nil N hi_If-spaccs remain UPPEll half-spaces
(ralh_:,.r ll_nn I.OWt:ll I_,_,_-st)nc_i:::;).
(2) I1_:: gnt_::ral (::a.'-,(,: In genc:r_:_l tl_,::r_::is _1or(,.striction as in Case (1).
Since:: \^/_.: wa_it t_ _l_:t_:_r_i_::; wl_at ,',nr/les to rotate' tl_(; flats through, it will be
usc:ftll fir.'_t tc_ rc:l_r('._;r:_t ti_{" fin '__,,l_y tl_ir al_glc.s t,_h_.r'"' than slopes. Specifically,
W(:+ IIIQI) t l_: ,'.+It:_l+t'-i_+tt:t+(:+::i,tlUt+r_.-_+:_llt,_tioll [o _I_ +:mgle-of-inclinalion representation
by
K-1
x K = _ t_,n(O,)x, .,,. al. -:+ (0_,02,...,0_-_)i=I
, (lk_c.u..._on a K-dimensionalwhere Oj ( [-11/2 Tr/2), j - 1 ..... K-I. In tt_c-',following ",-- ss"
24 December 1079. Geometric Transforms PAGE 126
problem of flatn will th_.refore be treated as a K-l-dimensional problem of points. A
flat will be. callnd n(;ar-vertical if one of the K - 1 corresponding angles Oi is within
a given small an qle (_of being vertical (ri/2 or -rl/2). We will also use the notation
eij for the jth coordinate (angle) for the ith flat.
We want to find a rotation (0"1, cr2 ..... _rK-i ) such that
-n/2 +( _< Ej +Oij -< r,_/2-(, fori= 1,...,N,j= 1..... K-1. (33)
We can easily find such a rotation, if it exists, in O(KN) time and storage. First
coml)ute tl_em_xilnum and minimum angles1"or_IIK - I coordinates
max minmaxj = @ij and min i = Oij, for j = ! K-1i i '''" '
in O(KN) time and then cletermine if
in - (maxj - minj) I >- 2( for j = 1,..., K-1. (84)
If Condition (34) is satisfied th_-:n a rot,'_tion satisfying Condition (33) exists. One
,such rotation (@1, _r2' .... ¢K_1 ) is
o'j = - (maxj + mini) / 2, j= 1,...,K-1.
it may not be necessary to do any rotation at all; if
In/2 - maxj I_>.( and I r/2 + minj !>_ ( for j = 1,..., K-1 (,35)
then no roi,ltion is r(_cttlirc(l. Ti_e l)rol)abili',y that Condition (35) is satisfied depends
on the prol)al;,ility distribution of the points (0ii, 0i2, .. ", Oi,K-1)" if the density of
tile distributioti is ulliform (and _II points are independent) then Condition (35) will be
satisfied with i)robability
• " N(K-I)
P( No rotation required ) = (-_)
Condition (34) (existence of a rotation satisfying Condition (33)) is satisfied with
probability
P(rotation for Case (1) exists) = P(maxj-minj_ n-2(),j= 1, .... K-1
= P(maxl-min 1 _<ft-2{) K"I
24 December 1979. Geometric Transforms PAGE 127
where
P(max,-mi,,, < rl-2_): S '_ {'×2 (lz (x_x1)N- . x2 =0 ., xl=max(O,×2-,-r+2t ) dXldX 2 dXl dx 2
--- _ . _rt
1.2. C, so (2)
if we allow arbitrary rotations then tlle K-l-dime;lsional points (01,02 .... , OK-l)
may "wrap around" the boundaries of the cube of angles [-rr/2,R/2) K'I. Whereas
the analysis of Case (1) required only computations related to the max's and rain's
for each of the K - 1 coordinates (indcl)endently), the analysis of Case (2) involves
the "largest great-circle-shaped 9al)" between N points on a K-dimensional spllere.
The mat)ping that we use is (almost) the point / flat duality of Zolnowsky [106]. A
flat is first translated so that it is tangent to the unit sl)here (centered at the
. origin) and the transform is the I_oint of tangency. Since there are two
(diametrically opine.site) points at which a f;at of a given orientation can be tangent,
there are two pos.qilJle points to which a flat can map. 21 We can, of course,
describe l.l_is transform i,_ cartc.,_an coordinates, but when we wish to speak of the
angles of inclination it will 1)_ more us(,.f_'l to use the mapi)ing
K-1
= - cot(O,)xi . a, (Gl,e2.... (86)i=1
alo
wllere the points (01,02 ..... OK-l) are interpreted to be normal geodesic
coordinatr.s of a K-l-dinlcnsional sphere. (Each K-l-tuple represents two
21We can also oxprc-.s the Irar,:.form a:. the p.:,int/ flat duality oi Section 3.1 followed by orthographic
projection to th,, plane:, x k = +1, rever._ir, g th.,:' _ign of all coord;nate_,, and then gnomonic projection to the surfaceof the ,sphere.
24 December 1079. Gcomctric Transforms PAGE128
diainetricallyol_l)osite I_oil+tson a sl)her(_.) In ectch coor(lir_ate system this transform
maps each flat in a point on lhn linit Sl_here ,sllclt tllat the vertical flats real) to
points on the rlreat circle: Oi =t;',/2, i= 1, .... K-1 (or, in cartesian coordinates,
where tl_e sl)llere iI_t(:r,':_(:(;l,';tl_" flat xK = 0). The near-vertical flats map to points
near this grc-:_t circle. Wc: will I_rcsc'.nt _ _aly_,;is for two and tllree dimensions.
!.2.1. Case (2) for Lines in a r)l_no
Lines in tll_, plane irnnnform by l!(l_Jntio_/ (3f;) to pc,tats on the top half of the
circle x2 + y2:1 and tl_c,.ir di,'_m_:trical (:l',l)_)sitc:.; nn ll_e l)ottom I_alf. A line L is
vertical ill it real).', 1o tll_' pointr; (x,y) = (1,0) (0 = O) _nd (x,y) = (-1,0) 0 = 1l'. L is
near-vertical ii'f i[ mal_.'; tol)oint._; wi[l_in a_ al_cjle( o1 (1,0) and (-1,0). There exists
a rotation of _L,';,:,t of lin('.'; S sucl_ ttl_t _onc _rc _c_r-vertical iff there exists a
rotation of tl_eir r:nrrr-:,';I)onding petals S' on lhn circle si_c:h that: none are witi_in an
angle ( or (1,0) (_r (-1,0). Tlli_; occurs ifr tl_{;r_" exi-_t,-; a rotatiotl of the t)oints (1,0)
and (-1,0) _;t_:1_ tl_nt ll_,,y nrn it_t witlti_ nn nnr,,Ic ( of any of the N points of S',
whicl_ oc(:_r,'-; irr It_(.',r(:(:xi_;l,.,!;_ (i_:_l>of at l_':_._t2( bctv,'een adjacent points of S' on
the circle. Wr: _:_n d,:t(:rmii_(: tl_is in O(N) time by (a mo(tific<_tion of) Gonzalez's
lar.ge._t f l_:_t__l_loritl_ln [1471]. (It .';I_o[tl(tI)(' ilotcd, l_ow{:vcr, that Gonzalez's algorithm
uses the flonr f_clin_, if ollly nilalytic; f_nctions arc used, then the best known
algoritt_i_ for tl_(,, lar.gc.,;t ._l_Pl>rol_lcn_t,_k('..'_O(N log N) time.)
1.2.2. Ca_ex (2) for Pl,w_os in Tt'_rc-, _ .........
Planes in tl_r{:(_.-.';pac:c tran:;form l_y E(lll,ttion (36) to l)oints on the top half of the
sphere x 2 + y2 + z2 = 1 and lt/(,ir di{_inr_tri(:al Ol:_F,O_;'{R_t:.a on the bottom half. Vertical
planes map lo points (_n tl_: gr(:at circle 01 =02 ='it/2 (where the sphere
intersects th(; I)lnne z = O) and ne.ar-v_:rtical i)lan_-,s lie within an angle ( of this
great circle. Tl_;re {:;xisl..; a rot_ltion for a ,_;et o[ planes S such that no l)lane is
near-vertical iff lhr:r(: exi.',t.'; c_ rotation for lt_is great circle such that no point is
withi_ a_ a_.(lle ( of _ly of ll_:_ l:_oii_tsof S'. Wl_erc,._,,si_ two dimensions we obtained
a prol-_lr.,m that i_volv_:d I1_; (nl_(l_lnr) (li:_l,_nce l)etwcr.'l_ pairs of l)oints on a circle, in
24 Deceml)er 197,q. Geometric lransforms PAGE129
three (li_n,:__sioa_s we I_ave a problem ll_at i_volves the (angular) distance between
I)ois_ts aild a greal circle on a spllc,.re.
Searcl/ill(t for a !:lre._'_tcircle tttat suti,':;fies otlr con(litions seems more difficult than
searching fr)r a l)n!1_l l_:ca_:,r, a £1rnat circle i'_ a nc)nl_)cal object. We can, however,
apply u i)_)il_t / (Ir_::_t (,ircl(: dt_ality to c)t)taill _n equiv_lent point-searching problem.
The transform is simt)l{:;
sl)ll('.rical t_oi_t -_ .<lreat cir(:le f_rth{.'<;t from the point, and
.(Ir(:_t tirol(; -:, th(; twol:>c)i_/t.'; lattice,st from tile great circle,
Since ll_i,", ¢lltality l)r(::::_r,,rv('.r, tile: angtil,.qr distant(,, between a point arid a great
circle, a _l_l_:li(;_l t,oil_t P _;_1 a (lrt;_;[ cir,:t{, C _re an angular distance of { apart iff
their tranr.,forms ar_:( apart. Ot_r newi_rol)lem istitus
Given N gr_'_._t circl{:'.s o:_ a si_ti{:r(;, rind a point ol_ the sphere that is not
withi_ a_ a_gl(, ( of any of tl_e {lr,;at circles.
This l_rohl,:_n can 1_: .'-,_Ived by the spl_e.ric,"_l an,-_log of a planar nearest line Voronoi
diagram. Ii_fortuna-I_.ly, since the N great circles partition the sphere into _(N 2)
regions tliis 4_l_r)ro_(:ll will take at least [!(1'42) tilnc'. In the worst case, it can take
longer to find _ good orici_tatioI_ for _ set of N I)l__es titan it takes to intersect N
three-dimensic_nal I_alf-sl,ar:_-'.s. If (: i_ small comp<_red to N, however, we might be
able to fiil(l a g()ocl o!i(:lltittion ii] O(N) <;xf;ect(:ct-tirnc.
24 December 1979. Geometric Transforms PAGE 130
24 Deceml)er 1979. Geometric Transforms PAGE131
Api,enci>" [t
Relation of Dic_,,::_:_,.rto L_i-_ty..,Intersection
In tills al_t_{,.tlclix \:,/c(.l_-;,<;(:ribe_ r{,,l<_tionslfip I)ctv, een the Euclidean diameter and
an emply iill_'rr;_r:tinn prohl_:m tlsnt inny Ic:n_l tn an [_(N log N) time lower bound for
the diameter i_rol)lr'.m. lhn _,,mptyinter:-;e(:tion prohlc:m that we are interested in is a
variatiozl of tlic pr(_l_Ic,nl c)f f-',0,'in!lold [37]:
Giv_::n two sets, P and Q, ,::nch of N reals in the interval [O,1),
(leternlit_: if tile.re: e.xi,<-_tp _ P arid (t ( O stlch that p = q.
We COllvcrt ll_e _:ml_ty iz_t{:r:;cction problc,,m isito a dinmeter problem by using
inverr-_ion (S(.'.c;tiOl'l 3.2.3). ltl_: inversinrl trarr_rorm is determined by two parameters,
the c(;iltcr of invc>,r,';io,'_ all{l the radiu,<; of illversion. We shall choose the origin as
the center of invcr{:;ion and le:t tlic, r4_dius of inversion be one. The transform is thus
f x y(x,y)-:, _---5........r.;, ;,.... .......-..-_}.
x- + y- x'- +y:_]t
For o[Ir I_l_rpo{;r:s lh_: (_l_ly jiIllt_ort,llil: I_r'H;(:rty nf ti_i,<;transforil; is that it transforms a
line tl_at _Io_:,', not I,u.':,_:,tt_ro_,ll_ tl_(: miigin i_to a circle tl_at doc::s pass through the
origill, ll_ pariiclllnr, llic linu y = 1 Innl,r:_ to a circlc: with radius 1/2 centered at the
point (0,1/2).
0 1
.....................-..-..•........o..................o................._-W p
II ii I /
/ _',;',' _ ,, ,'\ ,,_/ ,/,',;',' ,',' ,' \,,'///;',;' ,' ,,,,,, ,
/4" i // _ I / , / / /II_{" tl I I I I I / "1 J
lit ,, , ,,, ,/ t/ " _.." .' ,,, ._/ I
/ I tl _. / In/i // 1 I I \,Z. lull/ /
/ _/.././ .,! "-...... t't ..I--
Q A1 0
Figure 7-1: MnPl_ii_g _.h_:points of ,<!;e,ts P and Q to a circle.
24 December I .qY_.). Gc..omet:ric -[r,_Fi.';[orillS PAGE132
Our con._trtictiol_ fir.':,t maps tl_: N elei_nnts of sc.t P to points on tile lille y = 1 and
then ai)plics iilver_;ion to map those l_oint'; to points on the circle
x 2 + (y- 1/2) 2 = (1/2)2:
I) -' (p,1) -' 11 . p2, I . p:,j, p_ P.
Note lhat ,sill(;(; the el_,.m_.'.nts of P nre cllosen from tli_: ,";_.t [0,1), all of the N l)oints
generat_.:d fro_i_ P will lie witl_ii_ nn arc of only one (itlL_rtor of the circumfer_:,,nce of
the circl_;. (_4_.'. liflllr_: Y-I.) Our tr_rlsf(>rm for lhc (:Icme.ilt,<; of ,set Q, on the other
hart(l, ge.n_:;rat(:s point:_.> c:_li a (lily, r/or-circle arc tl_at is di_mctrically opposite the
poillts frolli s_:l P. M(ll't: I_rc,ci,';c,.ly, ,',itlcc t,;_, V,lC_ntto c__nvcrt ill(; empty intersection
problem to a (li,inl_i,.t_i::r t_lOt_IP.nl \;,/u. clto(),';r.: tile trarlsforln for the elements of set Q so
that i(lel_tical el('me.nt,<; of ,s{.'.ts P _nd 0 will be diametrically opposite on the circle.
The transform for ,set O is tt_u,s
-:, -:, [ -el Cl2 .!
t
Since.; all of ll_r; r;Inm_:i-lt'; o[ ,,;c:in I) ;",__dO _rP. ira_:,formcd to points on a circle, the
nlaxilnul]i l_O,<_-;il)l_, (li_llic-,,.t(,,r of tilo 2N l_(,iI_t::_ i_; tii_:: _li_ini_.:tcr c)[ tl]e circle. This
maximtim i:; acllir_v_:_l ill" two o[ tl_{: PN t_oii_ls nrc'. di_fnetric_lly opposite, which
occtlrs ilt LliPr_:__:xi,,;l,; i_ I, (: P __Ii(i (1(1o ,:;tl(;il ti_t p = _f. We I_ave just proved
p. - I-ltl_c_r_:m 4;': (;iv_:n n ,_,_c{'l of {:_lII_tit,:',t ()I- _troi_g enotigh to support
the ill\/_l,',il_ll |rill]_;[,lllli, V:l(,. C(lll [I,_il:,[Oi;ti _I11 illStiillgt:: of the empty
int_:'rs,::ctir,n t;rcH>l,:ii_ into nn N-.l>Cfillt (li_nt_:t_:,.r i_iot_ic:m in O(N) tili_o.
To apply otlr Iowc:r h,:_lncl for the c'mi)ty int{:rscction prohl_-:m to the cliameter
prol)lem, wc ilill.'!;l i)rov(:: tile, Iov,/(:r I:;otint'l tlil(Ic-;r _:tr,_ocle.Iof COllH)uLatioll strong enough
to ,';lll:_t)ort otir coI_,';tr_r:ti,:)_l fr_r '_(_lvil_g tl_c: en_pty intnr,';cction problem as a diameter
t)rol_lem. Reiit[tol{i','_ [7(N 1_!:1N) Iow{_r hollild ul_fortilni_tc:ly all,3ws only comparisons
with linear fill/orion.'; _f tl_: inl;Ut, whicl_ i."; l_ot stronrl {:no_lgh for our purposes. One
model or (-(iilil_lll,_tiorl [lt,_t is strol_g (.:l_{:_tltlll is a (l<'cision tr,.-;e float allows only
26,[)e.(;(:lliI)_-:rI.c.]/,q. G(::oIli(:Iric]i,_;(ri,_:;Ioriils PAGE 133
colni_ari'._oil:-; l_c'.twc,(:n niultivari_l_=', l>(_ly_io_l_ial,';_of deoroe _._tmo¢'_t I<,(for some fixed K
_> 4) at illtcrnal ilo(i(:,':;, It is iliipcJrtailt tflat t.i_e degre.c; be bounded because
otherwise we: could c,c4vc tl_c; elni_ty il_tmrsection problem in constant timE; by making
the COfltl) a ri,':;()lIS
N N
i,j i,j
Colnl_ari,':_(_ll:; i_(:[\,':!(:(:tl ll()ltlLcJc,,(l (l(_!]li(_,: t_(_1"',yllOl;_i_l [tlllc:tiolls or(: Stllficiently strong
that + we call ::,_l_i,r_tt +_t_r¢:t),l,,tltl(';t till [Of solvir_g (',itlpty int(-;rs(::ction as a diameter
i)robl_:ill 22 (l:tirtll_:rt_i¢_rc>.,v/c..caz__:,:,_,,t_t_:tC)(r'4log N)tim_?.(liamc',ter algorithnls
|lll(IC',l" lhi,_, lll()_l('l _)[ r:(_i_l)ll[ "- ",_ti()Ii.) it r,:ill,_iii_:; ari (')[)(:ll i:>rol_lc:r,iwtic:tilc.'.r or not we CClll
i)rov(i: al) _'_(N I__t N) [illi_:t lo\,v_:r l)otJi]Cl [()1" tiff; _:l_]t){y intersc:ctiol_ problen_ under this
model of CCJllll)tll.C, liC/ll.
221t may at fii:.l ai4 ,a lll,,t w(. {:,v,f_otcc.._uv,lt,;. fly, inv_.,i._i_rit_ansformof our con,qructionwith finite degreepolyrloirli;_l furtcli<,_,:,bcca_l.._,il irtv(q\.'o,:,di,.,i:._{:.r_.TI_<_Ii:',, iri a slric:t s,,:,nse,IIUO, but we cai'l simulate it byr(,prer.erdir,g a (i,i,.>ti{'lil t)tq a _, ,iii <;ld{'lo(J pair (p,q).
24 Dccemhc;r 1 fl 7ft. ._eo_,l(:_Lric lr_;n.';forlll,_; PAGE134
24 [)eC_31]lt)(;l" 1.qyr]. Gc()IIi(::trtc [rall_;roril/s PAGE135
...."*r "_-, '" /_,:',_J!=catior,sGCO_;_<:._ :C "L'I'E;'"
113t.l_i:; al}l)_:ll(tix \^/¢; :;[itlil]l;_li,'(_ tll_,, trai],'._fori}-_:; _J:;ed in this thesis (or tlse(l for
geometric i_r(_l:)Icll}_.; liot (l(:::scril)c(l in tills tile'.sis) and list properties of and
t_,,{_., u,m.: are collected into three categories:al)plicatinrl.':_ for c:acll. 1h_" --" -,-r ...... ;
Poil_t-to-PoislL Trall_:forlils, Duality Tr_Ilsfurlns, _1(i Miscellaneous Transforms.
!!!.1. Point-to-Point Transi'onns
/V/osl of the:, t,oint-to-I,_iI_t tt_/_:;f(_rlP,s f,ff/ into one of t_vo classes; COl)tiouous
,_i_d ini/(:_tihh: ll,iti,,:;for;_..; nnd i,.roj(:c_io/_.':. All COl}til_lO(lS and inver_ible
t/,_/_,fotn_.,; f ,_r(: t.;(_t(:/;ti,E/y ,q,/,/ic,_h/o _o u/_ion or intersection problems
becau,,;(: ih_:y s,,,ii.,;fy
_(_u/;). r(,'_)u r([;) ,,,,J f(An s) = r(_) n _(s).
Rololioll
Plos(:rl/,.:z; s/z(; a/}(] ._;h,i/)_::',vhito clt(bF/l}g ori(,.n;'a,'ion.
-C(111V(::I'[ I(,_ (li,"ltil(:!_::i" t()I_ 1 di,_m_.'.t(.:r i_ tt_'. E_lcli(Icon plane (Section2.(_).
G_-:rl_P.lal lil _:,.ar I I'itllt-,[(Htlt
Map,s Ii_ear q(h_/_titiu.,; to line(_r quantiti,._.,; lvhile streZchin(j and rotating.
- G('ll_-r_li;,:_'.,'; r)r()_)l(:ll_.'._wiLh )(.,ctili_:_-_ly ori(,_t(,.(l lin(:s or line scgments
to l)r()l)l(:ni.'; \^/itll lii_(;,'; ()r ii_,. ,'-;cttlt_(,.liL.'; at two arl)itrary angles
- Ol_:-(lilll_'.l_,i()l_l ,l_,l_i_:_(_n-M(:lll _:ly::_L_l growth n_o(tel [,IO] transforms totwo-(li;ll(,ll:;i()tl,-_l ill(txilil,q ()[ vcc_o_.'_,.
-I)c:livnti()_ (_f l)(finl / fl(_t (l_l(_!i_y from i_v{_r_;i(),', and c_ linear transform(S_::c ti()tl 3.3).
Orthoqrar_hic I)roj(:ction
24 D(*.c__lltl__.r 1 ,c)j',cl. (.lLolli(:[ri_: lralt:_[_ilil::; PAGE136
Rc:du_.:(;,'; dim,,n._,i{_n,_lity hy _._!il_tin,_til_q (:)I_.) of Z/',(: carlosian coordinates and
leavinc.l the,. others unafle,-:t,:d.
- Searchiltrl a Vorolloi dia.gram [$9, 33, 31].
. ! _ . (.I _ "! £.
st('t, o[ a K-(liln_:ll:_i,:_i_al l,roi_luil_ a:; _i K-1-dimen:._kmal problen_ [3].
- Neare.'::l. (r,_ tl_u,.;_) ,,.,i_.l_,._li,_gI._m of a cow,vex polygoi_ (Section 4.8).
- Euclid_.:_l_ _lianle:t_'r __r N l_fii_t.-; in tl_r_._.-'.;pa_:e iil O((N + 14,)log N) time,
wl_erc K i',._tl_(-: i_llll_l_:,r o[ pairs of a_ltiI_odal vertices on the convex hullt'?" _"(Sectioll o.2).
- "]-Ilr(:e-dinl_,ll._;ioil_ll Clleby:;l_ev regre:;sion (Section 5.2.3).
- Lea.'.; t-.':,(l_larc.'_ i:_otol_ic rcgrc.,:..';ion [.q 1].
- Lea.-'_t S(ILlitl'(:s r(:('_]l(:,';.':,iol-i.
Perst)e.ctive | r¢_ I1:, [orllti_ _,iol1
linr._.s mal_ _o lin,::_ and i_/,mr,:, real, to ,'qan_,.:; l',,'hii[2 /)re.';orving perspective
inforn_,_ion. II.f,q_x l(-dimension,J t,_ys to K-l-dimensional line segments.
- i-rallsform,'; a l)(11".'i;l:'_(:(,[iv(. ' l)roj" _" ",:c_k)i_ (v;.,il_ility) problem to an
ortl_ogral_l_ic proj_,._:tion i)rol_lcni [97].
Radial l_rojcciiol_ (all_lt a i_oint)
Prc:e,_:rw:.s sph_:rical an_jl(-., _vhih:: rer1,,,c:ing din_ensionality,
- Dual of Sl_i_:'.ri(:al V_ro_i{)i {;i{:_grain (from convex l_ull) (Section 4.2).
- Sr_hcri_:al Vorolloi (liagranl (from int{:I:;_.,.ct.io_ o[ 1_4_l[-.'-:paces) [22].
Gnon_onic l_r()j(::(.:li()n
ill IWO-IO-OI_" lt,tl_,,;forl_i llt{_ l',_,tt_,'; _.j!(:_tl _:irclc':; on a sphere _o lil}e,s il) the
24 Decemi_.r 1070. GeomcLric Transforms PAGE137
-Detr_rsnisle i[ N .':;,ll,:ric_{I point:-; can fit in a h_;misi_herical cap [105]
(Scctioll 6.2).
Stereo(lral,i_ic proj_;ction
,'1 conformai real,ping, bu' it t(:duct:s the sense of the angle.
- This is a special case of inversion in three-space. (See inversion.)
Inversion
Inversion is a circular transform; circles map to circles (where a line is
consid(;rcd Io be a circle of infinite radius). In particular,
- A cirr'h; lhal pas.ses tl, ough the center of inversion maps to a
line thai doe.'; not pas'.; ll, ough the center of inversion.
-The. inlo.lior of a circle that contains the center of inversion
maps lo the (:x_erior of a circle _/',nt contains the center ofinversion.
..
- Other propertie.,_ are rl,_.._cril)(:d in [38].
- Union, isit_:rse.ction, s[llJtraction of disks (Section 3.2).
- Nearest (farthe:-_t) point Vor(,noi (liaqram (Section 4.1) [23].
- Nearest (farthest) edge (iiagra:n (Section 4.3).
-Derivatioll ol point / flat duality from inversion and linear transform
(Section 3.3).
"
- MaPl,ing of i_oillts on a li_le to points on a circle in Apt)endix it.
"Bucket" traelsform (floor function)
A di.scontinuous function but availahle as a primitive on most machines. Useful
24 Deceml)_.:r 1 ,q7_,}. Geometric I r_i_sfo_"_,s PAGE138
- O(N) (:Xl)('(:t(:(I-tint_: ,';oft. [CICt].
- O(N) CXl:)<,ct{,(l-lim{: conv,:x Ii1111,Vor<,noi di,i,:.tr_m [1S].
-O(N + 1/() tim<: _:-_l:,i_ro>.ili_ti,)n for I::liclidP.an diameter of points
(Sccti(,ll f).l) [7].
Embeddii_g into a l_iCli_{:rdiili(tn:;i,:)i_
Acids ,} (i,_.]f,)_: of ft<_,'.d_)m _() th<: p_<>i,/<:n_. Li.";,,.".'.,can l.,c.com(: pianos, circles
COIl ,_)t,'C:O//l(:? ,';[)h(tt(.;_&, ()t,c,
- Union, int_:r:,r.cli<)_l, .'_lil_Ir,_(;Iic)n of di{:,k:, (S{:ciioi_ 8.2).
- Nearc.::,t (r;._rtl_,,.s[) l_(;ill_ i uc-lid,.:;_l_Vc,l_)l_oi di(!!:ir_n_ (Sectio_l ,1.1 ).
- Nearcsl (fartl_(_:-_t) {,id{: di,:_ttrP,l_l of ¢i convex l_olygon (Scclion 4.3).
- l.ow(,.r t)<)_i_(t::_ r(_r _fiel_ (i_tt:rs,:,.(:ti,-_i_) (_[ di_;ks (,r Ilalf-pl__ncs (Section
3.2) (.+r t::(,_lv_:.'× t_=11o[ l+_)it_t,,; or t_i_tt_!t_ll,_ti(>_ oi a set of t)oint.s
[01]. (,':_{)r;t,_ r_:,_l:-.,l_y I_l_,l.)i_!.l li_,;_ to N t)!_I_r l)oints, N disks, or N
hal r-i)I {__1_::; .)
- _(N lr)(l H) tim(, algc,rill_m lor l_:,:,I-',_i_,:r__:, isc,to_ic rc:grcssiol_ [91].
ii 1.2. Du__lity "t"r_:n:; [o;n,.'.;
U_,;_::ful f_)t t_,_t_:,f(_tn_i_(,l t,,'ol,lcms it_I/o/i/in_l _;nlucal objects (such as flats,) to
prohh_m:; involvin!'l l_i_,'l:;,
N Points in 1 Sl)ac_:: t 1 l_oi_t in N Space Du,:_lity
Tt'a/tsfot m,_, ,,n N [,oit_{ t_tobfl.,n_ it;,to o olh._I.,oint problem.
- [;le.mellt-_il_iq_('_:,";.'; Iow{:r t)otlnd [3,'1].
- [!l)silol_-(:l<m{:n_:.',, '-, I<)w{'.r l>o_n{l [112].
- Lower l-)()l_nd,'; for ,';{)rtilig, it_.';<:rlion, fii_ding m<_x with anal,./tic f_lnctions
24 Deceli+l_:r 1979. Geometric Transforms PAGE139
[4a].
Zolnowsky's plaile / point on unit spllc:re duality
- O(N Io(I N) tiin(: iiiL(:rscctioa of t4 l_alr-sl_ace:; [I 06].
- Fillditig a go(_(I orielltation for fl(Its (Ca,_;e (2) of Appendix I.)
Plaii(; / I lonlotl(:ncolls P.Itlckc, ri(lil coor(!il;ate duality
A mor(: hon?og,,nr:ous r(-:pr(::+<?nlation of the point / flat duality below.
- O(N IcKt N) time il_ter:;ection of H half-._paces [84].
Slope Inl_'rceiJt form of Point / l lat (ltl,tlit 7
Preset l/os x k coordinate distance bet',vcen a point and a flat, thereby
pre.';erving inci(ie.ncn betwer.:n points and flats. Preserves above/belowness
between points and flats.
-O(N log N) time illtcrsection of N UPPER (or N LOWER) half-spaces
(Section 3.1).
, Close-;t (fartll('.';t) side oi" a convex polygon (Section 4.3).
* N i>(_iiit:; oil ii I_c'll/i,ql;hei(:: intcruc:ction of half-spaces soltitioll
(Section (3.2).
- Linear i)rogranlniinq [?S].
- lmi)or, sii-Jl(: tlirec:-(limnnsi()llal sCC:l_eS [53].
- Diameter of N points in thrce-spacc in O((N + K) log N) time (Section
5.2).
- I_east-,qqllares i:+otoni(: regres:_ion [91].
- Three-(iinlensional Chel)yshcv regression (Section 5.2.3).
*.
24 Decc_,nil_c,,,r I {)Ttl. Gc.c)!i_ctri_; llilli_.;forlri:!; PAGE140
- Fclllr l\_o-clini_:nninn,il li_;c>.l_ro[_Ic:n_r>:cnnto.r of lin(:$, intcrsoclion radiu,s
of linr_,_, Inii_iln;_l r,l),_lliiin!! ,'_c:£ilil,;_.nl._r liiic'_, dic_in,,.ter of line.s ['21].
- Numl_:r _f (:xl_,rior l_¢)illl <, ill int(:r:;?.c:ti_n of N lin_:,.:_is linear [21].
Generaliz_:d (::;l_q,_:-Inlr:iC_l_l)[]llc_lil 7 I r,_ii,,:fc_rm
- Intr;r,'_;;c:lioil c_f l l,_If-K-,':,l-_,-_cc,,._(,'-;_,.ction 3.1.5).
Circle / l_oint l)llalily
-I¢nlalir_l/ I_r:lwr:_:ll il_vcl:,i__n, l'rfint / Ii,'_t dilali',y, and COllVi_X hulls(Se(:lic)l_ 3.2,).
Spherical I_oil_l (l'nir) / Grc.al ('ir(:l,!-. [)ll_l!ity
Pl'(:3(-_.1"1f('5 s/_l_;_ti_:<ll ,ing/(;, l_,;fflvoc,.n ,;l /_oint c.nd a r.Utc:atcircle.
-O(N Ic_tl N) titll0,. _l!_l,.)ritliiit for ',:;i,lt,:ii(:_l fartllc,':;t line Vo;onoi diclgran_
[22].
i!1.3. Miscellar_¢:ous Tr_:nsfo;'i,is
Point to Iocll_; of ct ,_;ct of points tr,_,n.';form,_
- [)igiliznliol_ prol)l_,.i_l. Gi\lr'.n N (ligiti::_:d poil_t_, fincl tl_e set of all lines
that Ilc_v(: lltclt _licliti;';iti()n [22].
-Inclllr;i_l_ of N l_it_l_'> r)ll a i ir:misl,li_:rc' -- in[_:r:;_:ction of half-st)aces
sollltinl_: r:ar:l_ I)r, int tr,_i_,',forin;_ lo ill,-, <,ct of F,oii_t,'_ from which it is
vi::,ibl_ (ill 111i.<_c,_r,_: a h,_l[-:;I_c,:). (St-:c,. Sc:('tion 4.2.)
-"l-ral_.<.,form I:,nlyl_;:,Ir,_l ol_:_l,tc:le->._to l__c.tl.'!,of forbid(lel_ posilions of a ..
refnrr:ric:r:: p(lillt of tl_+:, nlc_viiig (Jbj_:<:t [71 ].
24 Dcccnll)r:r 1,qY_,l. G_:om(::;ric Transform.',:; PAGE141
Polygcul to .'._trin.q tr,_n.'.,fur_n
• 1 - t)
- O(N) lime _ilg_Jritllln for _-;imilaI'l_y c_f r_()lyg_:_ns[7,.].
24 Decemb{:r 1,q79. G-.('..()lll(;i.l'i(.; ]ritllSi'orlil,*; PAGE142.
24 D_cc.ml_.,r 1979. Gcom_tric Tmn',-,forim'; PAGE143
R_fo[c:._cos
ll J A.V. AI_, J.E. tt_._t,cI_._fl.,_:_ll(lJ.D. UIin_,_n,The Design and Analysis of Com#uter
Algorilhm._, (Addi_:_-Wu_lcy, 1074).
[2] i I.S. B_._ir{I, F_'.,t Al_lorithm'.:: for LSI Artwork Al_lysis, Journal of Design
A(/lomation & F,tulZ-7olc.,ranl Cc_mpu{ing 2, 2 (1978), 179-209.
[3] J.L. F,(_lltl(_y, Divid(_ and conqu(:r algoriZhm.'; for closest point problems in
mullidimcnsion,J Sl_,:_c(:s, Pt_.I-).Tl_csis, University of North Carolina, Chapel
I iill, N()rtli Carolit_a (1076).
[4] J.I. B{_nll{;y, Altloriil_m::, for I_,lc_'s rectangle, problems, Unl._ublished notes,
Car_uqic-M_,llol_ Ut_ivcr::;i[y, 19Y7.
[5] ,I.I. l_{_nllc:y, I)nc;oml>o.';,_l_le ,'-_::4_l'chingProbl_ms, lnfo. Proc. Left. 8, 5 (June1 .rt7_.}), ,:-'44-2f:il.
[6] ,1.1. l}r:nll_'.y, M_Ilidir,;_'n._,iol_al l;in,-_ry S_;,_rr:l_ Trce.s in Dat_base Applications,II FI lznn:.;, on ',;oft',',mzc. Engi,'_c,._,.,ringSt!-5, 4 (Jt_ly 1979), 333-340.
[7] ,J.I. I',_:nll_;y, M. I n_r;l, _nd I:.t _. Pr_:r_r<_t,_, Approximation Algorithms forConv_'x t ll_lls, i_ t_rt:r_,-_rati__n.
[8] ,1.1. l_:.._ilcy ,_{1 ,1.11.I rir.,,_lrl_a_,,1-,'_.'_t,'_Ig_i'ithnts for constructing minimal
Sl_,',l_iI_(.I tr_,:'.', in (:c_nrdii_,'_tc sr_._(:_:s, IEEE Trnns. ComDut. C-27, 2 (Feb.
1978), .q7-105.
[9] J.I. B_:_::nllcyal_l J.II. l-_iu._lman, A S_rvcy of Algorithms and Data Structures
[or R,'_Ii_](:.;_:'.: ,,_;_rcllil_![t, To _t_t_'_,_rilt/]CPvZ Con)l:). Surv..
[10] J.l.. B_,nllcy, I1.1. Ktll_.q, M. S(:t_l,ol_lict,, _n(l C.D. Tt_oml_SOn, On the AverageNu_l:_{.,r o[ M4_>.illt,i ill _ Set of Vector,'; _I_(t Applicatioi_s, J. AC/Y/ 25, 4 (Oct.
1978), 53(;-.543.
[.1 1] J.[. [;('_[l{:'y _l_t I1.A. l_,,4_lr_:r, I_ffi(:i_:l_t Wor:;t-Casc D_lta Strtictures for
[),allg(.. S_:'arcllilifl, ro Ul_l_:_r in ,_,CIA Infu'nt_;_ic_,.
[.1 2] J.I. B(:llil_:.y al_l l l_. Ottl_l_n, P,l{loliti_ln'., for i::,I('l)orting and Cot_ntingG(;om{_tric I_[_l_;_,,:ti()l_;, IE[:f /r,_ns. Corn/,. C-2,S, O (S('l_t. 1979), 643-647.
[.1 3] ,I.I. I}_;ntl('y r_l_i ,1. S:_x_., I3c:_:r,mi_,:_,':,,_bI,:S_..,,rching Problems, 20th Annual
lilt: ,'-;yml,_siun_ on f ound,_ioz_._ o.f (',omi_ut,".r Science, (1970).
24 [)ec_:nfl)c:r 1 ,()Y_,). Gc'on_ctric 1 ran,*-_fo_'m,',; PAGE144
[1 4] J.L. B,.,.I,tley ai_l M.t. Sl_aln_::;, Divi(.i,." _ft(l (:orl_luer ilf _n_llti(ii_i_cllsional space,i)I _. 2"' - ,.... .,:0 2"_0, f'to,:(,,._r.lii_,.l.,, of lhu L:.iqhth SVlnt_osium o1_ t/_o Theory of
CompuZinrl, AC_Ii, (May t El?O).
[15] J.I. B_,_llc_y uiici M.I. Stl{_nto,_:;,A [:'rcfl)l{:ln il_ M_Jltivitriate Statistics. Algorithm,
Da ta ,%i_Ll_:ltzr_,' _ijcl Al_f:,li,::atioll,';, 1)I". i 93-201, Proc.ceditt(jls of the Fifteonth
AIh_tlon Conf_tc,_,:r_ on Contmuni_:,:_tion, Control ,_nd Computing, (197Y).
[16] J.I. r_nlttl(,y nl_{l M.i. ,g!_amos, Divi(ie al_d Conq_(,r for Linear [-xpected Time,Info. /'roc. 1_;,_. Y, 2 (fct) 1978), _;Y-.(ll.
[1 7] J.l. Bni_tlcy, D.I-. F,tanat, and E.tl. William.';, Jr., The comt)lexity of nearn_:igl_hor .'_:arcl_in(l, Info. Proo. I<,.ti. 6, 6 (Dec. 1977), 200-212.
[1 8] ,1.1. t_n_llcy, I',.W. Wr, idc:, ,_ct A.C. Yao, Ot._limal t::xl_ected-Time Algorithms for
Clo-:;c:.';t-l_oi_t l'rol,I,:m:_, lb oc<:_<tin_:l::;of the". 1('_'h lIIh:::rton Conference on
Ccmmmnic:,_t ion, Contrr)l ,mrl Comt,_/t ing, ( 1 !3Y_:",).
[1 9] ,J.I. t_,_'_tl_"y _t_i_tI). Wr){),l, /1_ Ol_tim,_l Wor._t-(:_._,: Algorithm for Reporting
Int_rs_:,'ti(ms of lh:Pt,_,,_ll,-.,:;, I_,.'t_. (-:rqlJ-cs--Y9-1:)_2, (Carl_e.gie-Mcllon
U_tiv_::;r.'.,ity C_:)ll_f_t_l<'rS{;it,nr,:e Dct_art.lil_,.r;l,, r',i_y1979).
[20] A, l:;_)r_:_,lilial_d I. Mt!_io, lh,:" C(mq_ut,_li{m,fl C()nq,le.\'iZy of AIrj_.,hraic and
N_m_::tIR Ptol_h'n_.'.,, (h_il,:'rican I l::.,,vi,:r l_t_l.)!J_;iiin9Conlpar_y, New York,19Y5).
[21 ] K.Q. t;r{_w_, A Si_tl,l_: lraI_{-;form for F_,."-_tGconletric Algorithms, unpublished
[22] K.O. Brow_, U_l_ul_li,';lie.d notes.
[23] K.O. [Irov, m, Vorol_oi F)i_!:jran_s froln Convex l lttlts, To appear in lnfo. Proc. Lett.
[24] K.Q. i-_r()w_, Colnnl_'_lt.'; ()l_ 'Algoriil_In,:; for Rcl)orting and Counting Geometric
Int(:rs_:(:Ii(_ll,'_', S_ll)mitt{:,.(I for I;_t_lic,_tioii.
[25] D.P,. (:l_n_(l an{I S.S. l(,al;tir, All al(i(_rill_m for convex polytol)e.s, J./ICM 17, 1(,ian 1 ,qT()), /'S-S(;.
[26] D. Cl_<:rilon algol i_.[.larjal_, lindil_!:l Mit_irn_ln_Si-_l-_l_ing Trees, SIAMJ. C.ompu/. 5, 4 (I)_'c 1.q/_:;), 2'P,I-Y4;::.
24 Deccmi)(;r 1979. Geometric frazt.sforn_s PAGE14.5
[27] I). C¢_l_l,{:'.r:,:i_itt_,[_.-i. I {:(,., aL_d C.K. W{_,E!, h.,omr;tries Between L 1 and LcoI'¢l_:lric:,.; in Co():din{_,: S/,<_,:(:, Rel,. RC 7000 (/12993S), (T.J. Watson[_r-:s_-:,_rc:hC(:lll_:r, t:_: ). i .QYS).
[28] G.[{. l)q_ll;'ifl, l in_:,_I Pro[ir,_,_mli/W {md Ex_el_.sions, (Princctor_ University
l_e.'.:,:_, F'rill_:,::t_n, N_::w jc'r::(:y, 1003).
[29] J.C. D_vi_:; ,_J_{lM.,I. r;,1(:Cui!_!:;!_,Di'.;i,l,_y ,;Pd An<dysis of Spatial Da_a, (John
Wiley & Sol_:-;, 1975).
[30] I.. D(:vroy,,, A N_t(:: (,i_ Fi_(ii_l(; C()r_veX i!uils Via l';_aximal VPctors, to appear inInfo. Ptoc. I (:_..
[,'31 ] A.K. I)(::w(llt,:'y, Co,nl,lc,,'<ity ol Nc,4_,,_;._ZNeighbour Se.afching in Three and
Iligh(:_r Dim,:n.'.io/_,';, R,.'.I). 2S, (r){,p,,rtr_{:.,_[or Coml)uter Sci(-.nce, Universityof W_:st_:rl_ Ol_Lario, 19YY).
[82] I!.W. t)ijkstra, A l'4o!.t: on Twot-'iohlcn_'; in Connection with Graphs, Numer.Math. 1 (1.q'_._}), 2(;._t-;?/1.
[83] [). l)ol,',..i_ _11:. t ii)tnI_, M_l_.i_li_;_-:_r;icmalS{:arching P;oblcms, SIAM
,J. (:Ol_?[)ut. [), ;) (,JIJllC 19 Y(;), I _;1- I t.;t;.
[34] I). I)_)i_i.i_t al_t I',. I ipt()n, On tl_-: _:,,mi)l{:xity of computatio_s un(lcr varyings_,tr; {_[ i_rin_iti',/_:,',, ,ln_,'nnl of Conq,ut,:, (rod 8y,s_em Sciences 78, 1 (Feb.
1_)/f]),,_;fi".!]I.
[3S] i). [_nt,kiti, l{. I ii,tcm, ;_l_,t S.P. l_,'.i.':,:,,/x,"ursions into G(:omeUy, Rep. 71,
(Yal,.: I ll]iv_:,.rr, ily C(,ml)llt(:r Sci_;rl(:_-: D(:partmcnt, 1970).
[80] C.W, l)n(Ifl{::, [u,::lid,:,,_/_ (;,::,on_,:try ,,rid l ransfotmaZions, (Ad(lison-Wesley, "¢, •P_tl)lL,,l_lIIfl Co., 1972).
[37] F:.I. l)tys<:lalr: II1 a_(t D.-T. L,:++:,G,:-:r_,.:ralizc(; Vorol+loi Diagram in the Plane,Pro('_,,:dinrl,_; of the Six'tee/_th A/t(_/lon Conf(_rerice. on Communication, Control
a_td Coml,u[ing, (19YS).
[38] J.P,. l)u_l_a,i, D.G. KL'fly, {_{1 J.W. loll,.',, Som,:_'Experitn(.:,ntal ResultsC(m,.'.('l l_il_fl _l_,; [-,x/,.',:_(,(] Nun'/,,:v of Pivot.'; for Solvinfl Randomly Generated
Lin,_;,_t Pr(wl_m_._;, l',,__p.7Y - 1(;, ([)(_,t_artint:llt of Ope.r_tions Research and
Syst_-,_; A_ly.,;i,,;, Uitiv(,r.';ity (,f 14_,Itt_C_l()li_a, 1977).
[30] W. Fd,,ly, A N(:w Co_v(,x I I_llAitioli[ll_t_ for Plc_nar Sets, ACM Transactions on
24 Deceml_(:,r 1 fl(,q, t',_::onJc.lric t r01_:_forms PAGE146
Matl_(,.n_atienl Softw_r_: 3, 4 (Dec 1,G7T), 30S-,108.
[40] R. Floyd, pcr,'.;ollal cc_mn_tlnication.
[41 ] S. lortLJlte and ,;. I lol_crc)ft, A l',]ot_, on P,__hir,',; Nearest-Neighbor Algorithm,Info. t_/oc, lelt. 8, 1 (Jan. 1979), ;:!0-23.
[42] M.I. Ia_'dnlan alld I_. Wr.:idr:, On flit Coln!)lexity of ComptJting the Measure of
U[ai,bi], ('omm. /I(:M 21, 7 (1,_)/S), 'O,qO-',_.']4.
[/13] N, fri{:dm_li, '.;r_ni< jlr:r, illt.; c,r_ thL" I l({:ct _:;(Aritlin_:tics on Comparison
l)r _fl)l_'.mn, I)t>. 13_._--14d, 73,h Ii:m_/,_l If_ti/: Sym/_.,_;ium on Switching and
/llltr)l_hlt,i lhc:ory (1_o[.I/c:,_tl,)d Fou/l,l,'_t/on',_ of Co,;ni,uLer Scio/_c.e,), IEEE,
(1 fl 7;,).
[4/i] I_. Gac._ ;,_d I. 1(:),,/a.':;7,Kh,_c'hi_in',s zl/[]orithm for linear Programming, Rep.
SIAN-.Ct.;-{tI--Y._)O, (D(:i_(_ilm{:nL of C(i;nlt,_Lc:r Sc:i{:nce, St_nford University,
19 _'9).
[45] M.I_. G¢,r,:_y, I{.1. GI,;tI,_It_, ;_n<l D.S. ,toh_t.':o_, Sorn_:_.NP-Complete GeometricProl)l(.llls, i_i). 10-22, _;'th /i/mucd /fiC',_qSymposium on the Theory of
Comt._utin_7, (M¢_y 1,qTCi).
[46] N. Gill)(::rt, l:',,_l_(lolr_Stii)(tivi_:;io_t:; of Sp,,,(:c iI_to Cryst__ls, /lnnals of
[47] T. Gor_/_l_,;,_:, /1,1_lotithn>, o_ :;(;t::, o,_r/ rcl,_tud/)roi4::'ms, (Dcl)artment ofCotuput_r ,)':"{,'i(,.ii{; c, l..llliv_,.rsity of Okt_olna, i _,o/,. ).
[48] R.I. Gr,"il_i_m, Avl (:_liici_:i_t {_l!:Ic)ritl_ln for dc:tcrlnii_ii',!l the convex hull of a
i)lal_ar ,';{:t, I_/o,/'_oc ....Z_,_t 7, 4 (l_;_c, 19i',:f),'" 13",.-13,..'R
[49] B. Grul_l)_:_t)In, (;oztvcx f'o/ytOl:)C:s, (Wilc:y It_t_:'.,"_;cicl;cc, 1967).
[50] F. I lara)y, Gro/,h Th,:ory, (A(t_ti::,_,;l-V,/_:::,l{:y l"lthli,_hirig Coral)any, 1969).
[51 ] J.A. I lartifl,_n, Clu,,l_rin[l A/r lorithm,';, (,lohn Wilr:y & Son,,;, 1 ,q75).
[52] ,I.q. I Ic,cl,,ing and q.t;. Yc_ttn(;, 1of;o1_)_.I;,, (Addi:_ol_-W_::slay, 1961).
[53] I).A. ll,_iim,_n, A l)_l;,lity C:r,nc,:'.l}t Ic, r Ill,:: Ar,nly::;i.':_of Polyhedral Scenes in:
Mnr'hi/_. Intr:lli_t,.:n,_' ,_,,I:.W. l!l{:or:L and I). klicl_ie., E(I., ([:dil_t)t_rgh University
Pr_:,.',:,r;an(l Ilal,';tc(I Pre:,::; (_, ,,-;_lhsidi,,ry ol_Jolin Wiley & Sons, Inc.), 1977),
pp. /17,_i-/1 _)2.
24 Decr.'.ml_:'.r 197f./. G_-:om_:tric TrL'_liS[ofln,'._ PAGE14Z
[54] R.A. ,!_rvi.';, Or1 tll_'. I_i_:_lLific,_ti_li_ <_f ii_; Con,,./_:x lltlll of a Firaite Set of Points
in tl_: t_lan_;, lnfo. IYoc. lctt. 2 (1973), IS-21.
[.55] R. ,l_:ro.,,Iow, 11_c,,'-;ili_t:,Inx Alcjorithm \;/ith ti_: i)ivot P,LII_:of M,-_ximizingCrit_rion Imt)ro\/_:nl_:nl, [)i:;_:r_:'_::/i#ath. 4 (1 _)7'3), 36Y-37_'.
[56] I).,'-;. ,Iohn:;oll nnd i.l _. I_r['pnraln, It_(_ [)r:n:_{.st ttemist::,here Problem,
7heorr:tical ('()mt_ster ,Sci_::nc(,.C;, 1 (1 _.:;7S), 93-107.
[,57] 1. Knightly:,/I th,:c)ry of Orig, m,.i [4/c)r/d, i_,.p. CMU-CS-Yt_;-144,
(C_,rn_:gi_T:.-M,"lto_l II_fi',/,::rr.;ity (:_:rnr_ttt_:_rScience Del_artment, 1978).
[_"_ _.._-I,_,.,j l).C;. K_'ll,'y, (:_n th,, t_zl?_I_7.rof it,,t,_tio[-_._<n,::, ,'i,:d to .£o,q/o a landon?
tta:o-diz_,,n::.iozh_l liz_,:,,_r t_ro:;ra,';_, !_(:l_. 77 - 15, (l-_cpartr_c_l: of Operations
I/r,:;_:.,_rctl ;_I_(I Sy:_t_:i_l:; AIl,_ly:.;i':,;, lJlli_uI:,il.y of Hortl_ Carolil_a, 1977).
[59] D.G. Ki_kl_,_lri_::l<, I; i[i_:i{:_ C(_=_i,_l;_ti_)i_oi C{,l_tiiluu_s Sk{:'icl.on_;, i)P. 18-27,20th /l_mu, d //EL. Sy/_q,o'..ium _,_ [:ou_d,_tior_.:., c)[ Comt'.,ulor Science, (Oct.
1979).
[60] V. F,I{:{' {_:; G. rV_i_ty, lkw,/ !IOOCli.<;ti_{" ,:;ili_l_i{;'X _lgoritl_m? in: Inequalities, Vot.3, (Ac_(t(:;_nic Pr_,.:;.,,,"r'_,_\vYorl;_ 1.q72), pr,., I,.,.,-1':-{'YS.
[01 ] L. I(.i_._iiiro(:k, Qu,'c,,<:i_;::!#.:y-,_c_t.', Volume 1. Theory, (John Wiley & Sons,1 975).
[62] I).F. Kl_ttl_, i}ifl o_i{:lolt {til(ll)iq om,:;ga _'_ndl,i!j theta, SIG/1CTNews 8, 2(Apr-J_ll_ 197(i), 18-24.
[63] ,J.V,. Kr_,';k_l, Oi_ tt_{: ,":;l_c?rt_:stSl;_:__t_ingt::;_lhtrce of a Graph and the TravelingSal('..';inan l'rol_l_:iit, t"roc. /i,%'S 7 (feb. 1.q,_C,_,,18-50.
[G4] I1.1. l(tIIl_l, I. 1_cci_, an_l F.I'. t_r<:t',ar;_t{:_,Oi_ I inding tilt: Maxima of a Set ofV_ctor:;, J. ACM :.,;_', ,'i ((._ct. 1!t:'_), 4(if}-47'(;.
[0.5] l]. I r_ltil_:r, 4-1)inl_::t_:_i{,l_al l',i_,_y ::;_.,_i_:t_I r::_::.'-;;_s a I'.,.ic:nnnto Speed tipA_;:;r,r;i,_li'J_ '. t:.;,::._rcl_in [)_:_;i_:!t_t',=_i,:Veiifi,:,_ii{,i_ of InI,_gtal_:{l Circuits, J.
[)r:,si_/,,_/1utom,_tion ,_::[ ,:'//t-lo/,...r,:,/_t Co'_ii)u_,in:! 2, 3 (1978), 2,11-247.
[6(;] I).-I. Ic_: ,'_n,:t I.I _, l'r,:i,,_r,,i,_, t_,,':;,ii__l_ _f ,_ l_oirlt in a l_lannr St_b(livision and
Its AF,l,lic,_li(_lY,, S1,!,1'_.I(;_H_,I/ of Com./,_,,_ir_<)G, 3 (S_::pt 1977), 594-606.
[67] 1).-I. 1Rc ,,_i C.K. Wor_g, I/oro::,:i l):,_L/r,;_::-,'_;i:_ L 1 (l o:,) Metrics wit/}
.::: :::::::::::::::::::::::::::::::::::::::::::::::::::::::llm,:: .:::: .:::: :::: - -- -
24 D(:ccml)(,r i rl Y[]. (.;c_:,n_ctli,:: lr<il;._; [orlll,"; PAGE148
2-1:)ii,_r:_:,iol_,_l (;t.l._r_tlu A;>i:.!!c.:,_tiol_-;, Rcp. RC ri;:;,1,_; (fl29359), (IBM T.J.
[68] D.-T. l _:(:_,_1{1 C:.¢:. h',_l_!l, I _:_c,_ti_._l_c)f Mlllii;)i,.,. Poilits in a Plal_ar Subdivision,info. Pro,:. l,.;_'z. P, 4 (t,,I{;v. 1979), l ::'t0-1 c.;3.
[69] R.,I. I il)t()lJ ail(l f:',.l, larj;,l!, A S{::i){_r_lor lll('(;rcln for Plan;_r Grapl_s, Pl). 1-10,
Wii((:;t l()o Coll(,Tt lm_::u oil Thcot {:_.i(::,_lConll_',_ter Science, (/',,ug 1977).
[70] [{.,I. I il_IU_l i_t_l I.',.F. 1 _Iij._t, Al_l_lic_ti{:_il.'; of a Sci_arator Tl_corem for Planar
Gral:_l_.';, 1(;_h /Inn'Lll If-fL Symt_):;i!m_ on Found,,tions of ('onq)u_er Science,
(197/).
[71 ] T.l.o:n__o-l_er('., ,' _I_i M.A. W(,._;l(:y, AI'_.td!:l,:)riti'_n for Plannil_g Collision-Free
l)atl_.'; Amol_g I'_Hyl_(,drn} (bl_r;tncle._:_, Co'_mi. AC/i';,"22, 10 (Oct. 1979),560-,'_7'0.
[72] q. M,t_,_(:l,_:r, A_ ,,I,l,ti_:_,liol_ ()f l),'_tt_:r_l ni,_tcttin(l lc> a problem in geometrical
COml_l_,.xi_y, tnfo. I'tnP. IPtt.'_, 1 (i_.},,'i:}), (;-7.
[73] I).t:. Mtlltr_:r ,',_1 I.l'. l'r,:i,,_r,_l,_+, l:Jll,iii!<l ttl(: Irlt{:r:_{:(:tion of Two Co_'_vex
l)olyl'_:._Ir,,, llK.or_,tic,_l C_)n_t:,_t,:r "-;<:i(,nc<..7, 2 ( 1._]7S), 2 I [-236.
[74] C.tl. l),'_t_,'_(tiI_ilri_')_ ,,_:I K. t-;i_:i!:;lit:', ,':;,r)mr,Con_i)l_:xity R('.sults fc)r the1 r,-_v,::llinf; ,'_,_t,::,l_l,_n I)r()I_t,::ll_, I)P. 1-9, !:ighth Annual AC/1.'/Syn_posium on the
I h_:o_y el r:onq,_,_ion, ([_,_y I _ ;_:;).
[75] D.'I-;. I_all'._::r, SZ_di_. _, i/_ Co,,_ju_.l,_ti(m: t/u/fm<u_ T/ue Construction, Nonlinear
R_:,_;utr<_n_:_s, ,_/_rl l',::l_,,_;_,_tion N,_tlvc)r/,.'.., PI_.D. Tt_e.sis, tJniver..*;ity of Illinois
(19(t]). l_:cl_, l{_:i:,, fi [IlI.IC[)CS-f.',-Yt:;-q3(), LIIII.I-LNG 78 1721.
[76] I. Polll, A._;o_ti_!l I:,robl_::ln _l_(lits c(_l,i)l{-';.:ily, Comm. ACM 15, 6 (1972),462-4O4.
[77] F.P. l'r_:l_,_i_I_, F_I., St_V,,', into Co_,,i,ut,_tion<i! C_.,_ni,,:.,lry, Re.t), 1),-760
UILI.I-I:HG YY-2207, (C{_:,I<l;ll_t,:_.l S,::i_:_{:_.::I._i_or{_t_.)i-y, Apt_licd Colnl)utation
Ti_(;()ry Gr{_i_, tJ_iv_,.r.'_ity ()f tlli:l(fi,;, l,t;i)_iI_::, l',",,,iri97Y).
[7'8] F.P. !r:_r_'l_{_r_t_, S'<'/,.', I/_o Co,'n/u/t,_:io/,,_l O_,.,cvn,'_ty:No_(:hoot, 11, Rep. R-792UII_U-It,IG YT-;:!;"3t], (C:(){:,l_li_te.{1 t:_ci_,.ilcc l.{_t)_)rntory, Applied Computation
Tl_{:_)ry qr(_lf), /l_i\_{:r.,;ily {_f Illi_oi.;, tJii}_i_{',, S{:t;I.. 1977).
[79] F.I'. f'r_palata, 111_'.ivi{:_ii,-_lAxis of _ Siml_l{: IX)ly'gon, pp. 443-4S0,Proc(_c,'tin(l,"; of th,: ",>i.xth _,;ynlpo:.i_/n_ on li,,,i,h_.m,_t,cnl Fo,:mc/_lions of
2.'1 D_._(:<:t_l_:r 1 .qlg. G('_c,mc:tri_; 1-r;ills[OrlliS PAGE149
Coml)tlti:i" ,%ci¢:il(::tq, (S(:i)t. 1 [)7}'). V(Jl. ,_,_:_{_[ I_'+('luto N;,I':'S in Computer
S<::i<:/u'.e, G. {:;_(_+;,+_1t_1,I. l iallln,_i;i:, Fd., ,':;l,rir:rlc:r-Verlag
[_i_0] I.I _. I'r_:'l_,_r,_l,J, A ,N_:::wAi_i_I<,,;ci_ _,-_Pta_lar P_)ii'_t Location, Preliminary Draft.
[(-_1 ] 1.1_. l_l,:_l,;_r,_t,_, At_ ('_!,[ili_:'.il',,',_i--t imp::/,,lO,::_iti_r_lf{_r Planar Convex l lulls,Con m_. AcM 22. 7 (,Itlly 197:}), 4()2-.'i(:)L_.
[82] I.I'. i'r<:l,ar,_t,,, A r._l,:!: on I <_':,_ti_g ,n S_t of Points in a Planar Subdivision,
81/1M I. (:_)ml,Ut, <'-;,.q ('_ .S)"_'' . ., . l,_v. 1 ,,,;, Li.fi2-,_i,fl,_i.
[88] I-.f', I'_('.t_,_,_t_, al_(t S.J. tl_fl, C_l'n/,.:>, t_tll:-; of fil_it{'. ,'_e.ts of points in two alldtllr_:u _ti_l_:_.<;i_:_;t,':;,Com/n. 1]Ci_¢2'0, 2 (Feb 197'7'), 87-93.
[84] F.P. I_+,t,_,_t_, {_+_t [).F. rvi{lil_:r, Fil_dit_g I.i_e.I+_tcrsecti(:,t_ ol+ a Set of nI I_lf-,"il)_(:u.+: i_ lii_l{,, {.)(i_ ivst i1), l h<:o:{:_ic_il Co:,,q)u_et Science 8, 1 (Feb.
I,qT,<)), 4,',-5',.
[8,5] R.C. l'rin_, t>;l_i i,,.:;t l::,:)l_lt_,.c[i_!, t',!_:tv'o:k,'; _ti_i Some Generalizations, BSTJ3 G, 0 ( N_v. t ,_I."_?'), 13 _:;'.i-1401.
[8G] M. f_l_il_, f'i{)l;{,l,ili:;tic ,':l!:i,:,ritl_;,_:; in: Af<.to_i_h_,n; an<t Compl<:x'ity, J. Traub, Ed.,
(A_:a_i_:nii_: l'r_,.:;,';, 1 ._!li;), l_p. 2i -,'t0.
[87] E.M.I.;{',i_tfl_l(t, Ctn it_: Oi_tint,_li[yof S(_me Set Algoritl_li_s, J. ACM 19, 4 (Oct .-1 !1/2), (;4!t-ti,_tl. ":
[88] ,I.l_. _.;nx_, ,_1 ,I.I. i_{:ntl_:y, 7_,_,'_-,f_)tmi_Lq,':;_,_zi_:l)a_a ,Strur'_ures to Dynamic
S IIU<;tUIi:t;, t_::p. C_vIt;-CS-7!)-141, (Carne,:iir:-Mcllon University Computer
S<:iencc [)r:l)nr_mc:i_t, Scl_t. 1!l_'!}).
[8.<:_] M.I. ,'-;l_,_mr,",,C;c.__n_,::lricCoti_p!_xi!.y, Pt). 22,!-233, Seventh _nnual/ICM
Sympo:iil_m ot_ tin: th,,ory of C,_'nl_ut,_tion, (1 .qTS).
[9(.)] M.I. ';;li,_ti_r,, (;_.__In;'Iry ,,_t ,'-il,lli._ti_::;: I:'rol;l_:lns at tl_e Interface in:
i11!V<ffi_hn_.',,_u!C(_nt/_h,x'Jtl,,I.I.Ir,_h, I_I.,(Academic Pr(,.ss,197Y), pp.
[01 ] M.I. ,':;11,_i_:,, Con q;_n,_'i_)n,_l r';_:on_e_y, Pi_.D. i lie.sis, Yale Uldversity,
[)_:t_!;lill_ _lt (:+_ C:t'di_i,lil,.:r t:;(,i_'ll(:(:" (P,,_i_y 1_'i ,:'{:',). "[o apl,(:,_r as Computational
O_::on,.,tl y, ,':;l_ri_!l _;r-\l(:_ l_)!].
[02] M.I. Sight,no,++,l>+:+t,':;+>_l+tlc+;_llllnut+ic_;tir_n.
[93] M.I. ,_;ll_tI_l_.'!;_l_l I). livery, Clo:_;':;t-["_)iiit ['rol;l_,.n_:,, t:t). 151-162, 16th Annual
IEf:I: Syml,O.';ium on Foulirl,;ti_',n.', of r.'oml,uzi/:L1, (1975).
[94] M.I. SIi,_n_(_,; ali{l i). tlo,:y, Q,:_)m{:tlic II_l.('l:;_(:ti_;_ Pr<)l)Icm.';, t)p. 20S-215,
l Ylh _mm, il II ii ,';y/n/,,;.'.;ilmt ()t_ f-,,i/hJ,_Ii{,n.; of Conq,uI<:/Sci_)nco, (1976).
[95] M.I. SIl,_m().'; alld G. Yl_v;_l, l.ow{:r I;,:_I_{l:; 1rein C_;_i_f)t(:x [_ncti(m fh(-.ory, pp.
2(;_}-;.';_'_], 1/th III I ',_yn;t;o.,_ium on thE.,l ound,_ion.,; of Comt;utcr Science,
(Oct. 1_.l[q).
[06] B.W. t;il\/<:rma_ _l_(t I).M. lllt{:rii_gt_)_, Minimum Cov_Rrir;g Ellipses, Manuscript,
LJ_iv{'r.',ity (:)I I;,_tl_ an_l IJl_iv_:r.'_ity ¢_f (::;la.':,LIc)v,.
[97] I.I:. t;_lllr:rta_l, I_.I. _:;pro_ll, ,]I_l t.;.A. _:,h_i_i,_cl:_l, A characterization of ten
hidd_'__ :_lrfacu algori_llln_;, Co;ni_utin,j Sl//l/c,y_; O (19,,'4), 1-5.5.
[98] ,I. va_ I _:_tn,,/_,.l_a_rl I). W<_,I, _'/1_:L.'h-::;.sur<:r/.oo'.la/n for R<:.ct,;,_gulor Ranges
in <l-t:;t_,_,:,:, l',,'-l), l:[ltJ-( _';-Y_.li'i, (',),::r,,_llr_(:iil. {ti CCIIRIJI,II.{'r SCiC'I1Ce,
[99] t,.W. W_:i(l,',, ',:;t,_i',li,:,_/ /:,':,::hod:; i:, i!::l_): ith:;,', :)_._,i!::_ a:ld ,q,,:;'._!;,sis, PI_.D.'II_:,i'_, Carli<:(li_:--[,,i,;}l_)li ll_iiv,._l::;iky, I),:l_,_r:r;;_'._il oI Coml>_._tcr Science (Aug
19[t;).
[100] I.M. '_',_fli_ti_ _t(I V.C;. l;_)II.y'_I_::kii, C, );:_/,'>, t:i_.jur{:::, (ilolt, f:',il_{:l_alt and. Wi_;t_l, i ,_tC,I ),
[1 01 ] A.C. "(_,,,, /',ll 0([ 1_,!1lc_!i V) _lt!,:;_iti_ f(;' li_<iii_!i ;i_iliiinum sp,:(i_ilil_g trees, Info.Pr()o. I,:tt. ,'I, 1 (S,.;t{. 1{)7'{i), 7i--:),?,.
, [1 02] A.C, Y_, On Con.';ttu<:ti/t':/ Z;'inin;tml S/,,_;,fiz,_/ T_<:,.s in K-Dimensional Spacesand R,_:I,,I,:;_t l'_ ohl::m:,, f:_.p. ,';i A_I-_':_:;-7 _'-fi42, (l-,)_l:,urtlt_cnt of Coml_lter
S(;i('.llc<_, ,(;t_l_i(_rd tJlliver:;iLy, i){:c, i 07[). 3:," p_!:los.
[1 03] A.C. Y{_{), /1 lor;,,v l;o_/rd lo Fin,:/i/L! Con',_,',:>,'I/u/h,, Flop. STAN-CS-79-738,
([){'+l_littl(:_lt (.l)(C_+IIII+_.I[(',i",'_;ci<:ll('_,.,{:;t,:lti[oid I,ir_iv(:tsity, Apr 1979).
[1 04] G. Y_Iv_I, l i_(lii_!:; N,.'ar<'r;t N{_i,:ji_i_(,lti.';, Iz_fo.f'roc. Zo_'t. 5, 3 (1976), 63-65.
[105] G. Y_val, i_{:r:,_nal (:_n_mt_Ili_:,'_tioi_.
[1 0(:]] ,1. /(_l_i<,',^/:,l:y, l_)i,i,'.'_ i,_ (:oz_;.l,,Zt,_ti{,zK_!(;, :,)m, :'t/ y, 1)I_.[). -I l_e.si.';, Stanlordl.Jniver.:,ily, l)r:t,arlinp_t _,f (.:o;nl:,_l;_'r ',]_:i_:nc_:' (,Jan 1(]78).
24 [)(,,c,{,tt_l_:r 197£). . G_;oil_c:tiir qr_i;t,,;ic_rt_t,'!; PAGE151
Index
/die>, tl',p+t+,>ft, _,'+dLiltlii,trl 1(;, 17"
[',r'III{"V ,qi'trl C)ltttl;_[+II /' {L_;, 1,'+;/_
t',,'r_tl."!¢ ,7_d :;.7 ,,+ 1 1
l:,m+li,,:l ;it_! _',h. +el /[t_'i,II,-'J, t,,+_'1, ,+,i+.li'_';_:, ;11.'_ i01, 1:'_2, 1.7Z,i:+'_111+':,',hli!,r!, F:;.:t+icql,cl:, ,i_,,?Jlr,+:ml,'._:, ;-', 1C),51, 100
[;,,rdtr.'.,,, '_v_,.;_'iib',, ._+,1'_'+'__ fl, 17,',/2, i+;+;;', 122, 1.7,t_[: _r,:,( r_ ,Tt,<i;';_+_+i,_ t;7
['rc>v,;l_ 7, 1";,I, qr>, lc'i('), i.!;+T, 140
[]llel..¢'l tl,:llttf'llll 111, 122
(_+'.tl.;ii,d,tittl l'.;,ll,i.it ._;
(.:t_'.'l>t,':l,::,v it':i[ ,." . ir_ri 1.{'.i]]
(':ti('fll<>[I ,:ilifl lilrj,lil .r't
Cliol+." / t"<:>ii'il[t,i,_l_tL,, '7t.1;,14{)(-:it_:;l(' , ('lllC>ld{'til ..... i_i{' _ ,:':LJilt l(ll_l;- c,f) 1i[!
{;e,,+, _;tdm.li<'i"il l,,,,t>'_<,+li.(:1o'.+-,:.l I'd>lilt f'1{ {drill +, _"_
C<>ll'do.+:tlllll l, 1;>.;7
Illl'l"l ;+*'(li.f II (,I il,iil+ ;.l'i,q, {':;, [;'_'
ft+:"i i'Ji,ll, ,li c>f t,<:,illi I f t+'+ll '<'ll"l" '.s' •1'_t'
II:':.'d ('> ', _,ll ll/l'.l "/<'r't {_"l Cl',"_e]l,Ttil ('?l
llg,rft l+t c,<:,l_ 11tl_ i :ik,_,rtc+,il _I.... "' t ;(')[1")1 f! ""i"l[[',[i'l ?';fi
lilir':lr i-lr<;.riiai _ iil,r i [',;'J
rTl_{-:l+_l+.;;l_tli.m,,t< ; <.,f ;/ t..>;r,t .:.,,,,, ,_,,'i
i'q_l,t<,, hll,_l+' Nil, I,'i,..7:, ,;:+,"t+.'f 111.+.,'l_.,i,_l_ili!7,' <,f f,.:;I_l :.C', 117,"
("r>ill_¢'l. :-I'lti tl'q t ('<, , +It l,'i ttg,,, ,i,'1; i_.
[),l_l;'l+_i 7;q, $1. S,-_, 1.7!7
[,' <:,!ll;_'-,.it,l,..<;,',;!,}lli_+l f'l,'t_it'+i), i(7, r?;[)CI,tlJt ,_'/ [)i,i' If ,iql i{];_{,
:)('(' '\/ !+q _"q?", t ,[It71ili <i',ll
{)'.;"/t(r/_.' 7"+,._,i, 100
[>,..v:cl+,'y 1:_,1S,'i
[,_ r;l{'li ic 11:11. P.s4('lti<: ?':)1
,,, +,f I 1'.:;1ict+".7ll ,'>,>
ll<'l,'_t_:;_ 1<_I /riiilT-hil"'l .".:tlOli I'>i<,
[)ijLgll ,'i !'t
[7{A4..in ;:nrl l it,l;>n S, fl, 1.':',;, 1F,,?,[)r>r!q,-, ._>4
Dr':,' :.d.,l<, G2,
[)+7,!._1._I+,;_'_d t +'+' 7"_,Dl Id'Irdtl, I'-:,"lly, ,7_<tTolle $I
ECDF 10
24 Dr:cetnZJ_:r 1 [)/.r). (;c,.oi!_:: [tic ' I,_t .'.,[(_rlli:_ PAGE 152
l-lr'rw.."I4-L r,Jq_l,.rv'._ 8, 12,1
[nd),,tiilLt tf I,) a I,iu',<.l _lu_.._,:,i::>ri _1, 1.%rlI..Jl_!O;t <_[ c],'.I, q CG
[I,q<,lid(','J[_ ',/c,/<,,l._i di,,,'ir_ri :iq
[Yenr(.':.t r'(Irl," (li,_:H:l_ Z("_
Flal 13
Flnof hl_i::li,,_ 111, 1.,,"':' 1,:i::;
floyd el, >';.'
F_._lli.... ,_Jt,Jil.'it, l,_fl _",, I/, 1;:'_:_Fl('(JtlhltJ ;tl_;J _,'Av';'t_,' "_,:'.;'i',
t_icd_uu_ ;,:>', :.i, 1::',};
('iJ._'_i{'t;'_liltl(,,if lr,nr_.[,_tn'ii.T:b
(;_ll)cIt (W',, 1.",C
GI<:n,:r_c I,l,'.j:.i'Ii_n 11,'>, IF':'iGc,:,:,',h,." 1>', t IL:, 1.",'-q i2:;¢'h',d,.'_t_ v, -.:;;:, O.q IG:, 11i 117
(-h_.d_:,,._ (;,t(]1
lf,'_l ,'.y G>'_Iarlici.,_ C.>:,83
I"Io_:kii_(l,hr,I 'r'(,I.iI_':I 8,"i
t'-iv,:..y 7, _3_:. Huffish., 3r),13:!
hd<'t',,',1_<>i_,,f[h i:, C',
.".C,(' [JlliOll (,_[ lh'.l.s
Ird('_',r,r:i_<,t__f ll,_If:':i,n:;e:.,,,
[<>':J,'r[',<,,i;d ?el
th,l<'>r_<,1 rI_ k._ ,C:;
i'1:_n_<t , 1"ir" d,,-_:::,nm/,?,(:h,::.,<-,:.i_q ,' I i,,'td _lu:, , 1.''r,
Int,,r:,,,,.l_:_, ;'tc>bl_.;r.,_- /, ?::',
Inver_.i<>l_ t',,1, G;', 1,':,/Llniol_ <_f (h'.L _ :- r.,
d,-.ri";_li,,l_ c,f i,,_i_,t / fial d!_, ',ity :;VOl'fH_d;i rJi, :ti,till CQ
Isc, tc)ni(: l,,',i_ec'-,,n 1:!..:
dal vi:. G
,.e_o;,l:,w 81 '
d_l_:.,,l_ ;u,.I r'_,t,p,_,lh_ 112
I<{hl_i,,:t., :'n
l<,_'IIy81
K,kln'_t_i':k G?,, ;;':,
kl.r,d_I ,>,,k 17
K,_,rl, i._:.<:io, and F'_"t,._r,_t,'_ I(")
Lee 7G
l..ee m,d P_ei.,,u at,_ % (,.;, r,.Ir..,
Lee ar.d VV<,:.I (i:?
24 [7)c,c(:tl=l):,r1 _,t7_:i. Gr:om::lric [r,_ll_.;i( rlii,':; PAGE 153
1 ipt,_r! r,r:liatj,+,+ I(),f,:;, [;.'.:;,!:ir,[ ov,,<r L,'_,ir_d 1_",
C<_r,L,e:- ih_ti (;
[I.f, mr'r,t ttn,qJ!,',i+:,',:. Pic, l>le,:n SCIo".." ",t P;,ir SM,-_.'im;i e.,f ;, t:;_,l c_f ',./<.ct,>r_, I'::)
Inl<..:.r,: ti<;,r_of l l._If.-,'Tii,.:,:'; :!G
I.Jr,i(,i_ ,",f [ii:,l .:. i,-,.g
X/or ,Iv,t [-)i. ,IF,_{,I O,:';
E* _ r_!_',trl [:h<lfqt'l,.'i f',:i 1.!,1
EIr_l,tV h_l,.i:K,,:t_,,r_ f"t< ,:,:.!n 1::1
['E,Z._'iii';''F'-t'f('/ _IIHj Vt<,,l_, ,l,,'.s , l,i*[J
It..'1<_l_1,:1,:l 1:i t
P</q,l..'ilihl(>f W' _,::_, 10
l",.;,',,li;_l A.-:L:. _>f ,_ (:<.,I_,.'*,_, .r',Uy,l ,_ 7G
['dlo It l<:'_. 1 _
[,1iltllii'Jil} ,(;iLHdil:,,i i I('© rl
I',ii;111('; ,tlH'i ['1 _";,:'U,_l,t i 1/"
,",t',P \,!C,'f(_l p'H [-,H;_I:_ ,hFil
('h11:_q_;_i_,tm:"i'.I_,j,'< li<.,n,*,:,.
Lir,<,,_I i_t<Kl*,,_,_lfit,I g?
f'<-il,_u:iiiiiilli:_li ;l_ttl t:;l,:.i(i!it,: 11
['<.t ._i,"<'ti,f,' tln_.f,:)iln, itl{._l 1,7:t3i",.qiI 19, S,g
['(_iiil / tl_t [_,;_it_ly' ,'_;:7,,"._,,[;I, 1._:!i1
[ ill,';_t I"1,;,!!_,i!llll;Ir,l [;.;"
I'r_.p.i_._l,; ar,-t II< _,:; :i ,;(_. I:"], ",,',],_:'!, i17"
l'ri_l,':i
f_:ii_il, ;_, 1/, 12')
N:-_<ii._lp; <>je, !;,,i, t .':i.',
i'],-' I:t::,i,l 1:-',1t:l:_l,ili_,e, 1";r,
L [ti,'lrii"' l ,:'i ["(J1
{';*'l*'f" <'t1,.1[:"i_lt<'y 11,.e';li_liti'> iili(i ti,':' 7 :,2c;li ,Ill_,!" ..r,,!i 12, 1:_, ,:':'...,>':.. 8,:';, ,::",,';,:7_':,li. :') l_J{,, 111, 1"'1.._, 12°..., 17::0, 1SS, 139
t!;ih!Hi:_,, ,'illC} }tO':'y }', _:i, ::'/, (,,[:7, (,,/', _.i:', t"i':h 1 1_
,_;il,iHle_; ,lli(_ 'l'iJV,il 101, lt);',. -, t I "j '')_!;llL'Cllli<_li {tl;il i itlt'Ilr,.,;,,I_ , ....
{:;ill '."1 l(:,ii i)l _.'l,i! Iii' (1f /ili :,,f (:,l iltl 1',t'l 1() IiilP,',t_ }'i[ {:iJl*lf¢, iit:',) 1 1(_'_l
Llili<'>rl<if cJiLt._ :,:"
till(:llcl:'{_l'l \/_>;<>tlC;i(li::i(ll ;till ('_',
.,
24 [)(:-'.c(-:nl[){_.r 1 (1-1',Q, G_:,roi;;dili(: Trt:ll_,[_r;it:; PAGE 154
F:Jtti_,_ t.,,14; ut, . t.: _t. q,!..!... 11_
Sidw_.,"_I'J,,I,:_iv,_,:l_,,!!_,_t_7,;
qt,.,l(_,ii,q_Iii_,I_I_,_J,'_:I_,_!I,?,_"
E_Jll,ufl,lI.i, :;;Jlu, lll, :fit. I_r_,_'I,.:.l 12.,"'i
Ul'lion _>I [u l.-,_ ¢,"' 1;/.',_
[.OW('r [,(_ Ir_:l fK;
Vnrl I ne_lv./_,ll nnd VT_:,,d ;;'
Vr_,l(ffl;:,i [)l;'iq¢,'H_lS, t_,"I, t?,?t_
l",Jr'.ll r' "_1 l'<,ilIl (} ."i
FnrU_,':,l I't_lrl} f;,'t
/ipt _,_,_:nt T.",
[(lqo ([C_,rcM,:,. ['c.,IyL;:_I,) 75, I,[;*[;
SI,l_('r ir.al ISG
[!(hl" (Cr, ,v'O_ l'<,tTrl,' I 0 t,_.'.;'[;;
Weid,' 11, 17, 1fl7, * ''_,:,., 13;[,
','a_ilol_ ,_l.:l [::,:,ll,/,.,:.ii_ S,IY;_o fl, Sd, 101
'/uval ;::;, t4, 1;;', 101, t13, 122
Zc4_o\','>l.,y 7, f2, 12/
r,EADI.','ST_:uCr:o._SREPORT DOCUMENTATION PAGE P,_FORECO'.:PL_T;.,,'CFO._,
I. RaPORTNUMaE_ '2. GOV'_ACCESS|ONNO. _. RE:C_P,_NT'SC'kTALOO_UMa_.R
CMU- CS- 80- I01............................. . : _ . ...........
'4. TITLE (And $ubtHle) $. TYPE OF REPORT &PE. RIOD COVERED
GEOMETRIC TRANSFORMS FOR FAST GEOMETRIC Interim
ALGORITHMS 6. PERFORMING 0R'G. R£P6RT NUMBER
2. AuTHoR(,) ........................... B. "CONTR"AcT OR GRAN'i_ NUMBF..R(,) _
KEVIN Q. BROWN N00014-76-C-O370
..... _. P ERFORMING ORG"AN;ZAT'ION NAME AND' A_'DRE$$ .... 10.' PROGRAM ELE_E.N'"T. P,qOjECT. TASK
Carnegie-Mellon University *RE, a *ORE:uNIT.U_SERSComputer Science Department
Pittsburgh, PA. 15213........ . .....
,'ico.';;_oLLI.G o_,cE .A_E A.OADDreSS ,2."RE_'ORTD,,TEDecember 1979
,_.NUMBER Oi_5AgGES
14. _ONi_0_'NG AGENCYNAU_g AeORESS(,:,_m...,;, ,;o_,coW;,oii_Z_'6.,i,_.) ,s. SECUAiTYCLASS._o_,h_. ,°po.., -UNCLASSIFIED
I$.. DECL ASSI FIC ATION7 OOW'N Or_ K DIN G 'SCHEDULE
I_. DISTRIBUTION 'S-TATEMENT (o! t*l. ,Repot,) .......
17. DISTRIBUTION STATEMENT ('o: the .b.,rect .nt.eed ,n Block 20. I_ _ler_nt _r0m Report)
Approved for public release; distribution unlimited
I11. SUPPLEMENTARY NOTES ................................
,_, KE_'WOADs(co..,,,,.o.,...,...,_.._._.....__ ,_..._b._ock._=_.,_ .......
........................ . . H. ..
"O"" 1473 EDIT'ON OF | NOV '$ |$ OBSOLETE----, ,AN ,, UNCLASSIFIED
S/N 0102-0|4"660| I|ECURITY CLASSIFICATION OF THIS PAGI_ (l_hen Dala Bnlet_dJ
_ECURITY CLAS3i_ICATIOH O_" "w_$ I=AC, E "_"_,e:_ Da_J, Enf_,vP#): .. _ : - _ , ......
REPORT DOCUMENTATION PAGE READ INSTRUCT:ONSBEFORE CO,,PL_,,NG VO_,,!L_R_PORTNUMBE_ _Z.GOV_ACCESSI6',,NO. '. REC,_'._,_"S C'*`T*`LOGNUMBS.,
Cl,_- CS-80- I01, , , , ,, , ,,, , ,, , , ,,, , ,,, i,,,,,, ,.....
'_. 'I'|TLE tandeubtllle) $. TYPE OF REPORT & PERIOD'COV'ERED
GEOMETRIC TRANSFORMS FOR FAST GEOMETRIC Interim
ALGORITHMS 6. P£RFORMiNG-ORG.RE;_ORT NUMBER -
";; AUTHORfl) ........................ _: "CON"TRAC_" OR GRAI_T NUMB'ER(;) _'
KEVIN Q. BROWN N00014-76-C-0370
. _ 'g."PERFORMiNG'ORGANtZAT'ION NAME *.NO" ADDRES"S ............... 10.' PROGRAM EL'E',_£NT. Pr-<OJECT. TASK"
Carnegie-Mellon University AREA a WORK UNIT NUMBERS
Computer Science Department
Pittsburgh, PA. 15213.... . ,,,,i, . .,, , ,, ,
,,.CON+_OCL'N_'oF_I_'_'NA_E*`No_Dg_E_s ,=._PORT _ATE
.__December ..1979............
". NU.eERO_IP_GES
14.MONiTBRI"NGAGE:N'c:YNA"E:a'AODRES'S(,Id11/'e,entf,o_Con',olnalOlhc.7_'I'B."SECURITY CLA_S_ (oi,hi.',e'Porl)......
UNCLASSIFIED
" IS,. OE(/"L._S$, FIC ATION/D6w'NG_'ASINGSCHEDULE
,, ,, ,i,. = , ,,, . J, _,, ,,16. O,$TRIBUTION eTATE'_E'N'_T (ol ,h_._ _'epot,) ' -
i_. DIeTRI'6UTION sTATEMENT (oI _..bllrlcEi.le.ed In'BIo¢_ '20. II dll'le.'o.| It_. _eporl) .......................
Approved for public release; distribution unlimited
J_l_ SU IIIPILEM EN T A'_; 'NOTES ............................................
............. , ,,, ,,.. ,,, iii ,,,, ii i . ., . ,,
.OR. 1473 EO,.IONO. 'NOV,',,O.,O_ET.----,,_N _,m UNCLASSIFIED
S/N 010_-014-660! IIECURITY C.I.,ASSIFICATION OF TMI$ PAG_ (leben Date Bn#afed}