Ce e geometria computationala?

Godfried T Toussaint Laboratorul de geometrie computationala Facultatea de informatica Universitatea McGill Montreal, Quebec, Canada

1.Introducere Consideram punctul P si linia l precum in planul ilustrat in figura 1.1. Apare imediat intrebarea: punctual P se afla pe, sub sau deasupra dreptei l?

In sens restrans, geometria computationala este preoccupata de calculul proprietatilor geometrice ale unor seturi de obiecte geometrice aflate in spatiu, precum simpla relatie “deasupra”/”dedesuptul” a unui punct cu o dreapta data. In sens larg geometria computationala este preoccupata cu conceperea si analizarea unor algoritmi pentru a rezolva probleme de geometrie. In sens mai profund geometria computationala reprezinta studiul complexitatii computationale inerente a problemelor geometrice. Aceaste interpretare presupune mai intai determinatea proprietatilor geometrice calculabile. Sa presupunem ca in problema de mai sus punctul P este specificat in functie de coordonaatele sale pe axele OX si OY (xp,yp) si ca dreapta l este data de ecuatia y=ax+b, unde a si b reprezinta panta dreptei iar y reprezinta punctul unde dreapra intersecteaza axa OY. Pentru a simplifica discutia vom presupune ca a nu este egal cu infinit sau zero adica dreapta nu este verticala sau orizintala. Pentru a rezolva aceasta problema este suficient sa calculam intersectia dreptei verticale prin P cu dreapta l. Vom denumi acest punct Z cu coordonatele (xz,yz) ca in figura 1.1. Atunci xz=xp si yz poate fi calculat utilizand ecuatia yz=axp + b. Daca yz>yp atunci P se afla sub dreapta l, daca yz<yp atunci P se afla deasupra dreptei l, iar daca yz=yp atunci P se afla pe dreapta l.

