geometric transforms for fast geometric...

162
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 for the degree ol Doctor of Philosophy. This resen,ch was pnrtially stlpported by the Of_-ice. of Naval Research under contract number NO0014-76-C-0870,

Upload: others

Post on 13-Oct-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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,

Page 2: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose
Page 3: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 4: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 5: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 6: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

24 Dccen_l_cr 1 ,r,.l"r)(,. G('.on_(;tric [ran,', forms PAGEIV

Page 7: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 8: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

24 December 1979. Geometric Transforms PAGE 2

Page 9: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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,

Page 10: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

24 December 1979. Geometric Transforms PAGE 4

Page 11: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 12: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 13: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 14: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 15: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 16: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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)

Page 17: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 18: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 19: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 20: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 21: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 22: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 23: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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,

Page 24: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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,

Page 25: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 26: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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:

Page 27: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 28: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

24 December 1 079. Gc:ometric Transforms PAGE22

Page 29: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 30: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 31: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 32: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 33: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 34: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 35: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 36: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 37: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 38: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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],

Page 39: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 40: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 41: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 42: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 43: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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,

Page 44: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 45: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 46: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 47: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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,

Page 48: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 49: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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)),

Page 50: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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,

Page 51: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 52: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 53: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 54: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 55: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 56: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 57: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 58: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 59: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 60: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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,_).

Page 61: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 62: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 63: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 64: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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;_.

Page 65: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 66: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 67: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 68: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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,<;,

Page 69: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 70: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 71: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 72: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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)

Page 73: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 74: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 75: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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,

Page 76: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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_:_.

Page 77: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 78: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 79: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 80: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 81: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 82: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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,.,_.

Page 83: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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:

Page 84: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 85: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 86: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

24 Deceml)er 1 f) l".r.). Geos__etricTrart_rorn_sPAGE 80

Page 87: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 88: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 89: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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,

Page 90: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 91: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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]

Page 92: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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..;).

Page 93: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 94: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 95: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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_',,').

Page 96: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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)

Page 97: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 98: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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)

Page 99: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 100: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 101: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 102: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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:

Page 103: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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),

Page 104: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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;

Page 105: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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,

Page 106: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 107: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 108: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

24 December l O/f}. Geometric ]r,:ll_._-,fOt'lllS PAGE102

Page 109: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 110: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 111: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 112: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 113: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 114: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 115: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 116: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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/ <].

Page 117: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 118: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

) ' ] 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

Page 119: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 120: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 121: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 122: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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,

Page 123: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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',.

Page 124: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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;:,

Page 125: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 126: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 127: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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,

Page 128: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 129: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

_/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.

Page 130: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

24 Deceml)er 1 !:)7_}. G_-:om(_triclrazmform,'_ PAGE124

Page 131: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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"

Page 132: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 133: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 134: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 135: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 136: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

24 December 1979. Geometric Transforms PAGE 130

Page 137: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 138: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 139: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 140: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

24 Dccemhc;r 1 fl 7ft. ._eo_,l(:_Lric lr_;n.';forlll,_; PAGE134

Page 141: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 142: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 143: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 144: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 145: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

*.

Page 146: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 147: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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,.].

Page 148: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

24 Decemb{:r 1,q79. G-.('..()lll(;i.l'i(.; ]ritllSi'orlil,*; PAGE142.

Page 149: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 150: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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;::.

Page 151: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 152: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 153: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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,:: .:::: .:::: :::: - -- -

Page 154: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 155: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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.

Page 156: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

[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).

Page 157: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 158: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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:?

Page 159: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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 ('_',

.,

Page 160: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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/

Page 161: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

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

Page 162: Geometric Transforms for Fast Geometric Algorithmsreports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-80-101.pdf · geometric algorithms. We descrii)e several geometric problems whose

_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}