Fortune's algorithm

Fortune's Algorithm Animation
Fortune's algorithm animation

Fortune's algorithm is a sweep line algorithm for generating a Voronoi diagram from a set of points in a plane using O(n log n) time and O(n) space.[1][2] It was originally published by Steven Fortune in 1986 in his paper "A sweepline algorithm for Voronoi diagrams."[3]

Algorithm description

The algorithm maintains both a sweep line and a beach line, which both move through the plane as the algorithm progresses. The sweep line is a straight line, which we may by convention assume to be vertical and moving left to right across the plane. At any time during the algorithm, the input points left of the sweep line will have been incorporated into the Voronoi diagram, while the points right of the sweep line will not have been considered yet. The beach line is not a straight line, but a complicated, piecewise curve to the left of the sweep line, composed of pieces of parabolas; it divides the portion of the plane within which the Voronoi diagram can be known, regardless of what other points might be right of the sweep line, from the rest of the plane. For each point left of the sweep line, one can define a parabola of points equidistant from that point and from the sweep line; the beach line is the boundary of the union of these parabolas. As the sweep line progresses, the vertices of the beach line, at which two parabolas cross, trace out the edges of the Voronoi diagram. The beach line progresses by keeping each parabola base exactly halfway between the points initially swept over with the sweep line, and the new position of the sweep line. Mathematically, this means each parabola is formed by using the sweep line as the directrix and the input point as the focus.

The algorithm maintains as data structures a binary search tree describing the combinatorial structure of the beach line, and a priority queue listing potential future events that could change the beach line structure. These events include the addition of another parabola to the beach line (when the sweep line crosses another input point) and the removal of a curve from the beach line (when the sweep line becomes tangent to a circle through some three input points whose parabolas form consecutive segments of the beach line). Each such event may be prioritized by the x-coordinate of the sweep line at the point the event occurs. The algorithm itself then consists of repeatedly removing the next event from the priority queue, finding the changes the event causes in the beach line, and updating the data structures.

As there are O(n) events to process (each being associated with some feature of the Voronoi diagram) and O(log n) time to process an event (each consisting of a constant number of binary search tree and priority queue operations) the total time is O(n log n).

Pseudocode

Pseudocode description of the algorithm.[4]

let  be the transformation ,
  where  is the Euclidean distance between z and the nearest site
