WYKŁAD 10: Geometria obliczeniowa. Wyznaczanie wypukłej

Transkrypt

WYKŁAD 10: Geometria obliczeniowa. Wyznaczanie wypukłej
WYKŁAD 10: Geometria obliczeniowa.
Wyznaczanie wypukłej otoczki.
 Przedmiot badań geometrii
obliczeniowej.
 Elementarne obiekty geometryczne
i ich właściwości (punkty, odcinki,
proste, figury płaskie, bryły
wielowymiarowe).
 Problem przecinania się odcinków.
 Problem triangulacji wieloboku.
 Problem znajdowania wypukłej otoczki
- algorytm Grahama
- algorytm Jarvisa
 Wyszukiwanie zakresu
Własności odcinków:

1. Czy odcinek skierowany p 0 p 1 jest

położony względem p 0 p 2 zgodnie z
ruchem wskazówek zegara ?

p1 p2

p2 p3
2. Czy dla danych odcinków
,
skręcamy w prawo w punkcie p 2 ?


3. Czy odcinki p 1 p 2 , p 3 p 4 przecinają
się ?
Odpowiedzi w czasie O(1) za pomocą
iloczynu wektorowego:
p 1  p 0   p 2  p 0   det
x1  x0 x2  x0
y1  y0 y2  y0

 x 1  x 0 y 2  y 0   x 2  x 0 y 1  y 0 
gdzie p 0 jest wektorem translacji do
początku układu współrzędnych.
ad.1. TAK, jeżeli wartość iloczynu
p 1  p 0   p 2  p 0  dodatnia.
ad.2. TAK, jeżeli wartość iloczynu
p 2  p 1   p 3  p 1  dodatnia.
ad.3. TAK, jeżeli ich prostokątne
ograniczenia przecinają się i każdy z nich
przecina prostą zawierającą drugi z nich.
 Wypukła otoczka zbioru punktów
Algorytm Jarvisa o złożoności O(nh)
1. Wybierz punkt o minimalnej współrzędnej
y, w przypadku remisów wybierz punkt z
maksymalną współrzędną x. Dołącz punkt
do otoczki.
2. Oblicz współrzędne biegunowe punktów
względem punktu ostatnio wybranego.
3. Wybierz kolejny punkt o minimalnej
współrzędnej kątowej, w przypadku
remisów wybierz punkt najbardziej odległy
od ostatnio wybranego. Dołącz punkt do
otoczki.
4. Powtarzając kroki 2-3 wyznacz prawą
składową wypukłej otoczki.
5. Wyznacz lewą składową zmnieniając
kierunki obu osi i wykonując kroki 1-4.
6. Połącz obie składowe wypukłej otoczki.
Literatura
Cormen T.H., Leiserson C.E., Rivest R.L. :
Wprowadzenie do algorytmów, WNT
Warszawa, 1997 (i późniejsze wydania)

Podobne dokumenty