P. 1
Ce e Geometria Computational A

Ce e Geometria Computational A

|Views: 477|Likes:
Published by Sorin Marian Topala

More info:

Published by: Sorin Marian Topala on May 23, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

03/23/2014

pdf

text

original

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.

Daca P se afla pe dreapta atunci aria va fi in mod evident 0.Algoritmul de mai sus reprezinta doar una din multele metode de rezolvare a acestei probleme. Computerul electronic digital. Formula data mai sus calculeaza de fapt “Aria semnata” adica rezultatul va fi negativ daca cele trei puncte (Q.P definesc un triunghi. 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. Atunci putem rezolva problema in urmatorul fel.2. pec and daca P se afla deasupra dreptei l. 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.yq) + xp (yq . varfurile triunghiului apar in sens invers acelor de ceasornic. Am prezentat doi algoritmi foarte diferiti folositi pentru a rezolva aceeasi problema de geometrie. Putem calcula aria acestui triunhi folosind urmatoarea formula: Area= 1/2 [xq (yr . Putem observa ca in figura 1. 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. In continuare vom arata ca geometria computationala exista de mai mult de 2600 de ani. fiind fondata de greci.yr)] In mod surprinzator. In acest context istoric vom arata noile caracteristici pe care informatica le-a adaugat acestui domeniu in devoltare in ultimii 30 de ani. desi a avut o puternica influenta asupra acestui domeniu. care necesita mai putina memorie si care sunt mai robusti din punct de vedere al erorilor numerice. 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. ir rezultatul va fi pozitiv daca cele trei puncte apar in sens opus acelor de ceasornic.yq) si R (xr. iar P se afla sub l atunci cand aria este negativa.R. Cele trei puncte Q. aria ne va dezvalui pozitia lui P fata de dreapra l. varfurile triunghiului apar in sensul acelor de ceasornic. avand ca scop determinarea. Mai mult. Mai intai determinam doua puncte noi Q (xq.yr) pe dreapta l (fig 1. Cu toate acestea. in diferite contexte computationale. daca P se afla sub dreapta l. 2. 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. Geometria Constructiva Clasica versus Geometria Computationala Moderna 2.yp) + xr (yp . algoritmilor care ruleaza mai rapid. pentru a rezolva problema noastra ceea ce ne intereseaza cu predilectie este semnul si nu valoarea absoluta a ariei.Esenta .R. La nivel de baza geometria computationala se ocupa cu studiul comparativ al algoritmilor fundamentali.2).1 Introducere Geometria computationala este de multe ori catalogata drept o noua stiinta in informatica. De aici putem trage concluzia ca atunci cand aria este pozitiva P se afla deasupra dreptei l.P) apar in sensul acelor de ceasornic. este un instrument folosit pentru a-i da “aripi” informaticii.

