Sunteți pe pagina 1din 23

Geometrie computaţională şi

grafică

Prelegeri/seminare – marţi 9.40-11.10 (406”B”)

Laborator – marţi 11.20 – 12.50 (206”B”)


Literatura:
• S. Corlat. Algoritmi și probleme de geometrie
computațională. Prut Internațional, 2009.
• Mihai-Sorin Stupariu, Geometrie computaţională,
http://gta.math.unibuc.ro/stup/geom_comp.pdf.
• M. Vaida şi alţii. Grafica pe calculator în limbajele
Pascal si C, Ed. Tehnică, Bucureşti, 1992.
• M. Berg, O. Cheong, M. Kreveld, M. Overmars.
Computational Geometry, Springher, 2008
• F. P. Preparata, M. I. Shamos. Computational
Geometry, Springer, New York,1985.
• J. O’Rourke. Computational Geometry, Cambridge
Universty Press, 1998.
Cuprins
• Ce este geometria computaţională (GC)?
• Exemple de probleme în GC
• Introducere
▫ Concepte de bază în geometrie
▫ Poligoane: definiţie şi reprezentări
Ce este geometria computaţională?
Teorie despre studiul algoritmilor ce servesc la rezolvarea
problemelor geometrice.

• Geometrie:
• O mulţime de obiecte geometrice (puncte, linii, curbe,
plane, suprafeţe) definite în spaţiul metric, de obicei în
plan (2D) sau in spaţiu (3D).
• O mulţime de operaţii geometrice pe entităţi
geometrice (intersecţie, reuniune, descompunere).
• Algoritmi:
• Proceduri constructive ce verifică proprietăţi, răspund
la interogări sau construiesc entităţi geometrice.
Ce este geometria computaţională?
• Complexitate:
• Analiza în scopul înţelegerii a ce poate fi obţinut si cu
ce grad de dificultate.
• Tipuri de algoritmi:
• Combinatorici (topologici) – obiectele geometrice
sunt entităţi discrete formate din puncte, linii,
poligoane etc.
• Numerici (modelare geometrica) – modelarea si
reprezentarea curbelor si suprafeţelor
De ce geometria computaţionala?
Ştiinţă şi teorie
▫ O continuare naturala a geometriei constructive şi a
geometriei combinatorice din matematică
▫ Păstrează o relatie cu probleme fundamentale in
matematică: programare liniară, geometrie analitică

Tehnologie si aplicaţii
▫ Multe probleme cheie în Inginerie şi Grafică
▫ Dezvoltarea de biblioteci ce conţin algoritmi eficienţi
▫ Înţelegerea problemelor specifice
▫ Mare importanţa economică: Grafica, CAD/CAM, …
Exemple de probleme în GC
• Cel mai apropiat vecin
• Diagrame Voronoi
• Triangularizări Delaunay
• Localizarea unui punct
• Punct în poligon
• Căutări în spaţii ortogonale
• Cel mai scurt drum
• Vizibilitate
• …
Cel mai apropiat vecin
Definirea problemei
• Intrare: o mulţime de puncte (situri) p q

P in plan şi un punct de interogare q.


• Ieşire: Punctul p P cel mai apropiat
de q dintre toate punctele din P. P

Variaţii:
• Un set de puncte, interogări multiple
• În 3D in loc de 2D
Aplicaţii: telefonie mobilă, localizare
Diagrame Voronoi S
Definirea problemei
• Intrare: o mulţime de puncte P în plan.
• Ieşire: O subdiviziune planară S în
celule. Celula ce corespunde lui p P
conţine toate punctele de care p este
mai aproape decât de celelalte puncte P
din P.
Variaţii
• Set dinamic de puncte
Aplicaţii: găsirea celei mai bune locaţii
pentru un nou sit
Localizarea unui punct S
Definirea problemei
• Intrare: O partiţionare S a planului în
celule şi un punct de interogare p.
• Ieşire: Celula C  S conţine punctul p.
p

Variaţii
C
• O partiţionare, interogări multiple
Aplicaţii: localizare unui punct
Punct în poligon
P
Definirea problemei
• Intrare: un poligon P în plan şi un punct
de interogare p.
• Ieşire: adevarat dacă p  P, fals in caz p

contrar

Variaţii
• Un poligon, interogări multiple
Aplicaţii: localizarea unei regiuni
Cautari in spatii ortogonale P
Definirea problemei
• Intrare: Un set de puncte P în plan şi un
dreptunghi de interogare R
Q
• Ieşire:
 (raport) Submulţimea Q  P conţinută
în R. R
Variaţii
• Un set de puncte, interogări multiple
• Spaţial
Aplicatii: cautari geografice, baze de date
Cel mai scurt drum
Definirea problemei
• Intrare: Locaţii ale obstacolelor si
punctele de interogare s si t. (iniţial t
şi final)
• Ieşire: cel mai scurt drum între s şi t
ce evita toate obstacolele.
Variaţii
s
• Un set de obstacole, interogări multiple
• Puncte finale multiple, obstacole în
mişcare
Aplicaţii: rutare, robotică
Vizibilitate P
Definirea problemei
• Intrare: un poligon P în plan şi Q
un punct de interogare p. p

