1 / 25

Trian_mon(P)

Trian_mon(P). Input : y-monotoniczny wielokąt zapamiętany jako zbiór boków, Output: triangulacja D jako zbiór krawędzi. Wyodrębnij prawy i lewy łańcuch punktów, Uporządkuj zbiór wierzchołków ze względu na współrzędną y. 3. 4. For j=3 until n-1 do 5. If.

dane
Download Presentation

Trian_mon(P)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Trian_mon(P) Input: y-monotoniczny wielokąt zapamiętany jako zbiór boków, Output: triangulacja D jako zbiór krawędzi. • Wyodrębnij prawy i lewy łańcuch punktów, • Uporządkuj zbiór wierzchołków ze względu na współrzędną y 3. 4. For j=3 until n-1 do 5. If oraz ostatni punkt w S są na różnych łańcuchach then wstaw przekątną od do punktów z S, tak aby odciąć trójkąt od wielokąta. wstaw oraz do S. else usuń ostatni wierzchołek z S. 6.

  2. Trian_mon(P) c.d. 7. Usuń kolejne wierzchołki S jeśli tylko przekątna z do tego wierzchołka zawiera się wewnątrz wielokąta. Wstaw te przekątne do D. Wstaw ostatni wyrzucony z S wierzchołek spowrotem do S. 8. Wstaw do S. Endif 9. Dodaj przekątne poprowadzone do wszystkich Wierzchołków z S za wyjątkiem pierwszego i ostatniego. Tw. Wielokąt monotoniczny może być striangularyzowany w czasie O(n log n) z wykorzystaniem O(n) pamięci.

  3. Zawieranie się odcinkaw wielokącie Jeśli odcinek przecina się z brzegiem na pewno nie zawiera się w wielokącie. Jeśli końcami odcinka są wierzchołki wielokąta to obowiązują tutaj te same zasady. B A Odcinek nie zawiera się w wielokącie, nie jest przekątną. Przecina brzeg wielokąta. Odcinek nie zawiera się w wielokącie, pomimo tego, że nie przecina brzegu.

  4. Zawieranie się odcinkaw wielokącie - c.d. Zachodzi następujące twierdzenie: Tw. Odcinek zawiera się w wielokącie wtedy i tylko wtedy, gdy nie przecina brzegu oraz przynajmniej jeden jego punkt wewnętrzny należy do wnętrza wielokąta. Dowód: Jest oczywistym, że jeśli odcinek zawiera się w wielokącie to nie przecina brzegu i każdy jego punkt wewnętrzny zawiera się w wielokącie w szczególności jakiś wybrany. Z drugiej strony, jeśli odcinek nie przecina brzegu i jeden z jego punktów wewnętrznych zawiera się wewnątrz wielokąta to wszystkie jego punkty też muszą się w nim zawierać, bo w przeciwnym razie ten odcinek przecinałby brzeg wielokąta. c.n.d.

  5. Przynależność punktu do wielokąta Zachodzi następująca własność: Punkt P należy do wnętrza wielokąta wtedy i tylko wtedy, gdy półprosta pozioma wychodząca z tego punktu przecina nieparzystą liczbę razy brzeg tego wielokąta. Punkt Q nie należy do wielokąt, natomiast P należy. Q A P

  6. Przecięcie odcinka z półprostą Przecięcie półprostej l z odcinkiem [A,B] A l={X=P+t[1,0]: t>0} P X B Równanie prostej m przechodzącej przez punkty A, B: m={X=A+sv, s jest liczbą rzeczywistą}. Jeśli X jest punktem wspólnym l i m to: X=P+t[1,0]=A+sv, czyli t[1,0]-sv=A. Niech wtedy stąd Jeśli t>0 oraz 0<s<1 jest przecięcie w przeciwnym razie nie ma.

  7. Przecięcie odcinka z półprostą c.d. Jeśli t>0 oraz 0<s<1 jest przecięcie W przeciwnym razie nie ma. Bardzo często w zastosowaniach odcinki brzegu są równoległe do osi układu współrzędnych. W sytuacji jak na rysunku l wobec czego powyższe wzory nie mają zastosowania. P A B

  8. Przecięcie odcinka z półprostą c.d. Jeśli wtedy możemy uznać, że prosta l i odcinek [A,B] są równoległe. Przecięcie z brzegiem jest, jeśli Zwykle przyjmujemy W obliczeniach numerycznych zwykle układ punktów przeskalowywuje się i przesuwa, tak aby punkty mieściły się w kwadracie K=[0,1]×[0,1] i tak, żeby kwadrat K był najmniejszy ze wszystkich kwadratów o bokach równoległych do osi układu współrzędnych spełniających tą własność.

  9. Przeskalowanie układu punktów Niech

  10. Podział Dirichleta Def. Wielościanem Voronoi stowarzyszonym z punktem nazywamy zbiór: Lemat: Niech wówczas U jest hiperpłaszczyzną o normalnej oraz

  11. Dowód N=3 N=2 U U C A A C B

  12. Lemat c.d.

  13. Własności wielościanów Voronoi

  14. Własności wielościanów Voronoi

  15. Własności wielościanów Voronoi

  16. Wzór ten wynika bezpośrednio z definicji. - są zbiorami otwartymi, Dowód: na pewno wykażemy, że niech stąd wówczas c.n.d.

  17. Własności wielościanów Voronoi (iv) Brzeg wielościanu Voronoi składa się z części hiperpłaszczyzn wyznaczonych przez przecięcia z częściami półprzestrzeniami przestrzeni n-wymiarowej. B A

  18. Własności wielościanów Voronoi (v) Dowód: Hipoteza Co prowadzi do sprzeczności. C.n.d. (vi) wypukłe. Dowód: niech n C

  19. Układy punktów w przestrzeni a „wędrująca kula” Układ punktów nie Tw. Z) leżących na jednej hiperpłaszczyźnie. T) Istnieje dokładnie jedna sfera przechodząca przez te punkty. Dowód:Szukamy punktu X, który spełnia:

  20. Układy punktów w przestrzeni a „wędrująca kula” c.d. W postaci macierzowej: Na podstawie lematu układ wektorów jest układem liniowo niezależnym co oznacza, że macierz tego układu jest nieosobliwa. C.n.d.

  21. Układy punktów w przestrzeni a „wędrująca kula” c.d. Lemat: część wspólna dwóch przecinających się sfer zawiera się w jednoznacznie wyznaczonej płaszczyźnie. x Dowód: Punkt wspólny x leżący na przecięciu obu sfer spełnia: Po odjęciu stronami: czyli c.n.d.

  22. I twierdzenie Delaunay’a Z) (i) rodzina sympleksów dzielących to znaczy (ii) Dowolny zbiór ograniczony ma część wspólną tylko ze skończoną liczbą sympleksów z (ii) Niech będzie zbiorem wszystkich punktów sympleksów rodziny oznacza kulę przechodzącą przez wszystkie wierzchołki Niech danego sympleksu T) nie zawiera wierzchołków w swoim wnętrzu i odwrotnie nie zawiera wierzchołków w swoim wnętrzu i odwrotnie.

  23. I twierdzenie Delaunay’a c.d. Spełnione założenia tw. Delaunay’a Nie spełnione założenia tw. Delaunay’a Def. Układ punktów nazywamy układem osobliwym, jeśli k>N+1 oraz wszystkie jego punkty należą do jednej sfery w Przykład N=1

  24. Konstrukcja triangularyzacji Delaunay’a Def. Zbiór punktów nazywamy osobliwym jeśli istnieje osobliwy podukład 1. Startujemy z dowolnego punktu 2. Znajdujemy punkt leżący na okręgu o środku I nie zawierający wewnątrz innego punktu z P. leżący okręgu przechodzącym przez 3. Znajdujemy punkt nie zawierający w swoim wnętrzu innych punktów.

  25. Konstrukcja triangularyzacji Delaunay’a N=2 c.d. 4. Konstruujemy trójkąt o wierzchołkach 5. Startujemy z dowolnego boku tego tego trójkąta. Prowadzimy okrąg przechodzący przez końce tego boku i punkt SP, tak aby ten okrąg nie zawierał w swoim wnętrzu innych punktów z P. 6. Proces kontynuujemy aż do wyczerpania punktów.

More Related