. In acest fel lucrau arhitectii egipteni acum 4000 de ani. Pozitia nodurilor B si C indica acum doua puncte pe o dreapta perpendiculara pe L in B. numiti-l B si atasati-l liniei L in punctul unde vreti sa construiti unghiul drept asa cum este ilustrat in figura 2. 2. Pasul 2. Sa studiem deci ce fel de geometrie s-a facut in trecut cu calculatoare primitive. Sa presupunem insa ca tot ce ai la indemana este o bucata de sfoara. 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. Rigle. 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. Precum spunea si informaticianul Olandez Edsger Dijkstra.2 Sfori cu noduri. Pasul 1. cu mult inaintea computerului digital electronic. de reciproca teoremei lui Pitagora. Luati al treilea nod de langa B in cealalta directie. Urmatorul calculator. 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. algoritmica etc) independenta de tecnologia masinilor folosite pentru a implementa algoritmii pe care aceasta ii dezvolta.informaticii este matematica constructiva (computationala. Luati orice nod. Luati al patrulea nod de langa B in orice directie. Constructia acestui “calculator-colier” este terminata.1 (a). este posibil sa iti amintesti cum sa o faci cu dreptarul si compasul. un calculator popular al grecilor antici.1(b).numiti-l C si trageti de el pana cand laturile AC si BC sunt perfect intinse. “informatica nu ar trebui sa fie numita stiinta a calculului din acelas motiv pentru care chirurgia nu ste numita stiinta a bisturiului”. cu mii de ani mai devreme decat grecii. deci este timpul sa ne concentram asupra algoritmului. Deci egiptenii aveau idee. 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.

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. Studentilor sai de la filozofie le era cerut sa studieze geometria timp de 10 ani. matematicienii din Alexandria precum Euclid erau implicati in geometria computationala.1 Teorema lui Heron Sa consideram doua ferme in mijlocul unui camp in Saskatchewan de aceeasi parte a unei auto strazi din apropiere.” Deci care este diferenta dintre geometria greculo antici si geometria computationala moderna? Diferenta nu era una mare. Euclid notase in cartea sa Catoprica legile fondamentale ale reflecxiei razelor de lumina de pe o oglinda. pe cand in ziua de astazi. Prima diferenta notabila ar fi ca ei lucrau cu date mici. Dupa cum vom vedea.In secolul al treilea inainte de Hristos.Desi Platon nu era un matematician ci un filozof el era de parere ca geometria era esentiala pentru a avea o minte sanatoasa. 2. Cu 400 de ani inainte. multe din problemele cheie ale geometriei computationale din ziua de azi ii preocupau si pe grecii antici. gratie calculatoarelor electronice digitale putem lucra cu seturi de date mai mari.3. 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. 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. 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 . la scoala lui Platon din Atena. La intrarea in scoala sa se gasea un semn pe care scria “nimeni care nu este familiar cu geometria sa nu intre aici.3 Marime Datelor de Intrare intr-un Algoritm 2.Geometria insa era studiata chiar si cu 200 d ani inainte. Geometria computationala moderna se aseamana cu munca greculo preoccupati cu gasirea metodelor de rezolvare a problemelor de geometrie.

Solutia R se afla la intersectia dreptei l cu dreapta P’Q.2). (fig 2. dreapta l este un set de puncte echidistant fata de punctele P si P’.3).4)Raza cercului reprezinta distanta de la X la cel mai indepartat punct punct. rezulta ca “drumul” P’R’Q este mai lung deacat “drumul” P’RQ. fabrici. Este folosita pentru a rezolva o multitudine de probleme. 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.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.R)= d(P’. De aici rezulta ca d(P. De aici rezulta ca “drumul” PR’Q este mai lung decat “drumul” PRQ ceea ce inseamna ca R este locatia optima pentru depozit. 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’. iar d(a. 2. 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).3. scoli.R’) = d(P’R’).R) + d(Q. sediul politiei sau al pompierilor) atunci cand se doreste sa se micsorese timpul necesar interventiilor. Dar din regula inegalitatii triunghiului care spune ca suma a doua laturi este mai mare decat a treia latura. Prin constructie. Din punct de vedere geometric putem formula problema cladirilor in urmatorul fel.R) si d(P. Problema lui Heron poate fi verificata foarte usor si cu compasul si dreptarul. P’ este imaginea in oglinda a lui P (figura 2. O astfel de problema este folositoare in amplasarea cladirilor serviciilor de urgenta (spitale. 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. .2 Problema localizarii cladirilor in format minimax In versiunea standard a acestei probleme ne sunt date n puncte in plan reprezentand clienti. 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.R) sa fie minima. piete. Gasiti punctul R pe l astfel incat d(P.b) reprezinta distanta euclidiana dinte punctele a si b. cunoscuta si sub numele de “principiul reflexiei”. Avem dreapta l si P si Q doua puncte de aceeasi parte a lui l (fig 2. Aceasta este teorema lui Heron. orase.

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

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

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

3 3 2. In alte cuvinte. In acest fel masurau grecii antici complexitatea algoritmilor. limita invelitorii convexe este un poligon convex care consta din margini care conecteaza anumite puncte ale lui S. Figura 2. In figura 2. . Grecii se multumeau cu gasirea unei solutii la o problema.Aceasta se poate scrie ca y=21/3x. pe cand in ziua de astazi se cer algoritmi din ce in ce mai rapizi. Aceasta intreabre este acceasi pe care Lemoine si-a pus-o pentru algoritmii lui Euclid care utilizau rigla si compasul. 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. Cand S este un set de puncte. 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.B contribuie la limita invelitorii convexe in timp ce C. 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. De fapt. 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. cate operatii primitive sunt necesare pentru a calcula invelitaorea convexa a lui S.5. Aceasta este diferenta dintre geometria computationala de atunci si cea de acum.3 Complexitatea algoritmilor Una dintre structurile geometrice fundamentale care a primit multa atentie in geometria computationala este invelitoarea convexa a unui set. 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.6 (a) ilustreaza invelitoarea convexa a unui set de puncte. care este complexitatea algoritmului.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. In final. 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. In cele din urma vom determina invelitoarea convexa. Presupunem pentru simplitate ca punctele lui S sunt date in functie de coordonatele lor carteziene si ca oricare doua puncte nu au aceleasi coordonate.D nu.6 (b) A. este de notat faptul ca dublatul cubului este echivalent cu rezolvarea ecuatiei y =2x . 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 epoca moderna insa. Invelitoarea convexa a unui set S este cel mai mic set convex care il contine pe S. O alta intrebare este: Pentru un set S cu N puncte. este mult mai util sa il determinam aceasta complexitatea a algoritmului ca o functie a lui n. Invelitoarea convexa este asemenea unei benzi elastice intinse in jurulcuielor. Lemoine a denumit numarul de operatii primitive necesare pentru executarea unui algoritm simplicitatea constructiei.

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

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

Rezultatul obtinut este distanta de separare minima dintre dreptele paralele de suport. Un asemenea test poate fi considerat o sonda care deduce forma obiectului. Dar ghidat de sentimentul ca un obiect convex neted cu diametrul D intr-un numar suficient de directii este circular. implementati un sistem de control al calitatii in care trei probe etrier sunt plasate la 60 de grade distanta una de cealalta.1. Va intrebati insa cat de bun este un asemenea control. Idealizat intr-un spatiu geometric. Inchidem aceasta sectiune prin a mentiona faptul ca trebuie sa avem grija cu definitia problemei ce priveste limitele inferioare. 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. Sa denumim acest tip de sonda. oriunde este posibil vom mentiona alte domenii ale acestei discipline si vom indica materiale auxiliare care se ocupa de aceste sub-discipline. Primul asemenea algoritm a fost descoperit de McCallum si Avis. Domeniul Geometriei Computationale 3.Daca toate probele dau o distanta da separare D atunci puteti trage concluzia ca inelul este circular. 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. pentru a le putea trimite pe cele defecte inapoi atelierului pentru remodelare. putem vizualiza aceasta sonda ca apropierea a doua drepte paralele si infinite de marginile obictului convex pana il ating. 3. De aceea. 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. procesul este destul de bun intrucat intotdeauna produce unele convexe si netede. O poveste fascinanta cu privire la circumstantele tehnice. dar procesul de productie nu este perfect si uneori apar inele care nu sunt circulare.manageriale si politice in care naveta spatiala Challenger a explodat . Geometria computationala este astazi un domeniu larg si nu il putem studia pe tot. Cu toate acestea.2 Sondarea Geometrica Sa presupunem ca lucrati in domeniul producerii inelelor de metal in forma de cerc du diametrul D. In aceasta pozitie de contact dreptele se numesc drepte paralele de suport. Aproape acelasi algoritm a fost publicat de Bass si Schubert cu cinci ani inainte.1 Introducere In aceasta sectione vom incerca sa oferim cititorului o privire de ansamblu asupra geometriei computationale din zilele noastre. Cativa algoritmi O(n) exista pentru acest caz special. sonda etrier. 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. Ai dori sa implementezi o procedura de control al calitatii care sa determine care inele sunt circulare si care nu. 3.Este incorect faptul ca geometria computationala a inceput cu problema invelitorii convexe si ca Graham a avut primul algoritm.

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

Un algoritm standard folosit pentru rezolvarea problemei din figura 3.4 unde 4 camere sunt instalate pentru a vedea intreaga galerie.4.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). In grafica pe calculator suntem si mai interesati de versiunea tridimensionala a acestei probleme denumita si problema eliminari suprafetei ascunse. unde n este numarul de laturi ale poligonului.5 determinarea acestei zone de vizibilitate este cunoscuta in literatura de specialitate drept sproblema liniei ascunse. In 1981 Avis si Toussaint au demonstrat un algoritm eficient pentru gasirea locatiilor unde ar trebui amplasate camerele.4. Acum sa presupunem ca aveti o galerie foarte mare si complicata care nu este in forma de stea. Setul de puncte unde o camera poate fi amplasata se numeste nucleu al galeriei. insa nu toate poligoanele-stea sunt convexe. Trei aplte probleme fundamentale in grafica pe calculator sunt: I -Urmarirea razelor. Cu toate acestea pentru aceasta galerie specifica sunt necesare doar 4. Camera (punctul y) poate fi montata oriunde in nucleul galeriei (regiunea umbrita. aproximarea poligoanelor si triangularea poligoanelor.2 Urmarirea razelor. 3. Un poligon care necesita doar o camera este cunoscut drept poligon-stea. 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. Toate poligoanele au forma de stea. Consideram galeria de arta din figura 3.1 Problema liniei ascunse. Cu toate acestea multe dintre aceste probleme au beneficiat de aportul geometriei computationale. In figura 3. Poate galeria voastra arata precum cea din figura 3.4 Grafica pe calculator 3. Freeman si Loutrel nu au calculat complezitatea aloritmului lor in termeni de Marele O insa algoritmul lor se executa in timp O(n2). Cititorul poate crea cu usurinta o galerie unde aceasta strategie vaesua indiferent de unde se incepe amplasarea camerelor.oriunde in galerie. In figura 3. 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.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. Este tentata amplasarea unei camere la fiecare al 3-lea nod al poligonului. 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. 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. .4 n=36 si n/3=12 deci 12 camere sunt suficiente potrivit teoremei. 3. Cand n este mare aceasta reprezinta o imbunatatire considerabila a vitezei algoritmului.3 (b) avem o galerie nonconvexa in forma de stea. cu n ziduri ( n destul de mare).

Grafica pe calculator faec cunoscute probleme practice comunitati geometrie computationale care ofera adeseori algoritmi mai rapizi. . 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.6(a). 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.5 Geometria computationala dinamica. Consideram o linia verticala v care trece prin O. In aceste domeni geometria computationala a avut contributi semnificative. Cu alte cuvibte vi se cere sa actualizati invelitoarea convexa a celor n puncte prin inserarea unui nou punct.4. 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. Intrebarea evidenta este: cat de repede ne putem da seama daca punctul P este in interiorul unui poligon cu n laturi. Sa ne amintim ca am presupus pentru a usura discuia ca nu exista 2 puncte cu aceleas coordonate X. Aceasta abordare utilozeaza un algoritm O(n) pentru a testa incluziunea unui punct intr-un poligon complex.5. Este de mentionat faptul ca notarea prin conventie a Marelui O ne indica: O((n+1)3)=O(n3). 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. 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. Presupunem ca p se agla la dreapta lui v si consideram dreptele aflate in dreapta lui v. Cu toate acestea putem sa facem ceva mult mai bun daca preprocesam poligonul convex si depozitam informatiile intr-o structura de date potrivita. In acest caz invelitoarea nu se modifica si nimic alt ceva nu mai trebuie modificat. 3. Aceste 2 domeni s-au influentat unul pe celalalt fapt evidentiat de problemele liniei ascunsesi cea a eliminari suprafetelor.II -aproximarea poligonala a unei curbe. deci nici o margine nu este verticala. Este de asteptat ca geometria computationala sa aduca imbunatatiri dramatice algoritmilor standard folositi in grafica pe calcualator. Apoi trsati linii din o prin fiecare nod al poligonului precum figura 3. Prima nota ar fi ca marginile invelitori convexe sunt de 2 feluri marginile de sus si cele de jos. De exemplu am putea verifica daca noul punct se afla in interiorul invelitori convexe originale. Sa presupunem ca vi se dadeau n puncte si ca foloseati O(n3) operati primitive cu algoritmul de scris in sectiunea 2. 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. Geometria computationala le ofera programatorilor grafici noi metode de a gandi problemele. In a treia sa lucrare David Dobkin exploreaza viata la interferenta acestor 2 lumi. Aceasta inseamna ca inserati un punct nou folosind O(n3) operati primitive. III-triangularea poligoanelor. Sa consideram din nou problema calculului invelitori convexe a unui set de puncte in plan. Deoarece poligonul este convex toate aceste drepte apar sortate in ordine dupa pantape masura ce traversam nodurile ordonate ale poligonului. 3.3 Geometria computationala si grafica pe calculator.

si pentru a asambla rezultatele partiale obtinute de fiecare calculator intr-o solutie complecta algoritmi utilizati sunt diferiti de cei folositi de calculatoarele secventiale. Un calculator secvential poate afla invelitoarea convexa in O(n3) operati primitive. Mai mult in situati dinamice vrem nu numai sa adaugam puncte ci si sa stergem din ele. . 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. Geometria computationala in apralel face un compromis intre numarul de procesoare utilizat in apralel si timpul necesar executari algoritmului. Asemenea structuri de date sunt dinamice air aceasta subdisciplina a geometriei computationale este numita geometrie computationala dinamica. 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.6(b).2 Geometria computationala si retelele neuronale. Accentul cade insa pe abilitatea calculatoarelor in paralel (retele neuronale) de a invata sa recunoasca anumite proprietati geometrice ale datelor de intrare. In acincea lucrare Mikhail Atallah ofera mai multe tehnici pentru rezolvarea tehnici pentru rezolvarea problemelor de geometrie pe masini in paralel. 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. Presupunem ca am aflat ca P se afla intre li si li+1 precum in figura 3.6. Atunci daca Pi.6. Daca folosim O(n3) calculatoare in apralel algoritmul se poate executa intr-o unitate de timp..6(a).O data cunoscuta perechea de drepte pe care punctul se aflaun simplu test ne va spune daca punctul se afla in interiorul poligonului. De aici apare intrebarea: daca in locul folosiri unei singure masin pe care operatiile primitive sunt executate una dupa alta. 3.. aceasta trebuie actualizata. Desigur poate ca e imposibil sa construim un calculator cu O(n3) procesoare care sa comunice unul ce celalalt. In discutiile anterioare am presupus in mod tacit ca modeklele de calcul sunt secventiale adica toate operatiile primitive erau executate una dupa alta. 3. 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.Pi+1 este o margine superioara verificam daca P se afla sub linia care trece prin Pi. 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. Utilizand tehnici analoage celor descrise mai sus aceasta operatie poate fi executata in O (log n) pasi.Pi+1 daca da atunci P este poligonul complex altfel nu este. am folosi o colectie de k calculatoare care ar lucra la problema simultann.1 Retele de calculatoare secventiale. cat de rapid aam putea solutiona problema. 3. Am subliniat faptul ca pentru unele probleme dacca datele de intrare sunt foarte mari timpul necesar executiei poate fi o problema in sine.

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

9 acesta esueaza deoarece va lasa un spatiu undeva. Graful de intindere minima este evidentiat in figura 3. Graful de intindere seamana cu un copac aobtinut prin conectarea perechilor de puncte.legaturi 3. De exemplu putem forma un lant (legatura lant) sau un poligon inchis (legatura poligonala). In unele contexte datele de intrare nu sunt descrise de poligoane ci de un set de puncte discontinue. Graful de intindere minima reprezinta copacul cu cea mai mica lungime dintre toate grafurile de intindere.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. Deci una din problemele centrale in analiza formelor este extragerea sau descrierea formei unui set de puncte. S defineste un set finit de puncte in plan. Ultima etapa este preocupata de clasificarea obiectului in una sau ami multe categori. Acesta prezinta proprietati atractive pentru viziunea clculatorului si din acest motiv este utilizat la scara larga. Prima etapa a procesului consta in segmentarea imagini in obiecte semnificative. A treia etapa consta in extragerea caracteristicilor sau masurarea formelor obiectelor.10. . O legatura este o colecti e de tije rigide legate impreuna la capete. 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.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. Urmatoarea etapa implica procesarea imaginilor pentru a evidentia anumite caracteristici si pt a indeparta neregularitatile sub o firma sau anlta. Consideram punctele din figura 3. Asemenea obiecte sunt numite tipare punct si sunt bine modelate ca seturi de puncte. Lungimae unui copac reprezinta suma tuturor lungimilor laturilor din copac. 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. 3.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 . Tijele pot fi legate in mai multe feluri.9(a) cum asti conecta acease pucte in asa fel incat figura rezultanta sa descrie structura atat de evidenta pentru oameni. Graful vecinatati relative definit ami jos este mult mai puternic decat garful de intindere minima pentru acest tip de probleme.palnificarea miscarilor 2. MST (garful de intindere minima) si RNG (graful relativ de invecinare)sunt 2 grafuri de proximitate care au fost bin einvestigate in acest proces.9(b). insa se pot roti livbere. si daca da sa gaseasca cea mai scurta cale.2 Grafuri de proximitate si forma unui set de puncte. 3.

13 Topologia computationala. topologia computationala sa dezvoltat in ultimi ani. 3.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.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.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. 3. Insa este dificil dialogul dintre oameni si masini. ce fel de miscari sunt necesare. Calculul era numeric atunci si anliza numerica era principala preocupare a savantilor. O intrebare tipica este aceeea daca o colectie de obiecte poate fi dezasamblata mutand doar cate un obiect. 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. darpot fi separate daca doua din ele sunt mutate simultan. Calculul a devenit vizual iar fundatia calculului vizual este geometria computationala. O generalizare a invelitori convexe este invelitoarea convexa relativa cunoscuta si ca invelitoarea convexa geodezica. 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. In figura 3. In acest exemplu cea mai scurta cale este pe ocean si insulele sunt obstacole care trebuiesc ocolite. In aceasta situatie distanta euclidiana dintre doua puncte este inutila. . noi avand nevoie de distanta geodezica. Un cuvant ocupa mi de cifre iar dezvoltarea limbajelor de programare a ajutat enorm la imbunatatirea interfetei om masina. Multe probleme fundamentale ale geometriei computationale au o natura topologica. De exemplu: avand un lant poligonal inchis in spatiul tridimensional este normal sa intrebam daca alntul este inodat intrun anume fel sau este simolu.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->