Totusi s-ar gasi altii care sa spuna ca totul a inceput cu Minky si Papert care au incercat sa afle in 1969 care sunt proprietatile geometrice ale unei figuri pentru care aceasta poate sau nu poate fi recunoscuta de o gama larga de modele de procesare ale unei retele neurale.2. Am prezentat doi algoritmi foarte diferiti folositi pentru a rezolva aceeasi problema de geometrie. Geometria Constructiva Clasica versus Geometria Computationala Moderna 2. Pentru a ilustra o alta metoda sa presupunem ca avem in biblioteca noastra cu instrumente computationale de baza o subrutina care calculeaza aria unui triunghi atunci cand introducem coordonatele x si y ale celor 3 puncte care determina triunghiul. In continuare vom arata ca geometria computationala exista de mai mult de 2600 de ani.1 Introducere Geometria computationala este de multe ori catalogata drept o noua stiinta in informatica. algoritmilor care ruleaza mai rapid. Formula data mai sus calculeaza de fapt “Aria semnata” adica rezultatul va fi negativ daca cele trei puncte (Q.yq) + xp (yq .yp) + xr (yp . De aici putem trage concluzia ca atunci cand aria este pozitiva P se afla deasupra dreptei l. geometria computationala utilizata in informatica de azi se ocupa mai mult cu dezvoltarea si analiza algoritmilor la un nivel conceptual mult mai ridicat decat cel prezentat mai sus. varfurile triunghiului apar in sens invers acelor de ceasornic.yq) si R (xr.yr)] In mod surprinzator. aria ne va dezvalui pozitia lui P fata de dreapra l. Mai mult. Putem calcula aria acestui triunhi folosind urmatoarea formula: Area= 1/2 [xq (yr . Putem observa ca in figura 1. desi a avut o puternica influenta asupra acestui domeniu. In acest context istoric vom arata noile caracteristici pe care informatica le-a adaugat acestui domeniu in devoltare in ultimii 30 de ani. daca P se afla sub dreapta l. este un instrument folosit pentru a-i da “aripi” informaticii. Cele trei puncte Q.R. Daca P se afla pe dreapta atunci aria va fi in mod evident 0. avand ca scop determinarea. varfurile triunghiului apar in sensul acelor de ceasornic. Altii ar spune ca a inceput cu 10 ani mai devreme cu teza de doctorat a lui Robin Forrest la Universitatea Cambridge in 1968 sau cu lucrarile sale ulteriore despre geometria computationala in ’71 si ’74. Computerul electronic digital.P) apar in sensul acelor de ceasornic. 2.2). pec and daca P se afla deasupra dreptei l. in diferite contexte computationale.Algoritmul de mai sus reprezinta doar una din multele metode de rezolvare a acestei probleme. fiind fondata de greci. Mai intai determinam doua puncte noi Q (xq.P definesc un triunghi. pentru a rezolva problema noastra ceea ce ne intereseaza cu predilectie este semnul si nu valoarea absoluta a ariei.yr) pe dreapta l (fig 1. Cu toate acestea.R.Esenta . multi informaticieni considerand ca aceasta a luat nastere fie cu teza de doctorat a lui Michael Shamos la Universitatea Yale in 1978 fie cu lucrarea sa despre complexitatea geometrica din 1975. iar P se afla sub l atunci cand aria este negativa. ir rezultatul va fi pozitiv daca cele trei puncte apar in sens opus acelor de ceasornic. Atunci putem rezolva problema in urmatorul fel. care necesita mai putina memorie si care sunt mai robusti din punct de vedere al erorilor numerice. La nivel de baza geometria computationala se ocupa cu studiul comparativ al algoritmilor fundamentali.

2.2 Sfori cu noduri.1 (a). numiti-l B si atasati-l liniei L in punctul unde vreti sa construiti unghiul drept asa cum este ilustrat in figura 2. cu mult inaintea computerului digital electronic. In acest fel lucrau arhitectii egipteni acum 4000 de ani. Constructia acestui “calculator-colier” este terminata. . algoritmica etc) independenta de tecnologia masinilor folosite pentru a implementa algoritmii pe care aceasta ii dezvolta. Rigle. Luati al treilea nod de langa B in cealalta directie. Luati al patrulea nod de langa B in orice directie. Dreapta perpendiculara pe L poate fi acum trasata cu un dreptar prin punctele B si C. ieftin si usor de confectionat permite implementarea unui algoritm simplu a carui corectitudine este bazata pe o teorema fundamentata a geometriei computationale. Luati orice nod.numiti-l C si trageti de el pana cand laturile AC si BC sunt perfect intinse. Pasul 2. un calculator popular al grecilor antici. deci este timpul sa ne concentram asupra algoritmului. Deci egiptenii aveau idee. numiti-l A si puneti-l de-a lungul liniei L tragand de sfoara astfel incat A sa fie cat mai indepartat de B Pasul 3. de reciproca teoremei lui Pitagora. Precum spunea si informaticianul Olandez Edsger Dijkstra.informaticii este matematica constructiva (computationala. Sa studiem deci ce fel de geometrie s-a facut in trecut cu calculatoare primitive. Luati 12 bucati egale de sfoara si legati-le cap la cap cu noduri astfel in cat sa formeze un “colier” cu 12 noduri precum in figura 2. Compasuri si Computerul Electronic Digital Daca nu aveai un raportor si iti era cerut sa construiesti un unghi drept intr-un anumit punct pe o linie data. “informatica nu ar trebui sa fie numita stiinta a calculului din acelas motiv pentru care chirurgia nu ste numita stiinta a bisturiului”. este posibil sa iti amintesti cum sa o faci cu dreptarul si compasul. Pozitia nodurilor B si C indica acum doua puncte pe o dreapta perpendiculara pe L in B. Pasul 1.1(b). Urmatorul calculator. cu mii de ani mai devreme decat grecii. Sa presupunem insa ca tot ce ai la indemana este o bucata de sfoara.

Desi Platon nu era un matematician ci un filozof el era de parere ca geometria era esentiala pentru a avea o minte sanatoasa. multe din problemele cheie ale geometriei computationale din ziua de azi ii preocupau si pe grecii antici.Geometria insa era studiata chiar si cu 200 d ani inainte.3 Marime Datelor de Intrare intr-un Algoritm 2. Geometria computationala moderna se aseamana cu munca greculo preoccupati cu gasirea metodelor de rezolvare a problemelor de geometrie.1 Teorema lui Heron Sa consideram doua ferme in mijlocul unui camp in Saskatchewan de aceeasi parte a unei auto strazi din apropiere. pe cand in ziua de astazi.3. Regula 1: Planul incidentei razei de lumina coincide cu planul reflexiei acesteia Regula 2: Unghiul de incidenta al razei de lumina este egal cu unghiul de reflexie .In secolul al treilea inainte de Hristos. la scoala lui Platon din Atena.” Deci care este diferenta dintre geometria greculo antici si geometria computationala moderna? Diferenta nu era una mare. Prima diferenta notabila ar fi ca ei lucrau cu date mici. O companie ar dori sa contruiasca un depozit undeva de-a lungul autostrazii in asa fel incat distanta dintre cele doua ferme via depozit sa fie minima. Urmatorul exemplu concret din domeniul teoriei amplasarii cladirilor va evidentia acest lucru. gratie calculatoarelor electronice digitale putem lucra cu seturi de date mai mari. Cu 400 de ani inainte. 2. La intrarea in scoala sa se gasea un semn pe care scria “nimeni care nu este familiar cu geometria sa nu intre aici. Euclid notase in cartea sa Catoprica legile fondamentale ale reflecxiei razelor de lumina de pe o oglinda. matematicienii din Alexandria precum Euclid erau implicati in geometria computationala. Dupa cum vom vedea. Oamenii fac in mod continuu drumuri de la o ferma la cealalta si ar dori sa faca un ocol pana la autostrada pentru a face rost de provizii. Studentilor sai de la filozofie le era cerut sa studieze geometria timp de 10 ani. Unde ar trebui sa fie construit acest depozit si care este calea pe care ar trebui sa o urmeze fermierii? Aceasta problema a fost rezolvata de heron in jurul anului 100 dupa Hristos.

iar d(a. puncte de distributie etc si se cere determinarea locatiei lui X unude o cladire ar trebui amplasata sa minimizeze distanta dintre X si cel mai indepartat punct.b) reprezinta distanta euclidiana dinte punctele a si b.3. 2.R) si d(P. sediul politiei sau al pompierilor) atunci cand se doreste sa se micsorese timpul necesar interventiilor. De aici rezulta ca “drumul” PR’Q este mai lung decat “drumul” PRQ ceea ce inseamna ca R este locatia optima pentru depozit. Aceasta este teorema lui Heron. orase. Solutia R se afla la intersectia dreptei l cu dreapta P’Q. Cand transportul dintre cladire si clienti se poate face in linie dreapta aceasta problema are o rezolvare eleganta si succinta: gasiti cel mai mic cerc cu centrul in X a carui arie inglobeaza cele n puncte. . Asta inseamna a lungimea “drumului” PRQ este egala cu lungimea “drumului” P’RQ si ca lungimea lui PR’Q este egala cu lungimea lui P’R’Q’.2 Problema localizarii cladirilor in format minimax In versiunea standard a acestei probleme ne sunt date n puncte in plan reprezentand clienti. P’ este imaginea in oglinda a lui P (figura 2.4)Raza cercului reprezinta distanta de la X la cel mai indepartat punct punct.R) sa fie minima.3). fabrici. piete.R)= d(P’. rezulta ca “drumul” P’R’Q este mai lung deacat “drumul” P’RQ. Din punct de vedere geometric putem formula problema cladirilor in urmatorul fel. De aici rezulta ca d(P.R) + d(Q. Dar din regula inegalitatii triunghiului care spune ca suma a doua laturi este mai mare decat a treia latura.R’) = d(P’R’). O astfel de problema este folositoare in amplasarea cladirilor serviciilor de urgenta (spitale. Este folosita pentru a rezolva o multitudine de probleme. (fig 2. Gasiti punctul R pe l astfel incat d(P.2). scoli. dreapta l este un set de puncte echidistant fata de punctele P si P’. Pentru a verifica corectitudinea afirmatiei lui Heron considerati orice alt punct R’ situat la dreapta lui R (un argument similar se aplica atunci cand R’ se afla la stanga lui R). una dintre cele mai recente fiind aceea a calcularii drumului cel mai scurt care trebuie urmat in interiorul unui poligon daca dorim sa atingem fiecare latura a acestuia.Heron a extins rezultatele lui Euclid si a esplica legile reflexiei in termeni mult mai simpli: lumina calato reste intodeauna pec alea cea mai scurta. cunoscuta si sub numele de “principiul reflexiei”. Prin constructie. Avem dreapta l si P si Q doua puncte de aceeasi parte a lui l (fig 2. Problema lui Heron poate fi verificata foarte usor si cu compasul si dreptarul.

>) Adesea un RAM mai puternic este acceptat prin acceptarea unor operatii aditionale precum compilarea logaritmilor. radicalilor de ordin K sau functiile trigonometrice. scaderea. In Antichitate. modelata in trei dimensiuni euclidiene. 2. numarul datelor de intrare poate varia de la ordinul sutelor pana la ordinul milionelor.In acest tip de problema.4 Dimensiunile unei probleme Problemele discutate mai sus. inmultirea si impartirea) 2. Grecii se limitau la probleme bi sau tridimensionale. Operatiile Aritmetice (adunarea.5. precum majoritatea problemelor discutate in cartea “Elementele” a lui Euclid. Rezolvarea unei asemenea probleme pe vremea lui Euclid ar fi fost in afara oricarei discutii. Aceasta este una din diferentele dintre geometria computationalade atunci si de acum. sunt bidimensionala. Unul dintre cele mai populare modele the calcul utilizate in geometria computationala este Real RAM (Random Access Machine). Aceasta este o alta diferenta dintre geometria computationala de atunci si de acum.5 Modele de calcul 2. Compararea numerelor reale (<. De aceea specificarea si investigarea unor asemenea modeleeste o preocupare de baza a geometriei computationale moderne. masinarie sau computer din perspectiva operatiilor promitive care pot fi efectuate asupra datelor de intrare si din perspectiva “costului” acestora. datele de intrare sunt specificate in numere realse si si presupunem ca un numar real este stocat intr-o locatie care utilizeaza o unitate de memorie. geometria nu se limiteaza la rezolvarea problemelor de acest gen. Puterea de calcul si echivalenta masinilor Specificarea unui model de calcul ne permite sa punem multe intrebari interesante. Astazi insa tehnologii precum recunoasterea tiparelor de catre o masina si robotica ne ofera probleme in lumi multidimensionale. De asemenea putem cere ca in cazul unei probleme si a unei masini date sa comparam toti algoritmii cunoscuti (care pot . Grecii erau preocupati cu lumean fizica. numarul datelor de intrare pentru un algoritm era foarte mic. insa era limiatata din motive practice si nu teoretice. 2. De asemenea mai presupunem ca urmatoarele operatii sunt primitive si ca fiecare poate fi executata intr-o unitate de timp: 1.1 Operatii Primitive Un model de calcul reprezinta descrierea sau specificarea unui dispozitiv abstract. In versiunea de baza a acestui model. De exempluputem intreba care probleme pot fi executate cu o anumita masina. Astazi insa. Un model de calcul este foarte folositor in clasificarea si ordonarea unor probleme si algoritmi in functie de complexitate si timpul de executie.=.

al care RAM a fost extins prin adaugarea de operatii primitive precum calculul radacinilor de ordin n. precum si echivalenta claselor de probleme. Vom considera o noua problema de localizare a cladirilor. daca mai mult de o linie exista ni se cere sa aflam care ste cea mai scurta. Vom ilustra aceste idei cu un exemplu concret. In geometria constructiva clasica. . Desi unii dintre noi ar putea crede ca aceste probleme au aparut de curand. In acest caz raspunsul este afirmativ. compasul. In problema lui heron se cerea sa se calculeze distanta cea mai scurta dintre doua puncte via o linie data. O intrebare evidenta acum este daca aceasta problema poate fi rezolvata utilizand RAM de baza. oamenii de stiinta eau preocupati cu definirea unor modele de calcul: caractereisticile masinilor care va executa algoritmii. Intr-o problema transversala tipica ne sunt date o serie de obiecte iar noi trebuie sa aflam cara exista o linie care intersecteaza toate obiectele din colectie. O alta zona activa de cercetare a fost analizarea si compararea diferitelor modele de masini in functie de puterea lor de calcul. Trebuie notat faptul ca multe dintre afirmatiile lui Euclid au fost criticate in ultimii douazeci de ani insa acest lucru trebuie atribuit traducatorilor sai intrucat algoritmii originali ai lui Euclid sunt dincolo de orice repros. trebuie remarcat faptul ca teorema MohrMascheroni a fost redemonstrata recent (in 1987) de Arnon Avron la universitatea din Tel Aviv. Mai mult. Acum insa vom considera doua drepte a si b si un punct P (fig 2.2). toate acestea fiind probleme arzatoare in geometria computationala moderna. Pentru detalii privind o larga varietate de masini de calcul antice puteti studia cartea lui William Random.5) Aceasta problema este piatra de baza pentru o gama larga de probleme care in prezent sunt investigate in geometria computationala. S-a incercat de asemenea sa se determine operatiile primitive permse cu fiecare tip de masina si sa se gaseasca anumite constructii care ar necesita mai putine operatii decat constructiile facute de Euclid. Exemple tipice de masini care au fost utilizate in trecut includ: rigla. In 1833 Jacob Steiner a demonstrat ca dreapta are aceeasi putere ca si compasul daca dreptei ii este permisa utilizarea compasului o singura data. Acest lucru ne determina sa punem intrebari legate de puterea de calcul relativa a diferitelor masini si echivalenta masinilor. in 1672 Georg Mohr . compasul de unica folosinta (care pur si simplu dispare dupa ce deseneaza cercul). similara celei solutionate de Heron dun Alexandria (ilustrata in figura 2. Pentru a accentua faptul ca dreapta si compasul nu sunt inca inutile. numite probleme transversale. adevarul este ca ele exista inca de pe vremea lui Euclid.rezolva acea problema) in functie de numarul de operatii primitive si unitatile de memorie necesare. unde el echivaleaza compasul de unica folosinta cu un compas obisnuit. Raspunsul este negativ. iar mai apoi in 1779 Lorenzo Mascheroni au demonstrat ca orice constructie care poate fi realizata cu o dreapta si un compas poate fi facuta doar cu compasul. Putem insa punea aceasta intrebare daca utilizam o masina mult mai puternica. Cea mai veche teorema priving echivalenta modelelor de calcul ii este atribuita lui Eulcid in primul capitol al Elementelor. De exemplu .

De fapt. Daca oricare dintre acestea putea fi rezolvata atunci toate puteau fi rezolvate.Sa revenim insa la problema gasirii celei mai scurte drepte AB care leaga dreptele a si b prin punctul B (fig 2. Trei probleme pe care grecii le urmareau cu mare pasiune erau: impartirea in trei parti egale a unui unghi. Primul cercetator care a gasit o caracterizare a solutiei a fost Philon din Bizant in jurul anului 100 d. a generalizat-o si a gasit o caracterizare diferita a ei. fapt demonstrat abia in secolul al 19-lea. iar problemele de acest gen au fost numite Linia Philo. Cu toate acestea el nu a gasit o solutie care sa utilizeze doar rigla si compasul. De fapt nimeni nu a gasit o asemenea solutie pentru ca ea nu exista. In secolul al 17-lea Isaac Newton s-a aplecat asupra problemei lui Philon. construirea unui patrat cu aceeasi arie ca un cerc dat si construirea unui cub cu volum dublu fata de un cub dat . problema celui mai scurt pod si problema rezolvarii acesteia cu rigla si compasul au o instorie interesanta. Ne intrebam deci daca si aceasta problema poate fi solutionata intr-un mod similar.H. De fapt. Solutiile acestor probleme au existat cu mult inainte de Philon insa foloseau alte tipuri de masini. Aceste trei probleme trebuiau rezolvate doar cu o lini si un compas. Este interesant faptul ca o problema din secolul I inainte de Hristos reprezinta o piatra de .5). Deci grecii dezvoltasera o teorie a complexitatii claselor intr-un mod asemanator celui in care cercetatorii moderni dezvolta teoria complexitatii. Ne amintim faptul ca aceasta problema nu poate fi solutionata cu ajutorul RAMului Real de baza. mai multe probleme fusesera reduse reduse la problema dublarii cubului. fapt care l-a determinat sa incerce sa gaseasca o rezolvare care sa utilizeze doar rigla si compasul. De asemenea ne amintim faptul ca problema lui Heron din Alexandria a fost solutionata utilizand rigla si compasul. De exemplu Plato a conceput un calculator pentru a dubla volumul cubului care semana cu intrumentul utilizat de un pantofar pentru a masura lungimea piciorului. Cu toate acesta Philon nu a putut rezolva problema. Din teorema reducerii a lui Philon rezulta ca drumul cel mai scurt nu poate fi calculat doar cu rigla si compasul. Philon insa a demonstrat ca gasirea celui mai scurt drum intre cele doua drepte este echivalent cu dublatul cubului. Si mai interesant este motivul pentru care Philo era interesat de acesta problema. Volumul unui cub nu poate fi dublat utilizand doar rigla si compasul. creand un intreg set de probleme.

O intrebare naturala se iveste insa: cat de puternic trebuie sa fie un calculator pentru a executa acest algoritm? Este simplu de verificat faptul ca RAM-ul Real de baza este suficient. De aceea problema lui Philon poate fi rezolvata cu versiunea extinsa a RAM-ului Real in care radacinile de ordin n sunt acceptate ca operatii primitive. pe cand in ziua de astazi se cer algoritmi din ce in ce mai rapizi. De fapt. Invelitoarea convexa a unui set S este cel mai mic set convex care il contine pe S.baza pentru algoritmii transversali cei mai scurti din secolul XX si ca RAM-ul Real din secolul XX are aceleasi limitari ca rigla si compasul. unii cercetatori sustin ca geometria computationala a inceput cu lucrarea din 1972 a lui Ron Graam despre calculul invelitorii convexe a unui set finit de puncte in plan. Lemoine a denumit numarul de operatii primitive necesare pentru executarea unui algoritm simplicitatea constructiei.B contribuie la limita invelitorii convexe in timp ce C. care este complexitatea algoritmului. Invelitoarea convexa este asemenea unei benzi elastice intinse in jurulcuielor. In final. Presupunem pentru simplitate ca punctele lui S sunt date in functie de coordonatele lor carteziene si ca oricare doua puncte nu au aceleasi coordonate. Aceasta este diferenta dintre geometria computationala de atunci si cea de acum. Figura 2. O alta intrebare este: Pentru un set S cu N puncte. In cele din urma vom determina invelitoarea convexa.6 (a) ilustreaza invelitoarea convexa a unui set de puncte.5. este de notat faptul ca dublatul cubului este echivalent cu rezolvarea ecuatiei y =2x . 3 3 2. In figura 2. Cand S este un set de puncte. . cate operatii primitive sunt necesare pentru a calcula invelitaorea convexa a lui S.6 (b) A. Tot ce trebuie sa facem este sa consideram toate perechile de puncte prin care tragem o linie si sa verificam daca cele ramse se afla de o parte a liniei. In acest fel masurau grecii antici complexitatea algoritmilor. Aceasta intreabre este acceasi pe care Lemoine si-a pus-o pentru algoritmii lui Euclid care utilizau rigla si compasul. In alte cuvinte.Aceasta se poate scrie ca y=21/3x. limita invelitorii convexe este un poligon convex care consta din margini care conecteaza anumite puncte ale lui S.3 Complexitatea algoritmilor Una dintre structurile geometrice fundamentale care a primit multa atentie in geometria computationala este invelitoarea convexa a unui set. este mult mai util sa il determinam aceasta complexitatea a algoritmului ca o functie a lui n. O pereche contribuie la limita invelitorii convexe daca si numai daca linia l dusa prin cele doua puncte divide planul in doua regiuni (cate una de fiecare parte a lui l) in asa fel incat una dintre aceste regiuni nu contine niciun punct din S. Aceasta caracterizare duce la un algortim conceptual simplu pentru a calcula invelitoarea convexa a lui S care foloseste algoritmul discutat in introducere pentru a determina daca un punct este deasupra sau dedesubtul uneilinii.D nu. Grecii se multumeau cu gasirea unei solutii la o problema. In epoca moderna insa. Imaginati-va punctele ca fiind cuie care ies in afara unei placi de lemn. Daca S consta dintr-o configuratie data de 10 puncte am putea pur si simplu sa numaram operatiile executate si sa raportam acest numar absolut ca fiind complexitatea algoritmului.

Probleme mai complicate pot avea formule mult mai lungi si mai complicate. Algoritmul lui Graham este unul dintre cei mai rapizi si necesita doar O(n log n) operatii primitive. i=1.4 sunt constante Acest algoritm simplu contine un polinom de grad trei in expresia care ii determina complexitatea. Vor fi deci n(n-1)/2 asemenea perechi. C(n) incepe sa se comporte ca n3. numit complexitatea algoritmului. Folosind notatia “Marelui O” complexitatea algoritmului nostru devine O(n3). De aceea cand n este de o asemenea marime. Acest tip de notatie se numeste notatia “Marelui O”.2. Apoi testam n-2 puncte pentru a determina daca se afla deasupra sau dedesubtul liniei. Deci numarul total de operatii primitive. De asemenea este denotat faptul ca daca o operatie primitiva se executa intr-o micro-secunda iar n este un milion ii vor trebui algoritmlui 10. . Pentru o pereche de puncte data determinam linia care trece prin ele folosind k1 operatii primitive.3. Presupunem ca verificarea fiecarui punct necesita k2 operatii. rearanjand termenii si redenumind constantele obtinem: C(n)=c1n3 + c2n2 + c3n + c4 unde ci.Considerati de exemplu algoritmul invelitorii convexe descris mai sus. Este de notat faptul ca acest algoritm se va executa in o secunda. De aceea vom folosi o conventie simpla pentru a face complexitatea expresiilor mai simpla: vom folosi doar termenul care ii domina pe toti ceilalti termeni si vom scapa de constante. notat cu C(n) este: C(n)=[n(n-1)/2 ]*[(n-2)k2 + k1] Extinzand aceasta expresie . o complexitate in timp a lui O(n3) nu mai poate fi determinata. facand compararea algoritmilor dificila. Trebuie apoi sa repetam aceasta operatie pentru fiecare pereche de puncte din S.000 de ani pentru a se executa. Multi alti algoritmi cu complexitatea in timp mult mai mica exista pentru calculul invelitorii convexe a n puncte. Pe masura ce n creste.

De cealalta parte. Atunci cand limita inferioara a unei probleme este aceeasi cu limita superioara a algoritmului. Gasirea limitelor inferioare este una dintre cele mai teoretice activitati din geometria computationala.5. O limita inferioara Ω(n log n) a fost stabilita pentru problema invelitorii convexe ani mai tarziu. daca cineva dovedeste ca existenta unei limite inferioare Ω(n log n) atunci cercetarile se pot opri intrucat nu exista algoritmi mai rapizi. pentru a nota limita inferioara. Cu toate acestea. Aceasta este poate cea mai importanta diferenta dintre geometria computationala de atunci si cea de acum. In locul Marelui O vom utiliza simbolul Ω. 2.5 Complexitatea Asteptata a Algoritmilor Este de asemenea comun in analiza complexitatii unui algoritm sa aflam nu numai complexitatea in cel mai rau caz. analiza complexitatii asteptate este mult mai greu de realizat decat analiza complexitatii in cel mai rau caz.6 Observatii istorice Discutia de mai sus legata de complexitate ajuta in solutionarea disputei cu privire la cine si cand a inceput geometria computationala. In analiza complexitatii asteptate presupunem ca datele sunt aleatoare si sunt generate de un anumit model probabilistic. Cu toate acestea este o afirmatie despre toti algoritmii posibili pentru rezolvarea acestei probleme. contributia acestuia la includerea analizei complexitatii si introducerea limitelor inferioare i-a castigat supranumele de parintele teoriei complexitatii geometrice Este de remarcat faptul ca Shamos nu a fost primul care a folosit notatia Marelui O pentru a descrie complexitatea unui algoritm. Complexitatea unui anume algoritm care rezolva problema mai este numita si limita superioara a complexitatii in timp a unei probleme. Trebuie notat faptul ca aceasta afirmatie se refera la o problema si nu la un algoritm. Cu toate acestea. ci si complexitatea asteptata. algoritmul este optim. In practica. calculam valoarea asteptata a numarului de operatii primitive asteptate.2. Lucrarea lui Graham din 1972 despre invelitoarea convexa dovedeste acest lucru. complexitatea asteptata este de cele mai multe ori o descriere mai realista a performantei in timp a algoritmului.5.4 Complexitatea inerenta a problemelor de geometrie O intrebare naturala din geometria computationala a secolului 20 este: care este cel mai rapid algoritm pentru a rezolva o anumita problema? De exemplu putem intreba care este numarul minim de operatii primitive necesare necesare pentru a calcula invelitoarea convexa a n puncte în conformitate cu un model potrivit de calcul. daca pantru o problema data exista un algoritm O(n log n) dar limita inferioara este Ω(n) atunci zeci de cercetatori pot pierde ani intregi in cautarea unor algoritmi mai rapizi. demonstrand ca algoritml lui Graham este optim . In mod surprinzator aceasta intrebare simpla nu a fost pusa de vechii greci. adica cel mai mare numar de operatii primitive necesare impuse de diferitele configuratii ale datelor de intrare. insa are unele dintre cele mai practice consecinte. Graham nu mentioneaza limitele inferioare. De exemplu. Sub influenta acestor presupuneri. Un raspuns la aceasta intrebare ne ofera o limita inferioara a complexitatii in timp a unei probleme. Desi acum este clar ca geometria computationala nu a inceput cu Shamos. 2.5. sau chiar Lemoine in ceea ce priveste numarul de pasi in constructiile lor cu compasul si dreptarul. Se poate atunci incerca reducerea factorului constant din complexitate.

sonda etrier. Ai dori sa implementezi o procedura de control al calitatii care sa determine care inele sunt circulare si care nu.Daca toate probele dau o distanta da separare D atunci puteti trage concluzia ca inelul este circular. procesul este destul de bun intrucat intotdeauna produce unele convexe si netede. Primul asemenea algoritm a fost descoperit de McCallum si Avis. Domeniul Geometriei Computationale 3.1. pentru a le putea trimite pe cele defecte inapoi atelierului pentru remodelare. O poveste fascinanta cu privire la circumstantele tehnice. Cu toate acestea. Inchidem aceasta sectiune prin a mentiona faptul ca trebuie sa avem grija cu definitia problemei ce priveste limitele inferioare. Poate ca ati creat vreodata un obiect la strung si ati folosit un set de etrieri pentrua masura latimea obiectului pe o anumita directie ca in figura 3. Aproape acelasi algoritm a fost publicat de Bass si Schubert cu cinci ani inainte. putem vizualiza aceasta sonda ca apropierea a doua drepte paralele si infinite de marginile obictului convex pana il ating. De exemplu limita inferioara Ω(n log n) a problemei invelitorii convexe de mai sus nu este aceeasi daca datele de intrare specifica un simplupoligon cu n laturi. Procedura de mai sus a fost utilizata pentru a determina daca sectiunile rachetelor de propulsie aleunei navete spatiale sunt suficient de circulare pentru a fi refolosite la urmatoarea lansare. Va intrebati insa cat de bun este un asemenea control.Este incorect faptul ca geometria computationala a inceput cu problema invelitorii convexe si ca Graham a avut primul algoritm.1 Introducere In aceasta sectione vom incerca sa oferim cititorului o privire de ansamblu asupra geometriei computationale din zilele noastre. Idealizat intr-un spatiu geometric. dar procesul de productie nu este perfect si uneori apar inele care nu sunt circulare. Rezultatul obtinut este distanta de separare minima dintre dreptele paralele de suport. De aceea. Un asemenea test poate fi considerat o sonda care deduce forma obiectului. Geometria computationala este astazi un domeniu larg si nu il putem studia pe tot. Cativa algoritmi O(n) exista pentru acest caz special.2 Sondarea Geometrica Sa presupunem ca lucrati in domeniul producerii inelelor de metal in forma de cerc du diametrul D. implementati un sistem de control al calitatii in care trei probe etrier sunt plasate la 60 de grade distanta una de cealalta. 3.manageriale si politice in care naveta spatiala Challenger a explodat . Sa denumim acest tip de sonda. In aceasta pozitie de contact dreptele se numesc drepte paralele de suport. Evident folosind doar o sonda etrier nu putem obtine prea multa informatie despre forma obiectului in afara de faptul ca poate fi plasat in cadrul unei benzi de latime D. 3. Dar ghidat de sentimentul ca un obiect convex neted cu diametrul D intr-un numar suficient de directii este circular. oriunde este posibil vom mentiona alte domenii ale acestei discipline si vom indica materiale auxiliare care se ocupa de aceste sub-discipline.

De aceea ele sunt testate cu trei probe etrier aflate la 60 de grade una de cealalta . figura ABC reprezinta un triunghi echilateral standard. toate sondele etrier au acelasi diametru. desfacutein sectiuni si trimise in Utah pentru reconstructie. Exemplul de mai sus ilustreaza aplicatiile unui tip de sonda (sonda etrier) pentru a determina forma unui obiect. Aceasta zona a geometriei computationale ilustreaza o alta diferenta dintre ce se practica acum si ce se practica pe vremea vechilor greci. precum si multe alte tipuri de sonde. Teoria sondarii geometrice este preocupata de acest tip de probleme legate de obiecte bi si multi dimensionale. Va poate surprinde faptul ca o forma convexa cu o mie. folosind sonde etrier. Ne putem imagina de asemenea o sonda mult mai performanta care poate determina nu numai distanta dintre cele doua drepte paralele. Galeria de arta poate arata ca unl din poligoanele din figura 3. De exemplu ne putem imagina un robot cu senzori tactili care trebuie sa determine forma exacta a unui poligon convex cu n noduri. Lungimea fiecarei laturi este D. Acesta a fost in comitetul de investigare a dezastrului de atunci si a scris despre aceasta experienta in cartea sa “What Do You Care What Other People Think?” Cand rachetele propulsoare si-au indeplinit scopul acestea se detaseaza si cad in ocean. Presupuneti pentru simplitate ca traiti intr-o lume bidimensionala. un milion. Este evident ca peorice directie dreptele paralele de suport vor fi la distanta D una de cealalta. ci si coordonatele punctelor de contact. Pentru a construi un triunghi Reuleaux vom inlocui fiecare latura cu un arc de cerc de raza D. Triunghiul Reuleaux ilustrat in figura 3. Cu toate acestea. Doua dintre cele mai importante probleme care se ivesc sunt: determinarea numarului de sonde necesare si suficiente si crearea de algoritmi eficienti care sa controleze sondele. X poate fi . De aceea. Daca deformarea nu este prea puternica. un astfel de test ineficient a contribuit masiv la tragicul dezastru de pe naveta Challenger. Apoi sunt recuperate. Cu alte cuvinte. Mai mult.2. Sunteti interesati de instalarea unui sistem de supraveghere compus din camere video fixe. Atunci putem determina forma unui poligon convex necunoscut folosind un numar finit de sonde. chair si un numar infinit de diametre masurate pe o infinitate de directii. Acesta mai demonstreaza si ca orice numar de sonde este insuficient pentru a determina daca o forma este circulara. poate sa nu fie circulara.3 Teoriile si Algoritmii Galeriilor de Arta Sa presupunem ca detineti un muzeu sau o galerie de arta cu picturi si sculpturi nepretuite. Grecii erau preocupati doar de obiecte predefinite si nu explorau partea de invarate prin folosirea de sonde asupra unor figuri cunoscute doar partial 3. In timpul vizitei lui Feynman la fabrica din Utah. exista multe alte obiecte de interes in afara de cercuri.3 (a) atunci este clar faptul ca veti avea nevoie doar de o camera aflata in punctul X. dar care se pot roti la 360grade.3. O astfel de forma se numeste forma cu diametru constant. In timpul impactului acestea se deformeaza partial si nu mai au forma circulara. sectiunile sunt considerate a fi circulare si sunt refolosite. munitorii i s-au plans ca deseori intampinau dificultati in a reasambla sectiunile si ca suspectau ca testele nu erau adecvate. Superiorii lor insa l-au ignorat plangerile. Richard Feynman. Daca galeria are forma din figura 3.2 este un astfel de exemplu In figura 3.omorand 7 astronauti ii apartine fizicianului castigator al premiului Nobel.

In 1973 Victor Klee a pus intrebarea: pentru garelie arbitrara care este numarul minim de camere necesar pentru a pazi interior al unei galeri cu n ziduri. Cu toate acestea multe dintre aceste probleme au beneficiat de aportul geometriei computationale. . In figura 3. In 1981 Avis si Toussaint au demonstrat un algoritm eficient pentru gasirea locatiilor unde ar trebui amplasate camerele.4 Grafica pe calculator 3.3 (b) avem o galerie nonconvexa in forma de stea.4 n=36 si n/3=12 deci 12 camere sunt suficiente potrivit teoremei.4.4 unde 4 camere sunt instalate pentru a vedea intreaga galerie. 3. Cu toate acestea pentru aceasta galerie specifica sunt necesare doar 4. Folosind uneltele create pentru dezvoltarea algoritmilor in geometria computationala ElGindy si Avis au putut sa creeze un algoritm care se executa in timp O(n). Poate galeria voastra arata precum cea din figura 3. 3. Un algoritm standard folosit pentru rezolvarea problemei din figura 3. Trei aplte probleme fundamentale in grafica pe calculator sunt: I -Urmarirea razelor. Un poligon care necesita doar o camera este cunoscut drept poligon-stea. Setul de puncte unde o camera poate fi amplasata se numeste nucleu al galeriei. Toate poligoanele au forma de stea.5 determinarea acestei zone de vizibilitate este cunoscuta in literatura de specialitate drept sproblema liniei ascunse.1 Problema liniei ascunse. Acest tip de problema pentru diferite tipuri de camere si diferite tipuri de mediu cade intr-o zona de cercetare care a devenit cunoscuta drept teoriile si algoritmi galeriilor de arta. Vasek Chvatal a stabilit “teorema galeriei de arta a lui Chvatal” ca n/3 camere sunt intotdeauna suficene si cateodata necesare.2 Urmarirea razelor. Acum sa presupunem ca aveti o galerie foarte mare si complicata care nu este in forma de stea.oriunde in galerie. In figura 3. Este tentata amplasarea unei camere la fiecare al 3-lea nod al poligonului. Consideram galeria de arta din figura 3. aproximarea poligoanelor si triangularea poligoanelor. insa nu toate poligoanele-stea sunt convexe. Camera (punctul y) poate fi montata oriunde in nucleul galeriei (regiunea umbrita. Intr-o problema tipica ne ofera o descriere geometrica a unui set de obiecte in spatiu si ni se cere sa specificam obiectele vizibile din punctul V. unde n este numarul de laturi ale poligonului.5 le este datorat lui Freeman si Loutrel care au dezvoltat un algoritm cu mai mult de 10 ani inainte de lucrarea lui Shamos care ar marca inceputul geometriei computationale. Sunteti interesati sa aflati care zone din galerie sunt vizibile cu o singura camera C o asemenea regiune denumita zona de vizibilitate din punctul C este ilustrata in figura 3. Cititorul poate crea cu usurinta o galerie unde aceasta strategie vaesua indiferent de unde se incepe amplasarea camerelor. Freeman si Loutrel nu au calculat complezitatea aloritmului lor in termeni de Marele O insa algoritmul lor se executa in timp O(n2). In grafica pe calculator suntem si mai interesati de versiunea tridimensionala a acestei probleme denumita si problema eliminari suprafetei ascunse.4. cu n ziduri ( n destul de mare). Cand n este mare aceasta reprezinta o imbunatatire considerabila a vitezei algoritmului.4.

Presupuneti acum ca un punct aditional P a fost lasat afara din datele initiale si vi se cere sa aflati invelitoarea convexa a celor n+1 puncte.5. Este de mentionat faptul ca notarea prin conventie a Marelui O ne indica: O((n+1)3)=O(n3). Aceasta abordare utilozeaza un algoritm O(n) pentru a testa incluziunea unui punct intr-un poligon complex. Apoi trsati linii din o prin fiecare nod al poligonului precum figura 3. Este de asteptat ca geometria computationala sa aduca imbunatatiri dramatice algoritmilor standard folositi in grafica pe calcualator. De aceea putem determina daca un punct pP este in interiorul unui poligon convex de n laturi folosind algoritmul descris in introducere pentru a testa poziti relativa a unui punct in arport cu o linie.5 Geometria computationala dinamica. Consideram o linia verticala v care trece prin O. Sa presupunem ca vi se dadeau n puncte si ca foloseati O(n3) operati primitive cu algoritmul de scris in sectiunea 2. deci nici o margine nu este verticala. Presupunem ca p se agla la dreapta lui v si consideram dreptele aflate in dreapta lui v. Sa ne amintim ca am presupus pentru a usura discuia ca nu exista 2 puncte cu aceleas coordonate X. Sa consideram din nou problema calculului invelitori convexe a unui set de puncte in plan.3 Geometria computationala si grafica pe calculator. III-triangularea poligoanelor. Cu toate acestea putem sa facem ceva mult mai bun daca preprocesam poligonul convex si depozitam informatiile intr-o structura de date potrivita.4. Aceasta inseamna ca inserati un punct nou folosind O(n3) operati primitive. De exemplu am putea verifica daca noul punct se afla in interiorul invelitori convexe originale.6(a). Mai intai alegeti un punct arbitrar O in interiorul poligonului aceasta poate fi facuta in urma calculari mediei aritmetice a orcaror 3 noduri ale poligonului.II -aproximarea poligonala a unei curbe. In acest caz invelitoarea nu se modifica si nimic alt ceva nu mai trebuie modificat. Aceste 2 domeni s-au influentat unul pe celalalt fapt evidentiat de problemele liniei ascunsesi cea a eliminari suprafetelor. O abordare evidenta este sa desconsiderati toata munca depusa pentru cele n puncte originale si sa aplicati algoritmul inca o data pentru cele n+1 puncte. . Intrebarea evidenta este: cat de repede ne putem da seama daca punctul P este in interiorul unui poligon cu n laturi. Grafica pe calculator faec cunoscute probleme practice comunitati geometrie computationale care ofera adeseori algoritmi mai rapizi. In a treia sa lucrare David Dobkin exploreaza viata la interferenta acestor 2 lumi. In aceste domeni geometria computationala a avut contributi semnificative. 3. Cu alte cuvibte vi se cere sa actualizati invelitoarea convexa a celor n puncte prin inserarea unui nou punct. 3. Geometria computationala le ofera programatorilor grafici noi metode de a gandi problemele. Deci prin stocarea acestor drepte intr-un vector ordonat putem aplica o cautare binara pentru a determina in doar O(log n) operati linia aflata imediat deasupra punctului P. Prima nota ar fi ca marginile invelitori convexe sunt de 2 feluri marginile de sus si cele de jos. O metoda mult ami eficienta ar fi sa modificam invelitoarea convexa existenta pentru a reflecta introducerea noului punct P. E evident un punct p este in invelitoarea convexa daca si numai daca se afla deasupra tuturor liniilor care trec prin amrginile inferioare si daca sxe afla dedesubtul tuturor liniilor care trec prin marginile superioare. Deoarece poligonul este convex toate aceste drepte apar sortate in ordine dupa pantape masura ce traversam nodurile ordonate ale poligonului.

Atunci daca Pi. am folosi o colectie de k calculatoare care ar lucra la problema simultann. Mai mult in situati dinamice vrem nu numai sa adaugam puncte ci si sa stergem din ele. In acincea lucrare Mikhail Atallah ofera mai multe tehnici pentru rezolvarea tehnici pentru rezolvarea problemelor de geometrie pe masini in paralel. Geometria computationala in apralel face un compromis intre numarul de procesoare utilizat in apralel si timpul necesar executari algoritmului. Trebuie sa mentionam ca lucrarea clasica despre retelele neuronale a lui Minsky si Papert intra in domeniul geometriei computationale in paralel. . O abordare similara este utilizata atunci cand P se afla la stanga lui v.O data cunoscuta perechea de drepte pe care punctul se aflaun simplu test ne va spune daca punctul se afla in interiorul poligonului. si pentru a asambla rezultatele partiale obtinute de fiecare calculator intr-o solutie complecta algoritmi utilizati sunt diferiti de cei folositi de calculatoarele secventiale. 3. aceasta trebuie actualizata.6. In discutiile anterioare am presupus in mod tacit ca modeklele de calcul sunt secventiale adica toate operatiile primitive erau executate una dupa alta. Daca punctul se afla in exteriorul invelitori convexe atunci actualizarea proceduri nu este finalizata intrucat trebuie sa deconectam o aprte din vechea granita si sa adaugam doua noi margini la cea noua precum in figura 3. Accentul cade insa pe abilitatea calculatoarelor in paralel (retele neuronale) de a invata sa recunoasca anumite proprietati geometrice ale datelor de intrare.Pi+1 este o margine superioara verificam daca P se afla sub linia care trece prin Pi.. De aici apare intrebarea: daca in locul folosiri unei singure masin pe care operatiile primitive sunt executate una dupa alta.2 Geometria computationala si retelele neuronale. Am subliniat faptul ca pentru unele probleme dacca datele de intrare sunt foarte mari timpul necesar executiei poate fi o problema in sine.Pi+1 daca da atunci P este poligonul complex altfel nu este. Sa schimbam acum scenariul si sa presupunem ca noi pincte sunt inserate in mod continuu pentru a beneficia in continuare de structura de date preprocesataa.6(b). Asemenea structuri de date sunt dinamice air aceasta subdisciplina a geometriei computationale este numita geometrie computationala dinamica. Desigur poate ca e imposibil sa construim un calculator cu O(n3) procesoare care sa comunice unul ce celalalt.6(a). 3. Daca folosim O(n3) calculatoare in apralel algoritmul se poate executa intr-o unitate de timp. 3. Deoarece fiecare calculator solutioneaza doar o parte a priblemei si calculatoarele trebuie sa comulnice unul cu celalalt pentru anu aparea aceleas rezultate de doua ori.6 Geometria computationala paralela.6. Utilizand tehnici analoage celor descrise mai sus aceasta operatie poate fi executata in O (log n) pasi. cat de rapid aam putea solutiona problema. Un calculator secvential poate afla invelitoarea convexa in O(n3) operati primitive. Presupunem ca am aflat ca P se afla intre li si li+1 precum in figura 3..1 Retele de calculatoare secventiale. In a patra sa lucrare Yi-Jen Chiang si Roberto Tamassia ofera un tutorial care are aplicati practice importante in grafica pe calculator si design asistat de calculator.

Poate una dintre cele mai importante aplicati este asa numita problema a conturului patrulaterelor lipute. O implementare tipica a algoritmului invelitori convexe ne va da ca reziltat un poligon convex cu doar 950 de noduri. manufacturii. Geometria computationala numerica se ocupa de crearea unor algoritmi de incredere.3. “ Geometria computatiomala obtica “ 3. Este util sa descompunem problema viziuni calculatorului intr-o serie de subprobleme care se executa secvential si in ordinea ilustrata in figura 3. Cele mai relevante carti din acest domeniu au fost scrise de Ahuja si Schacter (1983) si Sugihara (1986).10. Aceasta ilustreaza problemele ingrijoratoare legate de acuratetea algoritmilor.3 Geometria computationala optica. Considerati urmatoarele date de intrare pentru un algoritm care proceseaza invelitoarea convexa.9 scopulprogramului viziuni calculatorului este de a analiza o scena din lumea realacu ajutorul uinui dispozitiv de intrare precum o camera digitala. In aceasta problema ne sunt date patrulatere in plan si ni se cere sa aflam granita exterioara a acestora. In mod evident invelitoarea convexa ar trebui sa fi eun poligon complex cu o 1000 de noduri. 3. 3. Pentru detali consultati lucrarea lui Karasik si Sharir. Edelsbrunner si Mucke descriu o tehnica numita de ei simularea simplitati care simplifica algoritmi sugerand un model uniform de a elimina degenerarile. Nu este surprinzator faptul ca exista o varietate de subprobleme in modelarea geometrica in care geometria computationala joaca un rol important.9 Modelarea geometrica se refera la procesul generari de modele geometrice a unor obiecte reale sau a unor procese dinamice care pot fi stocate in calculator cu scopul designului (CAD). Cunoscuta si sub numele de geometrie computationala rectilinie aceasta se ocupa cu date de intrare reprezentate de segmente si poligoane in care toate laturile sunt fie verticale fie orizontale. si de a ajunge la o descriere a sccenei care este folositoare pt indeplinirea unei sarcini.7 geometria computatioanala isothetica.1 Introducere. O alta abordare a geometrie computationale in apralel utilizeaza calculatoare optice. Generati 1000 de puncte pe limita unui cerc dat api calculati invelitoarea convexa a cestor puncte. 3. In unele domeni precum procesarea de imagine datele utilizate sunt predominant poligoane isothetice.10 Computer Vision 3. Aceasta restrictie simplifica masiv algoritmi pentru rezolvarea problemelor de geometrie. De . sau stimularea proceselor.6. Acest domeniu sa dezvoltat in ultimi 40 de ani ca o subdisciplina a inteligentei artificiale. Una din cele mai portante probleme este generarea unei site in interiorul unui poligon.8 Geometria computationala numerica.

10. Tijele pot fi legate in mai multe feluri. Lungimae unui copac reprezinta suma tuturor lungimilor laturilor din copac.11 Robotica nicio discuti elegata de geometria computationala nu poate merge inainte fara a mentiona robotica drept una din principalele aplcati exista mai multe subprobleme ale robotici care vor fi mentionate: 1. S defineste un set finit de puncte in plan. insa se pot roti livbere.2 Grafuri de proximitate si forma unui set de puncte. MST (garful de intindere minima) si RNG (graful relativ de invecinare)sunt 2 grafuri de proximitate care au fost bin einvestigate in acest proces. Un graf de proximitate a unui set de puncte este un graf obtinut prin conectarea a doua puncte prin intermediul unei alturi daca cele doua puncte sunt apropiate iintr-un anume sens. A treia etapa consta in extragerea caracteristicilor sau masurarea formelor obiectelor. Cu toate acestea graful de intindere minima impune structura de copac fiecarui tipar din puncte pe care il intalneste in cazul tiparului ciclic din figura 3. Graful de intindere minima reprezinta copacul cu cea mai mica lungime dintre toate grafurile de intindere. 3. si daca da sa gaseasca cea mai scurta cale.legaturi 3. Urmatoarea etapa implica procesarea imaginilor pentru a evidentia anumite caracteristici si pt a indeparta neregularitatile sub o firma sau anlta. Deci una din problemele centrale in analiza formelor este extragerea sau descrierea formei unui set de puncte. In unele contexte datele de intrare nu sunt descrise de poligoane ci de un set de puncte discontinue. 3.obicei camera foloseste o matrice de numere fiecare reprezentand cantitatea de lumina a unei scene din lumea reala intr-o anumita loicatie din campul vizual.9(a) cum asti conecta acease pucte in asa fel incat figura rezultanta sa descrie structura atat de evidenta pentru oameni. O legatura este o colecti e de tije rigide legate impreuna la capete. Ultima etapa este preocupata de clasificarea obiectului in una sau ami multe categori.asamblarea automata in planificarea miscarilor o problema tipica implica un robot care trebuie sa se descurce intrun spatiu plin de obstacole aici apar intrebari ca: poate robotul sa se miste din punctul a in b fara a se lovi de obiecte . Consideram punctele din figura 3. Graful vecinatati relative definit ami jos este mult mai puternic decat garful de intindere minima pentru acest tip de probleme. Graful de intindere seamana cu un copac aobtinut prin conectarea perechilor de puncte. Asemenea obiecte sunt numite tipare punct si sunt bine modelate ca seturi de puncte. Graful de intindere minima este evidentiat in figura 3. .palnificarea miscarilor 2. De exemplu putem forma un lant (legatura lant) sau un poligon inchis (legatura poligonala).9(b). Prima etapa a procesului consta in segmentarea imagini in obiecte semnificative. Acesta prezinta proprietati atractive pentru viziunea clculatorului si din acest motiv este utilizat la scara larga.9 acesta esueaza deoarece va lasa un spatiu undeva.

darpot fi separate daca doua din ele sunt mutate simultan. 4 Concluzie Cand calculatorul electronic digital a aparul la inceputul anili\or 40 a fost folosit pentru a realiza calcule numerice imitand scopul predecesorilor sai mecanici. 3.12 geometria computationala geodezica sa consideram problema localizari cladirilor discutata la sectiunea 2 dar presupunem ca transportul se va face pe apasi ca orasele se afla pe coasta precum in filipine. Calculul era numeric atunci si anliza numerica era principala preocupare a savantilor. noi avand nevoie de distanta geodezica. Multe probleme fundamentale ale geometriei computationale au o natura topologica. O intrebare tipica este aceeea daca o colectie de obiecte poate fi dezasamblata mutand doar cate un obiect.Asamblarea automata este o problema de planificare a miscari unde luam in considerare o colectie de obiecte si trebuie sa sraspundem la intrebari legate de separarea sau mbinarea intr-o anumaita configurateie iar dca aceste actiuni sunt posibile. Inspirata de asemenea probleme o noua arie. topologia computationala sa dezvoltat in ultimi ani. . Calculul a devenit vizual iar fundatia calculului vizual este geometria computationala. 3.10 este ilustrata o configuratie de 3 obiecte in forma de stea in asa fel incat niciun obiect nu poate fi mutat fara a le deranja pe celelalte. ce fel de miscari sunt necesare. Dar desigur o poza valoreaza cat o1000 de civinte iar comunicarea om masina din ziua de azi este reamizata aproape exclusiv prin grafica si imagini. In figura 3. In acest exemplu cea mai scurta cale este pe ocean si insulele sunt obstacole care trebuiesc ocolite. Un cuvant ocupa mi de cifre iar dezvoltarea limbajelor de programare a ajutat enorm la imbunatatirea interfetei om masina. O generalizare a invelitori convexe este invelitoarea convexa relativa cunoscuta si ca invelitoarea convexa geodezica.13 Topologia computationala. Insa este dificil dialogul dintre oameni si masini. In aceasta situatie distanta euclidiana dintre doua puncte este inutila. De exemplu: avand un lant poligonal inchis in spatiul tridimensional este normal sa intrebam daca alntul este inodat intrun anume fel sau este simolu.

Sign up to vote on this title
UsefulNot useful