let T be the "beach line"
let  be the region covered by site p.
let  be the boundary ray between sites p and q.
let  be a set of sites on which this algorithm is to be applied.
let  be the sites extracted from S with minimal y-coordinate, ordered by x-coordinate
let DeleteMin(X) be the act of removing the lowest and leftmost site of X (sort by y unless they're identical, in which case sort by x) 
let V be the Voronoi map of S which is to be constructed by this algorithm

create initial vertical boundary rays 


while not IsEmpty(Q) do
    p ← DeleteMin(Q)
    case p of
    p is a site in :
        find the occurrence of a region  in T containing p,
          bracketed by  on the left and  on the right
        create new boundary rays  and  with bases p
        replace  with  in T
        delete from Q any intersection between  and 
        insert into Q any intersection between  and 
        insert into Q any intersection between  and 
    p is a Voronoi vertex in :
        let p be the intersection of  on the left and  on the right
        let  be the left neighbor of  and
        let  be the right neighbor of  in T
        if ,
            create a new boundary ray  
        else if p is right of the higher of q and s,
            create  
        else
            create 
        endif
        replace  with newly created  in T
        delete from Q any intersection between  and 
        delete from Q any intersection between  and 
        insert into Q any intersection between  and 
        insert into Q any intersection between  and 
        record p as the summit of  and  and the base of 
        output the boundary segments  and 
    endcase
endwhile

output the remaining boundary rays in T

Weighted sites and disks

Additively weighted sites

As Fortune describes in ref.,[1] a modified version of the sweep line algorithm can be used to construct an additively weighted Voronoi diagram, in which the distance to each site is offset by the weight of the site; this may equivalently be viewed as a Voronoi diagram of a set of disks, centered at the sites with radius equal to the weight of the site. the algorithm is found to have time complexity with n being the number of sites according to ref.[1]

Weighted sites may be used to control the areas of the Voronoi cells when using Voronoi diagrams to construct treemaps. In an additively weighted Voronoi diagram, the bisector between sites is in general a hyperbola, in contrast to unweighted Voronoi diagrams and power diagrams of disks for which it is a straight line.

References

  1. ^ a b c de Berg, Mark; van Kreveld, Marc; Overmars, Mark; Schwarzkopf, Otfried (2000), Computational Geometry (2nd revised ed.), Springer-Verlag, ISBN 3-540-65620-0 Section 7.2: Computing the Voronoi Diagram: pp.151–160.
  2. ^ Austin, David, Voronoi Diagrams and a Day at the Beach, Feature Column, American Mathematical Society.
  3. ^ Steven Fortune. A sweepline algorithm for Voronoi diagrams. Proceedings of the second annual symposium on Computational geometry. Yorktown Heights, New York, United States, pp.313–322. 1986. ISBN 0-89791-194-6. ACM Digital LibrarySpringerLink
  4. ^ Kenny Wong, Hausi A. Müller, An Efficient Implementation of Fortune's Plane-Sweep Algorithm for Voronoi Diagrams, CiteSeerX 10.1.1.83.5571.

Read other articles:

NGC 4151, salah satu galaksi Seyfert paling terang. Galaksi Seyfert adalah salah satu dari sekelompok galaksi spiral atau galaksi tak beraturan dengan inti (kuasar) padat dan terang yang memiliki garis emisi yang khas yang menunjukkan adanya gas yang sangat panas dalam gerakan hebat di bagian tengah yang dicirikan oleh variabilitas dalam intensitas cahaya, gelombang radio, dan spektrum.[1][2] Lubang hitam supermasif di inti galaksi, yang menghasilkan gas dari lingkungan sekitarny…

Period of unrest in Petrograd, Russia (16–20 July) For the diplomatic crisis that preceded World War I, see July Crisis. Not to be confused with June Days. July DaysPart of the Russian RevolutionRioters on the Nevsky Prospect comeunder machine gun fire, 17 JulyDate16–20 July [O.S. 3–7 July] 1917LocationPetrograd, RussiaResult Government victory, dispersion of demonstrations and strikes, arrest of Bolshevik leadersBelligerents BolsheviksSupported by: Anarchists Socialist R…

Australian Open 1995 Sport Tennis Data 16 gennaio - 29 gennaio Edizione 83a Categoria Grande Slam (ITF) Superficie Cemento Località Melbourne, Victoria, Australia Campioni Singolare maschile Andre Agassi Singolare femminile Mary Pierce Doppio maschile Jared Palmer / Richey Reneberg Doppio femminile Jana Novotná / Arantxa Sánchez Vicario Doppio misto Nataša Zvereva / Rick Leach Singolare ragazzi Nicolas Kiefer Singolare ragazze Siobhan Drake-Brockman Doppio ragazzi Luke Bourgeios / Lee Jong-m…

Agostino Silva in un'incisione di Johann Rudolph Schellenberg Agostino Silva (Morbio Inferiore, 11 novembre 1628 – Morbio Inferiore, 6 febbraio 1706) è stato uno scultore svizzero-italiano[1]. Era figlio di Francesco Silva, stuccatore del XVII secolo, e intraprese quindi la carriera del padre seguendolo anche nelle sue trasferte a Roma dove proseguì la sua formazione nella bottega di Alessandro Algardi, noto scultore di altari e di statue al servizio dei Papi. Iniziò ad operare nell…

Federal electoral district in Ontario, Canada 45°25′N 75°42′W / 45.417°N 75.700°W / 45.417; -75.700 Ottawa Centre Ontario electoral districtOttawa Centre in relation to other electoral districts in Ottawa (2013 boundaries)Federal electoral districtLegislatureHouse of CommonsMP    Yasir NaqviLiberalDistrict created1966First contested1968Last contested2021District webpageprofile, mapDemographicsPopulation (2011)[1]113,619Electors (2015)89,360A…

Middle eastern white brine cheese Akkawi cheeseOther namesAkawi, Akawieh and AckawiRegionLevantTownAkkaSource of milkCowTextureSoft Akkawi cheese (Arabic: جبنة عكاوي, romanized: jubna ʿakkāwī, also Akawi, Akawieh and Ackawi) is a white brine cheese named after the city of Akka (Acre, present-day Israel).[1][2] Etymology Akkawi cheese is named after the port city of Akka (Arabic: عكّا). Akkawi in Arabic means from Akka.[2][3] Production and sto…

Vímara PeresPatung berkuda Vímara Peres di PortoComte PortugalBerkuasa868–873PenerusLucídio VimaranesInformasi pribadiKematian873A Coruña, Kerajaan Galisia Vímara Peres[a] (Vímara Pérez di dalam bahasa Spanyol; meninggal di Galisia, 873)[1] merupakan seorang bangsawan dari abad kesembilan Kerajaan Asturias dan penguasa pertama Portugalia. Kehidupan Keluarga Ayahandanya, Pedro Theón (meninggal setelah 867), kadang disebut Pedro Theón dari Pravia, dan diduga putra Bermud…

Roman noblewoman (143-161) Statue, believed to be of Athenais, from the Nymphaeum of Herodes Atticus at Olympia, dating from between 149 and 153 AD, Olympia Archaeological Museum, Greece. Marcia Annia Claudia Alcia Athenais Gavidia Latiaria,[1] (Greek: Μαρκία Κλαυδία Άλκία Άθηναΐς Γαβιδία Λατιαρία) otherwise most commonly known as Athenais (Greek: Αθηναΐς)[2] (143-161[1]) was a Roman noblewoman of Greek Athenian and Italian R…

SMA Negeri 10 SurabayaInformasiDidirikan10 April 1977JenisSekolah NegeriAkreditasiA[1]Nomor Statistik Sekolah301056012010Nomor Pokok Sekolah Nasional20532243MaskotOctodistJumlah kelas33 Ruang KelasJurusan atau peminatanIPA dan IPSRentang kelasX MIPA dan X IPS XI MIPA dan XI IPS XII MIPA dan XII IPSKurikulumKurikulum 2013AlamatLokasiJl. Jemursari I No. 28, Surabaya, Jawa Timur,  IndonesiaTel./Faks.(031) 8415273Situs websma10surabaya.sch.idLain-lainLulusanSatria Tama Hardian…

Rotor transverse adalah sebuah pesawat rotor yang memiliki dua rotor besar horisontal yang dipasang berdampingan. Helikopter rotor tunggal membutuhkan rotor ekor untuk menetralisir saat memutar yang dihasilkan oleh rotor tunggal yang besar. Helikopter rotor tandem, menggunakan counter-rotating rotor, dengan masing-masing membatalkan keluar torsi yang lain. Counter-rotating baling-baling tidak akan bertabrakan dengan dan menghancurkan satu sama lain jika mereka melenturkan ke jalur rotor lain. Ko…

Goidelic Celtic language of Scotland For the Germanic language that diverged from Middle English, see Scots language. This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Scottish Gaelic – news · newspapers · books · scholar · JSTOR (March 2023) (Learn how and when to remove this message) Scottish GaelicScots Gaelic…

Lithuanian fairy tale The Magician's HorseThe youth and the horse leave the Magician behind the thicket of thorns. Illustration by Henry Justice Ford for The Grey Fairy Book (1900).Folk taleNameThe Magician's HorseAlso known asThe Prince Who Worked as Satan's Servant and Saved the King from HellAarne–Thompson groupingATU 314, GoldenerRegionLithuaniaPublished in Litauische Volkslieder und Märchen by August Leskien (1882) The Grey Fairy Book, by Andrew Lang Related Little Johnny Sheep-Dung The …

Israeli air defense system This article needs to be updated. Please help update this article to reflect recent events or newly available information. (April 2024) Iron Dome Iron Dome launches interceptor, 2021TypeC-RAM and short range air defence system[1]Place of originIsraelService historyIn service2011–presentUsed byIsrael Defense ForcesWarsGaza–Israel conflict (2011, 2012, 2021)Operation Pillar of DefenseOperation Protective EdgeSinai insurgency2021 Israel–P…

Railway station in Kagoshima, Kagoshima Prefecture, Japan Usuki Station宇宿駅front of Usuki Station.General informationLocationUsuki 3-chome, Kagoshima, Kagoshima(鹿児島県鹿児島市宇宿3丁目)JapanOperated byJR KyushuLine(s)Ibusuki Makurazaki LineUsuki Station (宇宿駅, Usuki-eki) is a railway station in the Usuki area of the city of Kagoshima, Kagoshima Prefecture, Japan. The station is on the Ibusuki Makurazaki Line of the Kyushu Railway Company (JR Kyushu). The station is at…

American actress, model and singer (born 1992) Chloe BennetBennet in 2018BornChloé Wang (1992-04-18) April 18, 1992 (age 32)Chicago, Illinois, U.S.Occupations Actress Model Singer Years active2009–presentChinese nameChinese汪可盈[1]TranscriptionsStandard MandarinHanyu PinyinWāng Kěyíng Chloé Wang (Chinese: 汪可盈; pinyin: Wāng Kěyíng; born April 18, 1992),[1] known professionally as Chloe Bennet, is an American actress, model and singer. She star…

OpenGL Gim video mengalihdayakan penghitungan rendering waktu nyata ke GPU melalui OpenGL. Hasil yang diberikan tidak dikirim kembali ke memori utama, tetapi ke framebuffer dari memori video. Pengontrol tampilan kemudian akan mengirimkan data ini ke perangkat tampilan.TipeAntarmuka pemrograman aplikasi, Pustaka perangkat lunak dan spesifikasi BerdasarkanIRIS GL (en) Versi pertama30 Juni 1992; 31 tahun lalu (1992-06-30)Versi stabil 4.6 (31 Juli 2017) GenreGrafik 3D APILisensi Lisensi sumber …

AmblygoniteGeneralCategoryPhosphate mineralsFormula(repeating unit)(Li,Na)AlPO4(F,OH)IMA symbolAby[1]Strunz classification8.BB.05Crystal systemTriclinicCrystal classPinacoidal (1) (same H-M symbol)Space groupC1IdentificationColorGenerally white or creamy, but can also be colorless or pale yellow, green, blue, beige, gray, brown or pink.Crystal habitPrismatic to columnar formTwinningMicroscopic polysynthetic twinning commonCleavage[100] Perfect, [110] good, [011] distinctFractureIrregular…

Australian netball player Laura Clemesha Laura Clemesha with the Queensland Firebirds in 2015Personal informationBorn (1992-01-21) 21 January 1992 (age 32)[1]Toowoomba, Queensland[2]Height 1.90 m (6 ft 3 in)[3]Netball career Playing position(s): GK, GDYears Club team(s) Apps2013–2019 Queensland Firebirds Laura Clemesha (born 21 January 1992) is a retired Australian netball player. Career Clemesha grew up in the south-eastern Queensland city of T…

Vals-les-Bains Vue générale de la commune. Blason Administration Pays France Région Auvergne-Rhône-Alpes Département Ardèche Arrondissement Largentière Intercommunalité Communauté de communes du Bassin d'Aubenas Maire Mandat Michel Ceysson 2022-2026 Code postal 07600 Code commune 07331 Démographie Gentilé Valsois Populationmunicipale 3 485 hab. (2021 ) Densité 182 hab./km2 Géographie Coordonnées 44° 39′ 59″ nord, 4° 22′ 01″ est…

Former Australian rules football club Australian rules football club Brisbane BearsNamesFull nameBrisbane Bears Football ClubNickname(s)BearsClub detailsFounded7 October 1986Colours     CompetitionAustralian Football LeaguePremiershipsAFL reserves (1) 1991Ground(s)Carrara Stadium (1987–1992)Brisbane Cricket Ground (1991, 1993–1996)Uniforms Home Original The Brisbane Bears was the name for a professional Australian rules football club based in Brisbane, Queensland. The club ini…