Algorytmy wielokątów monotonicznych

master
dc.abstract.enThis paper is devoted to analysis and implementation of selected algorithms for monotone polygons. A monotone polygon is a polygon that, for a line L, is intersected by any line perpendicular to L in at most two points. A convex polygon is monotone with respect to any straight line L.In this paper three triangulation algorithms are presented: a fan triangulation algorithm that works in linear time for any convex polygon, an y-monotone polygon triangulation algorithm and a triangulation algorithm which minimizes chords lengths and uses dynamic programming. A monotone polygon partitioning algorithm, which uses sweep line technique and runs in linearithmic time is also presented. Each of the above algorithms has been implemented in a version which uses a graph as an output data structure, as well as in a version using planar map for this purpose. In implementations using graphs, algorithm time complexity corresponds to theoretical, but in implementations using planar maps, time complexity is a bit worse, which is a cost for having direct access to the topological structure of a partition. Additionally, the triangulation algorithm which minimizes chords lengths was developed in two versions: iterative and recursive. An algorithm for finding monotone directions of a given polygon, which runs in linear time, is also presented.Correctness of all algorithms was tested as well as their real computational complexity.pl
dc.abstract.plNiniejsza praca poświęcona jest implementacji i analizie wybranych algorytmów wielokątów monotonicznych. Wielokąt monotoniczny to wielokąt, który dla pewnej prostej L jest przecinany przez każdą prostą prostopadłą do L w co najwyżej dwóch punktach. Wielokąt wypukły jest monotoniczny względem dowolnej prostej L.W pracy omówione zostały trzy algorytmy triangulacji: algorytm triangulacji wachlarzowej działający w czasie liniowym dla dowolnego wielokąta wypukłego, algorytm triangulacji wielokąta y-monotonicznego oraz algorytm triangulacji z minimalizacją długości cięciw wykorzystujący programowanie dynamiczne. Opisany został także algorytm podziału monotonicznego wielokąta prostego wykorzystujący technikę zamiatania płaszczyzny i działający w czasie liniowo-logarytmicznym. Każdy z powyższych algorytmów zaimplementowany został w wersji wykorzystującej graf jako strukturę danych wyjściowych, oraz w wersji wykorzystującej w tym celu mapę planarną. W algorytmach wykorzystujących graf złożoność obliczeniowa zgadza się z teoretyczną, a w przypadku wersji wykorzystujących mapę planarną złożoność trochę pogarsza się, co jest ceną za posiadanie informacji o strukturze topologicznej podziału. Dodatkowo algorytm triangulacji z minimalizacją długości cięciw opracowany został w dwóch wersjach: iteracyjnej i rekurencyjnej. Zaimplementowano również algorytm wyznaczania kierunków monotoniczności wielokąta działający w czasie liniowym.Poprawność wyników wszystkich algorytmów została przetestowana, a ich złożoność obliczeniowa sprawdzona eksperymentalnie i opisana.pl
dc.affiliationUniwersytet Jagielloński w Krakowiepl
dc.contributor.advisorKapanowski, Andrzej - 100452 pl
dc.contributor.authorMalczewski, Mateusz - USOS259894 pl
dc.contributor.departmentbycodeUJK/UJKpl
dc.contributor.reviewerKapanowski, Andrzej - 100452 pl
dc.contributor.reviewerKorcyl, Grzegorz - 107362 pl
dc.date.accessioned2024-10-07T06:34:01Z
dc.date.available2024-10-07T06:34:01Z
dc.date.submitted2024-10-03pl
dc.fieldofstudyinformatyka gier komputerowychpl
dc.identifier.apddiploma-167540-259894pl
dc.identifier.urihttps://ruj.uj.edu.pl/handle/item/450488
dc.languagepolpl
dc.subject.enmonotone polygons, polygon triangulation, monotone partitioning, monotone directionspl
dc.subject.plwielokąty monotoniczne, triangulacja wielokąta, podział monotoniczny wielokąta, kierunki monotonicznościpl
dc.titleAlgorytmy wielokątów monotonicznychpl
dc.title.alternativeMonotone polygons algorithmspl
dc.typemasterpl
dspace.entity.typePublication
dc.abstract.enpl
This paper is devoted to analysis and implementation of selected algorithms for monotone polygons. A monotone polygon is a polygon that, for a line L, is intersected by any line perpendicular to L in at most two points. A convex polygon is monotone with respect to any straight line L.In this paper three triangulation algorithms are presented: a fan triangulation algorithm that works in linear time for any convex polygon, an y-monotone polygon triangulation algorithm and a triangulation algorithm which minimizes chords lengths and uses dynamic programming. A monotone polygon partitioning algorithm, which uses sweep line technique and runs in linearithmic time is also presented. Each of the above algorithms has been implemented in a version which uses a graph as an output data structure, as well as in a version using planar map for this purpose. In implementations using graphs, algorithm time complexity corresponds to theoretical, but in implementations using planar maps, time complexity is a bit worse, which is a cost for having direct access to the topological structure of a partition. Additionally, the triangulation algorithm which minimizes chords lengths was developed in two versions: iterative and recursive. An algorithm for finding monotone directions of a given polygon, which runs in linear time, is also presented.Correctness of all algorithms was tested as well as their real computational complexity.
dc.abstract.plpl
Niniejsza praca poświęcona jest implementacji i analizie wybranych algorytmów wielokątów monotonicznych. Wielokąt monotoniczny to wielokąt, który dla pewnej prostej L jest przecinany przez każdą prostą prostopadłą do L w co najwyżej dwóch punktach. Wielokąt wypukły jest monotoniczny względem dowolnej prostej L.W pracy omówione zostały trzy algorytmy triangulacji: algorytm triangulacji wachlarzowej działający w czasie liniowym dla dowolnego wielokąta wypukłego, algorytm triangulacji wielokąta y-monotonicznego oraz algorytm triangulacji z minimalizacją długości cięciw wykorzystujący programowanie dynamiczne. Opisany został także algorytm podziału monotonicznego wielokąta prostego wykorzystujący technikę zamiatania płaszczyzny i działający w czasie liniowo-logarytmicznym. Każdy z powyższych algorytmów zaimplementowany został w wersji wykorzystującej graf jako strukturę danych wyjściowych, oraz w wersji wykorzystującej w tym celu mapę planarną. W algorytmach wykorzystujących graf złożoność obliczeniowa zgadza się z teoretyczną, a w przypadku wersji wykorzystujących mapę planarną złożoność trochę pogarsza się, co jest ceną za posiadanie informacji o strukturze topologicznej podziału. Dodatkowo algorytm triangulacji z minimalizacją długości cięciw opracowany został w dwóch wersjach: iteracyjnej i rekurencyjnej. Zaimplementowano również algorytm wyznaczania kierunków monotoniczności wielokąta działający w czasie liniowym.Poprawność wyników wszystkich algorytmów została przetestowana, a ich złożoność obliczeniowa sprawdzona eksperymentalnie i opisana.
dc.affiliationpl
Uniwersytet Jagielloński w Krakowie
dc.contributor.advisorpl
Kapanowski, Andrzej - 100452
dc.contributor.authorpl
Malczewski, Mateusz - USOS259894
dc.contributor.departmentbycodepl
UJK/UJK
dc.contributor.reviewerpl
Kapanowski, Andrzej - 100452
dc.contributor.reviewerpl
Korcyl, Grzegorz - 107362
dc.date.accessioned
2024-10-07T06:34:01Z
dc.date.available
2024-10-07T06:34:01Z
dc.date.submittedpl
2024-10-03
dc.fieldofstudypl
informatyka gier komputerowych
dc.identifier.apdpl
diploma-167540-259894
dc.identifier.uri
https://ruj.uj.edu.pl/handle/item/450488
dc.languagepl
pol
dc.subject.enpl
monotone polygons, polygon triangulation, monotone partitioning, monotone directions
dc.subject.plpl
wielokąty monotoniczne, triangulacja wielokąta, podział monotoniczny wielokąta, kierunki monotoniczności
dc.titlepl
Algorytmy wielokątów monotonicznych
dc.title.alternativepl
Monotone polygons algorithms
dc.typepl
master
dspace.entity.type
Publication
Affiliations

* The migration of download and view statistics prior to the date of April 8, 2024 is in progress.

No access

No Thumbnail Available
Collections