• Ieşire: Poligonul Q  P, vizibil lui


p.

Variaţii
• Un poligon, interogări multiple
• Poligoane multiple
Aplicaţii: radare, securitate
Preliminarii geometrice
Spatiu Euclidean: Ed
• Spaţiu de d-tupluri, p = (x1,…, xd), de numere reale xi
în R numite puncte, unde d este dimensiunea
spaţiului.
• Metrică: o funcţie m: Ed × Ed  R+ cu 3 proprietăţi:
1. m(p,p) = 0 identitate
2. m(p1,p2) = m(p2,p1) simetrie
3. m(p1,p3) ≤ m(p1,p2) + m(p2,p3) inegalitatea
triunghiurilor
• Metrica distanţei: funcţie in Ed × Ed  R+ astfel
încât


d
d ( p1 , p2 ) || p1  p2 || i 1
( xi ( p1 )  xi ( p2 )) 2
Primitive geometrice
• Punct: tuplurile p = (x1,…,xd) sunt definite în raport cu un
sistem de axe cu aceeaşi origine şi o unitate de măsură
(axe de coordonate).
• Linie: o combinatie liniara de doua puncte distincte.
 p1  (1   ) p2   R
• Segment: o linie marginita
 p1  (1   ) p2   [0,1]
• Plan: o combinatie liniara de d puncte
1 p1   2 p2  ...   d 1 pd 1  (1  1 ...   d 1 ) pd
 j  1 j  d 1
• Varietate liniara: o multime V pentru care orice combinatie
liniara de doua puncte din V apartine multimii V.
Multimi
• O mulţime de puncte S este conexă daca nu este
reuniunea a doua mulţimi disjuncte nenule.
• Graniţa (frontiera) unei mulţimi S este o
submulţime a punctelor pentru care exista un punct
vecin la distanţa ε  0 ce nu se află in S.
• Teorema lui Jordan: orice curba simplă îchisă (nu
se intersectează cu ea însăşi) partiţionează planul in
doua regiuni disjuncte. Exteriorul este nemărginit,
iar interiorul este mărginit.
p1 exterior
interior
p2
Multime convexă
• O mulţime S a lui Ed este convexă dacă şi numai
dacă pentru orice p1, p2 din S toate punctele din
segmentul p1p2 sunt în S.
p1 p1

p2 p2

(convexă) (nu este convexă)


• Teoremă: intersecţia a doua mulţimi convexe
este convexă.
p1

p2
Înfăşurătoare convexă
• Înfăşurătoarea convexă CH(P) a unui set de puncte
P in Ed este cea mai mică mulţime convexă ce
conţine P.
P

CH(P)
Echivalent: intersecţia tuturor mulţimilor convexe ce contin P.
• In plan, înfăşurătoarea convexă este mărginită de
segmente liniare.
Poligoane
• Definiţie: un poligon este o regiune a unui
plan, mărginită de o colecţie finită de segmente
liniare (muchii) unde fiecare capăt de segment
(vârf) aparţine exact la doua muchii.
varfuri vi = (xi,yi)
muchii mij= (vi,vj)

graniţe
Complexitatea poligonului: numărul de vârfuri
Tipuri de poligoane
Poligon simplu: o singura curba inchisa:
1. Nici o pereche de muchii neconsecutive nu împart un vârf.
2. Muchiile neadiacente nu se intersectează.

Poligon convex: Nici segment care uneşte oricare


doua vârfuri nu ese înafara poligonului.

diagonale
Tipuri de poligoane
Poligon stelat: un poligon simplu P astfel încat exista un
punct p in interiorul sau astfel că toate segmentele din p
către orice punct q in P se află în interiorul lui P.

Poligon monoton: un poligon P este monoton de-a lungul


unei linii L dacă şi numai daca proiecţia vârfurilor sale pe
linie păstrează o ordine dată a punctelor.
3 5
2 4 6

7
1
Coordonate carteziene în plan
1. Sistem cartezian de coordonate.
2. Coordonate carteziene ale unui punct.
3. Segmente orientate (vectori) în plan.
4. Coordonate ale vectorilor.
5. Produsul scalar a doi vectori.
6. Unghiul dintre doi vectori.
7. Ecuaţia generală a dreptei.
8. Ecuaţia dreptei în segmente.
9. Ecuaţia dreptei ce trece print-un punct şi are vector normal n(a,b)
10. Ecuaţia canonică a dreptei.
11. Ecuaţia parametrică a dreptei.
12. Ecuaţia dreptei ce trece prin două puncte.
13. Unghiul dintre două drepte.
14. Condiţii de perpendicularitate (paralelism) a două drepte.
15. Sistem polar de coordonate.
16. Coordonate polare.
17. Transformări de coordonate.

S-ar putea să vă placă și