Geom Comp Cap1 2

download Geom Comp Cap1 2

of 145

Transcript of Geom Comp Cap1 2

VALERNIMINEGeometrie computaional7 CAPITOLUL 1 ELEMENTE DE MATLAB 1.1Introducere Obiectelegeometricecapunct,liniesaupoligonreprezint bazapentrufoartemulteaplicatiioferindu-neogamalargade problemesialgorimti.Termenuldegeometrienereamintete desigur de cele mai vechi utilizri ale sale: msurri de terenuri i materiale.Inzilelenoastre,apariiacalculatoruluiafacilitat rezolvarea unor probleme geometrice tot mai diverse. Termenul de geometriecomputaionalsedatoreazluiShamos(1975)is-a dezvoltat considerabil n ultimii ani, cu precdere din 1985 cnd au fostrealizateprimaconferin(ACMSymposiumon ComputationalGeometry)iprimuljurnalndomeniu(jurnalul Springer-Verlag, Discret and Computational Geometry) Matlabreprezintunlimbajspecializatpentrudezvoltarea aplicaiilor tehnice, ce include faciliti destinate proiectrii asistate decalculator.ProgrameledetipCAD(ComputerAidedDesign) suntnzilelenoastretotmaiutilizatendomeniidiversede activitatedelaceledeproiectarenconstrucii,arhitectura,etc. MatlabesteunprodusalcompanieiTheMathworks, Inc.[http://www.mathworks.com] si lucreazsub Windows, Unix, Linux,sauMachintosh.Versiuneaceamairecentesteversiunea 7. O versiune complet a acestui mediu de calcul cuprinde module specifice,numitetool-box-uri,carepermitrezolvareaunor problemespecificedindiferitedomeniidelucru :statistic, inginerie,arhitectur,matematic,fiindastfelunmijlocde investigaienumericperformant.Aceastcoleciedemodule cuprinde:Simulink,DSP,ControlSystem,SimMechanics, SimPowerSystems,DataAcquisition,FuzzyLogic,Image VALERNIMINEGeometrie computaional8 Processing,PartialDifferentialEquations,NeuralNetwork, Optimization,SystemIdentification,Financial,Statistics, Communications, Database, Virtual Reality., etc. Matlab reprezint i un mediu util de rezolvare a problemelor din domeniulmatematicii,nspecialacelordindomeniulnumericn caredemulteoriovizualizaregraficarmbuntirezultatul experimentului numeric. Matlaboferaogamalargadeinstrumentecarerezolvaprobleme denaturageometrica.Convexhull,triangulatiileDelaunaysau diagrameleVoronoisuntproblemepentrucareacestlimbajofera comenzi si functii predefinite pentru a fi rezolvate. Ce este Matlab? Dupcum sugereazinumele,Matlab(MatrixLaboratory)este destinatnprimulrndlucruluicumatriciiaproblemelorcare implic calcul matriceal : rezolvarea de sisteme de ecuaii, calculul vectorilorivalorilorproprii,etc,oferindifacilitiprivind reprezentrilegraficeceaulabazdatestructuratenmatricide diversedimensiuni.Matlabesteunsisteminteractiv,alcarui element de baza este o matrice care nu trebuie specificata.Astfel un vector este o matrice cu o linie sau o coloana iar scalarii realisaucomplexisuntinterpretaicamatrici1x1.Acesteobiecte suntdefinitentimpullucruluinMatlabisenumescvariabile. Datorita facilitatilor sale extraordinare de vizualizare grafica softul seutilizeazafoarteeficientsiindomeniulgeometriei computationale fiind in acelasi timp util si usor de folosit de catre ceicarestudiazaaceastadisciplina.AstfelMatlabpunela dispozitia utilizatorului functii si comenzi specifice de reprezentari a curbelor si suprafetelor din domeniul geometriei computationale. Lucrareaimbinaintr-unmodutilrezultateteoreticedindomeniu cu aplicatii intr-un soft performant si de actualiate. Matlablucreazfienmodulliniedecomanda,situaien carefiecarelinieesteprelucratimediat,rezultateleputndfi afisate,fiecuprogramme(maimulteinstruciuniMatlabcu posibilitateaapelriialtorfiieredeacelaitipiaapelrii VALERNIMINEGeometrie computaional9 recursive ) coninute n fiiere numite fiiere-M ( M-files ) ce au extensia .m DuplansareaaplicaieiMatlabvaapareafereastraprincipal Matlab,dincarepotfideschiseapoialteferestresupervizatede Matlab.Lavariantelemaiavansate(6,7)alturidefereastrade comand (Command Window), mai pot aprea implicit Fereastra CommandHistory,cepermitememorarea,vizualizarea,editarea i relansarea funciilor utilizate anterior, fereastra Lunch Pad, care permite lansarea uneltelor i accesarea documentaiei Matlab. Alte ferestre care nu apar implicit mai pot fi-fereastra Current Directory, ce controleaz fiierele Matlab -fereastra Help -fereastraWorkspaceundesevizualizeazimodific coninutul spaiulu de lucruCommandWindowestefereastraprincipaldecomunicarecu utilizatorul i permite lansarea de funcii i comenzi Matlab. Dac doriimodificareaproprietiloracesteiferestreselectai Preferences din meniul File al Matlab Desktop. Programele create n Matlab pot fi- fiiere script care sunt fiiere cu comenzi Matlab - fiiere function Pentru crearea unui fiier .m selectai File- New- M-file din meniul Matlab Desktop. PentrurulareaunuiprogramcreatnMatlabenecesardoar tastareacomenziicunumelefiieruluicuextensia.mnfereastra de comand.Existena ferestrei de comanda face din Matlab un mediu interactiv deosebitdeutilinrezolvareadeaplicaiidiverse.Astfeldup tastareacomenzilorndreptulprompter-luidinfereastrade comand,calculelesevorefectualaacionareatasteiEnter.La nivelulcelmaidejos,Matlabpoatefifolositcaicalculatorde buzunar. VALERNIMINEGeometrie computaional10 (1+sqrt(5))/2 ans = 1.6180 OcaracteristicaMatlab-luiesteceaaexisteneispaiuluide lucru n care se pot pstra i regsi variabilele definite i valori ale acestora calculate prin comenzi sau funcii Matlab. Fiierele script au proprietatea c dup apelarea i execuia lor, variabilel rmn n spaiul de lucru. Fiierele function au urmtoarea form: function[parametri_iesire] = nume_funcie[parametri_intrare].Acestefiiereauproprietateacdupexecutarealor,variabilele interne nu rman n zona de memorie a spaiului de lucru, ci doar cele de ieire. ProgramelecreatenMatlabsescriucuuneditordetextsiau extensia .m. Funciilerecunoscutedeacestlimbajsuntgrupatentoolbox-uri specializatepecategoriideproblemedindomeniidiversede activitate.Olistareaacestorcategoriiiafunciilor corespunzatoare poate fi facut cu uurin utiliznd comanda help n fereastra de comanda. >> help [lista cu categoriile de funcii existente] Dac dup comanda help se tiparete numele exact al comenzii sau funcieicareneintereseaz,atuncisevortipariinformaiile corespunztoareacestoraexistentenmeniulhelpalmediului Matlab.DeasemeneadacsunteiconectatlaInternetaveii posibilitateadeaviseoferiajutoronline. Dacduphelpvei tiprinumeleunuidirectoratunci,atuncisevorafiafiierele coninutendirectorulspecificatLaapelarenuestenecesarsse scrientreagacaleadirectorului,ultimacomponenteste suficient. Matlab utilizeaz deasemenea cteva funcii de control general : what-listeazfiierele*.m,*.mati*.mexdindirectorul curent ; VALERNIMINEGeometrie computaional11 type- listeaz fiierul m, menionat ; lookfor- returneaz numele fiierelor care au n prima linie a help-lui (linia H1) cuvintele precizate ca argument ; which- returneaz calea n care este localizat un fiier sau o funcie Matlab ; who- listeaz variabilele curente din memorie ; whos- listeaz variabilele curente, dimensiunile lor, precum i tipul acestora (reale sau complexe) ; CelmaiuormoddeanvaMatlabestedea-lexperimenta singuri i astfel s v convingei singuri de flexibilitatea i usurina dea lucra cu acest mediu interactiv. Startul i terminarea sesiunilor de lucru PeplatformeledetipWindows,programuldeinstalare creeaz un shortcut la programul executabil, shortcut care poatefiplasatpedesktop(pedisplay-uldelucrual calculatorului).Prinefectuareaunuidubluclickpeicon-ul care reprezint acest shortcut se starteaz MATLAB-ul. Pentru startarea MATLAB-ului pe un sistem UNIX trebuie tastat matlab la prompterul sistemului de operare. Fiiere de pornire (Startup Files) Lapornire,MATLAB-ulexecutautomatfiierulmaster matlabrc.m i, dac exist, fiierul startup.m.Fiierulmatlabrc.mesterezervatpentru administratoruldesistem(reea),ntimpce fiierul startup.m este destinat utilizatorilor. De aici se pot seta cile de acces, se pot defini setrile implicite pentru instrumentele Handle Graphics i se pot predefini variabile n spaiul de lucru.De exemplu, dac n startup.m se introduce linia addpath /home/me/mytools VALERNIMINEGeometrie computaional12 se adaug un director de instrumente proprii pentru calea implicit de cutare. PeplatformeleWindows,fiierulstartup.mseplaseazn directorul local din directorul toolbox. Cum prsesc mediul Matlab ? PrsireauneisesiunidelucruMatlabsefacecuuurintastnd n dreptul promter-ului Matlab >>, comenzile exit sau quit. 1.2 Calcule simple n Matlab. Vectori i matrice Seciunea ofer o introducere n modul de lucru al Matlab-lui cu numere,vectori,matriciioperatiicaresepotrealizacuacestea. Matlabofernprimulrndposibilitatearealizariioperaiilor aritmeticecuvectori,matricisauscalaridarialtoroperaii specializatepentrulucrulcumatriciunisaubidimesionale.Daca presupunem c a i b sunt doua numere ntregi ce pot primi diverse valori,Matlabpoaterealizaoperaiilestandardaritmeticecu aceste valori : a =5; b =12; a+b ans = 17 Variabila ans se creeaz n momentul n care expresiei nu i este asociat nici o variabil. x=sin(2) x = 0.9093 Dac nu este necesar afiarea variabilei de ieire, putem folosi semnul ; dupa tastarea expresiei : y=3*exp(x)+cos(x); VALERNIMINEGeometrie computaional13 Virgula se poate folosi n situaia n care avem mai multe expresii pe aceeai linie de intrare, pentru a le separa : x=sin(22), y=exp(3) x = -0.0089 y = 20.0855 Dac expresia este prea lung pentru ca declaraia s ncap pe o singur linie, se utilizeaz semnele.urmat de enter pentru a preciza c instruciunea continu i pe linia urmtoare. Exemplu S=1+2+3+. +4+5+6 ; In Matlab exist cateva variabile i constante speciale, ale cror nume e bine s nu le ntrebuinm n alte asocieri de variabile. O parte din acestea ar fi : ans- variabil creat automat, n care este returnat rezultatul unui calcul, atunci cnd expresia nu a avut asignat un nume ; eps- variabil permanent n care este memorat eroarea relativ pentru calculele efectuate n virgul mobil. Valoarea implicit este eps=2.2204e-016, dar poate fi redefinit la orice alt valoare ; pi- variabil permanent care are asignat valoarea 3.14159265358 ; 1 = i - variabil folosit pentru introducerea numerelor complexe ; 1 = j - alternativ la utilizarea nitii imaginare i; inf- variabil folosit pentru reprezentarea lui plus infinit n artitmetica IEEE (rezultat al mpririi la zero) ; NaN- variabil folosit pentru reprezentarea lui Not-a-Number, In artimetica IEEE, rezultat al mpririi nedefinite 0.0/0.0 ; VALERNIMINEGeometrie computaional14 nargin- variabil permanent pentru testarea numrului de argumente de intrare ce se introduc pentru apelarea unei funcii ; nargout- variabil permanent pentru testarea numrului de argumente de ieire ale unei funcii ; realmax- reprezint cea mai mare valoare pozitiv n virgul mobil care poate fi folosit n calcule, respectiv 1.7977e+308 ; realmin-reprezint cea mai mic valoare pozitiv n virgul mobil care poate fi folosit n calcule, respectiv 2.2251e-308 ; Numele de variabile i funcii au ca prim caracter urmate de litere, cifre sau liniu de subliniere i pot fi formate din maxim 19 caractere. Matlab face deosebirea dintre litere mari i litere mici.Matlab suport i calcule cu numere complexe. (-1)^0.25 ans = 0.7071 + 0.7071i unde i reprezint1 , partea imaginar. 2-3i ans = 2.0000 - 3.0000i Pentru a memora un ir de numere {1,2,3,4,5} ntr-un vector x vom folosi scrierea : >>x=[1 2 3 4 5] ; iar daca dorim sa afim elementele unei matrici ((

=3 01 2A vom proceda astfel : >>A=[2 -1 ;0 3] ; Identificareaunuianumitelementncazulstructurilorunisau bidimensionalesefaceprinspecificareaindicilorcecorespund poziiei elemntului respectiv n cadrul structurii : >>x(4) VALERNIMINEGeometrie computaional15 ans = 4 sau pentru matrici : A(1,2) ans = -1. Existdiferitemodalitidegenerareavectorilorimatricilorn Matlab.Astfelpentruageneraunvectorcunelementeegal spaiate, ntre capetele a si b, vom folosi comanda linspace(a, b, n) linspace(0, 1, 7) ans = 00.16670.33330.50000.66670.83331.0000 Pentru a afla lungimea unui vector Matlab ofer funcia length(x), iarpentrudeterminareadimensiuniloruneimatriciavemfuncia size(A). Dacdorimcreareaunorvectoricuvaloridistribuitelogaritmic vom folosi funcia de generarea logspace.InMatlabeposibilidentificareauneianumitecoloanesaulinii din cadrul unei matrici, astfel : A=[1 2 3 ; 3 4 -1;2 1 1;4 3 1]; A(:,2) ans = 2 4 1 3 A(3,:) ans = VALERNIMINEGeometrie computaional16 2 1 1 Un caz special este cel al comenzii A( :), care returneaz un vector n care sunt comprimate toate valorile matricei. A(:) ans = 3 -2 0 4 -1 3 5 1 4 Operaiile aritmetice se pot aplica i matricilor uni sau bidimensionale. >> A = [1 2 3;4 5 6;7 8 9];>> B = [1 1 1;2 2 2;3 3 3]; >> C = [1 2;3 4;5 6]; >> A+B ans = 2 3 4 6 7 8 101112 >> A+C ??? Error using ==> + Matrix dimensions must agree. A=[1 2 3;3 5 6; 34 5 6] A = 1 2 3 3 5 6 34 5 6 VALERNIMINEGeometrie computaional17 Observai din exemplul de mai sus diferena tipririimatricii A urmat de punct i virgula n primul caz i apoi lipsa acestui semn.Operaia de nmulire este i ea definit : >> A*C ans = 2228 4964 76 100 >> C*A ??? Error using ==> * Inner matrix dimensions must agree. Se observa c programul ne avertizeaz n cazul n care operaiile nu se pot efectua, n cazul de fa, datorit neconcordanei de dimensiuni a matricilor exemplificate. Inmulirea dintre un vector i o matrice este i ea posibil dac dimensiunile structurilor o permit. >> A = [ 1 2 3; 3 4 5; 6 7 8]; >> v = [0:2:8] v = 0 2 4 6 8 >> A*v(1:3) ??? Error using ==> * Inner matrix dimensions must agree. >> A*v(1:3)' ans = 16 28 46 Cnd dorim ca operaiile cu tablouri s se fac element cu element, Matlab introduce operatorul de vectorizare ., precizat naintea operatorilor /, *,^. VALERNIMINEGeometrie computaional18 Vom ntlni des aceti operatori la calculul valorilor de funcii pe un domeniu dat de valori.Exemplu S se calculeze evalueze urmtoarele funcii pe domeniile specificate 12) 1 (1) (+=xexx f ] 1 , 1 [ x xe x x g ) ( cos ) (2=] 2 , 0 [ xSecvenele Matlab pentru scrierea calculul corect al funciilor sunt: >> x=linspace(-1,1,20); >> f=1./(1+x.^2).*exp(x-1); respectiv >> x=linspace(0,2*pi,20); >> g=cos(x).^2.*exp(x); Dac nu vei afia semnul ; dupa expresiile funciilor vei avea tabloul valorilor funciilor pentru domeniul de valori dat n vectorul x. In cazul vectorilor, nmulirea se poate realiza innd cont de regula de la matrici.In aceast situaie este posibil de exmplu nmulirea a doi vectori linie de aceeai dimensiune, rezultatul fiind un vector avnd drept componente produsele pe componente ale vectorilor. >> u=[2 3 4 1.2 5 -1]; >> v=[-1 3 4 -3 0 1]; >> u.*v ans = -2.00009.0000 16.0000 -3.6000 0 -1.0000 Dac ncercai s facei nmulirea clasic vei obine eroare, structurile nu sunt compatibile pentru aceasta operaie >> u*v ??? Error using ==> * VALERNIMINEGeometrie computaional19 Operaia de mai sus este posibil doar daca vectorul v este vector coloan. >> u*v' ans = 18.4000 Inner matrix dimensions must agree. Ceea ce s-a obinut in linia de mai sus este produsul scalar al vectorilor u i v, egal dup cum ti cu suma produselor corespunztoare acelorai vectori Pentru calculul produsului scalar avem instruciunea C=sum(u.*v) De amintit c Matlab permite i calculul puterilor unei matrici doar n cazul cnd acestea sunt ptratice ! C=[1 3;4 67;12 45] C = 1 3 467 1245 C^2 ??? Error using ==> ^ Matrix must be square. Pentru o matrice ptratic putem calcula deasemenea i inversa matriciiA,A-1, operaia fiind o simpl ridicare la putere : A^-1 ans = 0.0000 -0.03230.0323 -2.00001.0323 -0.0323 1.6667 -0.67740.0108 VALERNIMINEGeometrie computaional20 Calculul inversei unei matrici face posibil i rezolvarea ecuaiilor matriceale de forma : B AX= , unde A este patrice ptratic inversabil iar X i B vectori coloan cu aceeasi dimensiune a matricii A. Matlab calculeaz direct X=A/B, unde / , este operatorul de mprire. Relaia anterioar este echivalenta cu o nmulire la stngalui B cu inversa matricii A, X=A-1B. Exemplu A=[1 2 3;3 5 6; 34 5 6]; B=[1 5 7]; X=A/B X = 0.4267 0.9333 1.3467 Calcularea inversei unei matrici se face i utiliznd functia inv, n condiiile n care acea matrice admite invers, adic determinantul ei s fie diferit de zero. A=[16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]; Dac ncercai calculul inversei matricei de mai sus X=inv(A) vei obine urmtorul mesaj de atenionare : Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = 1.175530e-017. Urmtoarea comand creaz de exemplu un vector incrementat cu pasul 1 ntre limitele 1 si 6 x=1:6 x = 1 2 3 4 5 6 Dac vrem s facem incrementarea cu un anumit pas, acesta trebuie specificat n cadrul comnezii astfel : VALERNIMINEGeometrie computaional21 x=1:.5:4% pasul este de 0.5 x = 1.00001.50002.00002.50003.00003.50004.0000 Semnul % folosit mai sus marcheaz nceputul unui comentariu n Matlab. Se accept deasemenea ca pas i numere negative. Pentru generarea de matrici se poate folosi comanda : B[xlog10(x)x+2]carecreazuntable/matriceavndtrei coloane cu x pe prima coloan,log10(x) n a doua coloan ix+2 pe a treia coloan. In Matlab exist comenzi care pot asocia unui set de valori dintr-o matrice anumite valori, astfel: A(i:j, l:m) = kasociazelementelormatriceisituatentre liniile i i j (i x = (-5:.1:5);>> y = x./(1+x.^2); Exemplul calculeaz valorile funciei 211) (xy x f+= = , unde x reprezint vectorul valorilor cuprinse ntre -5 si 5 cu pasul 0.1 Considernd acestea putem mpri acum un vectorla altul folosind comanda : x=1:.5:4; y=1:7; x./y ans = 1.00000.75000.66670.62500.60000.58330.5714 S precizm ca dimensiunile vectorilor trebuie sa fie egale, altfel programul va returna eroare. x=1:.5:4; y=1:6; x./y ??? Error using ==> ./ Matrix dimensions must agree. DeobservatdiferenadintreA^2iA.^2,undeAreprezinto matrice. In primul caz matricea trebuie sa fie ptratic, pe cnd n cazul al doilea ea poate avea orice dimensiune. A=[1 2 3; 45 6 7; 12 3 4;1 1 1]; A.^2 ans = 1 4 9 20253649 144 916 1 1 1 A^2 ??? Error using ==> ^ Matrix must be square. VALERNIMINEGeometrie computaional23 Dac dorim s memorm rezultatele noastre le putem asocia variabile care s poarte un nume dat de utilizator, nlocuind astfel numele implicit ans cu cel dat de noi : A=[1 2 3; 45 6 7; 12 3 4]; B=A/4 B = 0.25000.50000.7500 11.25001.50001.7500 3.00000.75001.0000 Pentru a calcula transpusa unei matrici folosim simbolul apostroful A=[1 2 3; 45 6 7; 12 3 4]; A' ans = 14512 2 6 3 3 7 4 Operatorul transpus , poate fi folosit la generarea de tabele de valori din vectori, astfel x=0:4; y=5:5:25; A=[x' y'] A = 0 5 110 215 320 425 Pentrucalculul rangului unei matrice se va apela funcia rank rank(X) Reamintim c o matrice X nenul cu m linii i n coloane are rangul k, dac X are un minor nenul de ordin k, iar toi minorii de ordin VALERNIMINEGeometrie computaional24 mai mare dect k (dac exist) sunt nuli. Rangul unei matrice est un scalar) , min( 1 n m k .Urmtoarelecomenzisuntdestuldedesntlnitenlucrulcu matriciiinformaiisuplimentaredespreeleputeigsinmeniul de help al mediului Matlab : -B=zeros(m,n)creazomatriceBdezerouricumliniiin coloane; - B=ones(m,n)creaz omatrice B de 1 cu m linii i n coloane; - B=eye(n) creaz matricea B unitate de dimensiune n; -B=diag(v)(undevesteunvectordedimensiunen)creazomatrice diagonal cu v pe diagonal ; -x=max(A)returneazvectorulxcearecaicomponentepe n j n i a xij j,..., 1 }, ,..., 1 , max{ = = =- x=min(A) returneaz vectorul x ce are ca i componente pe n j n i a xij j,..., 1 }, ,..., 1 , min{ = = =-B=abs(A) creaz o matrice B cu elementele ij ija b =Analogncazulvectorilorseutilizeazfunciilezerossiones pentru generarea unui vector de zeoruri sau de valori 1 zeros(m,1)-returneaz un vector de zerouri avand m coloane ; zeros (1,n)- returneaz un vector de zerouri avnd n linii ; ones (m,1)-returneaz un vector de valori 1 avand m coloane ; ones (1,n)- returneaz un vector de valori 1 avand n linii ; Putem reprezenta o matrice bidimensioanala ca o vector linie cu elemente vectori coloana. >> B = [ [1 2 3]' [2 4 7]' [3 5 8]'] B = 1 2 3 2 4 5 3 7 8 VALERNIMINEGeometrie computaional25 Alte functii legate de lucrul cu matrici le puteti vizualiza tastnd n dreptul promter-ului.Alte cateva operatii cu matrici frecvent ntalnite : -C=A.*B, comanda returneaza matricea produs ij ij ij n j i ijb a c c C * , ) (,..., 1 ,= == -C=A./B, returneaza matricea ij ij ij n j i ijb a c c C / , ) (,..., 1 ,= == Matlab comenzile precedate de comanda help >>matlab\elmat -Elementary matrices and matrix manipulation. >>matlab\matfun-Matrix functions - numerical linear algebra. Multe comenzi din Matlab care acioneaz asupra scalarilor, acioneaz i asupra vectorilor sau matricilor, element cu element. >> sqrt([1 2 4 6])ans =1.00001.41422.00002.4495 >> sin([pi/4 pi/2 pi])ans =0.70711.00000.0000 S mai amintim alte cteva comenzi des folosite n calculele cu vectori 1.min(x), max(x) returneaz valorea minima respectiv maxima dintr-un vector 2.sort(x)returneaz un vector ordonat crescator ce contine valorile lui x 3.sum(x) returneaz suma elemntelor unui vector x=linspace(0, 1, 7) x = 00.16670.33330.50000.66670.83331.0000 VALERNIMINEGeometrie computaional26 [min(x) max(x)] ans = 0 1 sort(x) ans = 00.16670.33330.50000.66670.83331.0000 sum(x) ans = 3.5000Pentrugenerareaaleatoareaelementeloruneimatriciavemdou funcii importante. Prima, rand, care genereaz o matrice aleatoare denumere,corespunztoaredistribuieiuniformepeintervalul [0,1],adouarandnvaproduceomatricedenumerealeatoare corespunztoaredistribuieinormale.Ambelefunciiapelatefr argument generez un singur numr. rand ans = 0.9501 rand(3) ans = 0.23110.89130.0185 0.60680.76210.8214 0.48600.45650.4447 PentruomatriceptraticA,putemextrageparteatriunghiular superioaraacesteia,matriceacutoateelementelededeasupra diagonaleiprincipalenenuleirestulzero,folosindcomanda triu(A).MatriceainferiortriunghiularcorespunztoareluiAse obine folosind comanda tril(A). triu(A) ans = 3 4 5 VALERNIMINEGeometrie computaional27 0-1 1 0 0 4 tril(A) ans = 3 0 0 -2-1 0 0 3 4 Comenzileminsimaxutilizatepentrumatrici,returneazdoi vectoriceconinelementeleminimerespectivmaximepefiecare coloan a matricei. min(A) ans = -2-1 1 max(A) ans = 3 4 5 Comanda sum(A), returneaz un vector ale crui elemente reprezint sumele pe coloane a elementelor matricei. OcaracteristicaMatlab-luiestecmemoreazcomenzile anterioare, aa nct comenzi sau funcii anterioare pot fi reapelate cu ajutorul sgeilor up i down de pe tastaur. Pentru curarea ferestrei de comand a Matlab-lui tastai comanda clc. In cazul n care o linie din dreptul promter-lui se termin cu trei puncte, linia urmtoare va fi o continuare a primei linii. x=sin(1)+sin(2)+... sin(3)+sin(4) x = 1.1351 VALERNIMINEGeometrie computaional28 Operatoriirelaionalipermitcomparareacantitativadou mrimi i sunt reprezentai n tabelul de mai jos operatorsemnificatia >mai mare =mai mare sau egal 0 & y>0 ans = 1 0 0 VALERNIMINEGeometrie computaional29 x=[1 2 3]; y=[1 0 0]; x>0 |y>0 ans = 1 1 1 Sdmncontinuaretabelulcuvalorileacestoroperatorilacare am adugat i operatorul sau exclusiv (xor) InputsandorxornotABA&BA|Bxor(A,B)~A 000001 010111 100110 111100 DenotatcnversiuneaMatlab6,operatoriiandiorauaceei preceden,spredeosebiredealtelimbajedeprogramare.O expresie de forma x | y & z este evaluat n Matlab 5.3 ca (x | y) & ziarnMatlab6x|(y&z).Serecomandastfeladugarea parantezelornexpresiideaceastformpentruaseobine aceleai rezultate n toate variantele de Matlab. VALERNIMINEGeometrie computaional30 1.3 Reprezentarea grafic a curbelor i suprafeelor 1.3.1 Reprezentarea 2D Oproblemaimportantalucrriidefaoreprezint vizualizareatipurilordecurbesausuprafeetratatentr-omanier cat mai simpl de realizat dar i cat mai performant.UnuldinavantajelelucruluicuMatlabestecacestmediu oferposibilitidiversedereprezentaregraficadatelorntr-un modsimpluieficientbidimesionalsautridmensional.Demulte orioreprezenatregraficcorectpoateducelasoluionarea parial a problemei. Matlaboferurmtoarelefunciipentruafiareavectorilor de date sub form grafic : plot- reprezint garfice n coordonate liniare ; loglog- reprezint grafice n coordonate logaritmice ; semilogx- reprezint grafice ntr-un sistem n care axa x este scalat logaritmic, iar axa y liniar ; semilogy- reprezint grafice ntr-un sistem n care axa y este scalat logaritmic, iar axa x liniar ; fill- reprezint grafic poligoane ; Atunci cnd domeniile datelor ce se doresc a fi reprezentate pe axa ysuntmultdiferitesaucndsedoretereprezentareagraficn acelaisistemdeaxeaunorfunciicuaxeleyscalatediferit,ste util funcia plotyy. Se poate folosi una din sintaxele : plotyy (x1,y1,x2,y2)- traseaz grafic funcia y1=f(x1) cu axa yplasatlamargineastngazoneidelimitatedesistemul de axe i funcia y2=f(x2) cu axay plasat n dreapta ; plotyy (x1,y1,x2,y2, fun) permite specificarea modului de scalare a axelor, deci a funciei folosite la reprezentri, prin argumentul fun.Acestatrebuiesfieunirdecaracterececoninenumele unei funcii care accept sintaxa fun(x,y).Exemplu plot , loglog , semilogx , semilogy . VALERNIMINEGeometrie computaional31 Graficul unui set arbitrar de date asociate unei variabile y poate fi generatutilizandcomandaplot(y).Saconsideramexemplulunor datecarereprezintacubulnumerelorcuprinseinintervalul[-5,4] cu pasul0.1. Aceste date pot fi generate direct folosind comanda la prometer: >>y = (-5:0.1:4).^3; >>plot(y); O alta variant a codului de mai sus o reprezint i comenzile: >>x = -5:0.1:4; >>y = (x).^3; >>plot(x,y); >> title('graficul functiei x^3') Figura rezultat: -5 -4 -3 -2 -1 0 1 2 3 4-150-100-50050100graficul functiei x3 Fig. 3.4. VALERNIMINEGeometrie computaional32 Se pot adauga etichete axelor x si y, deasemenea un titlu pentru un grafic ct mai informativ, astfel >>xlabel('x'); >>ylabel('y'); >>title('Graficul functiei y = x^3'); Dacasedoreteopersonalizareagraficului :culoare,stil,etc.,comanda plot se poate completa cu cteva argumente ce reprezint defapt simboluri pentru culoarea sau stilul graficului. S prezentm mai nti lista acestor simboluri : culoaremarcatorstil linie w -alb y galben rrosu gverde balbastru knegru . punct cerculet * asterix x+cruce -linie continu : linie punctat -.linie, punct --linie ntrerupt Este posibil i setarea limitelor valorilor pe axe, de ctre utilizator cu ajutorul comenzii axis[xmin xmax ymin ymax], care definete defaptintervalele[xmin,xmax],[ymin,ymax],ntrecarevariaz cele doua variabile, x respectiv y. Matlab localizeaz marcajele de gradare pe axe i valoarea gradaiilor n funcie de valorile extreme ale datelor de reprezentat. Acest mod de gradare al axelor poate fi schimbatmodificndvalorilepropriettilextick,respectiv ytickaleobiectuluigraficaxe(axes).Setareaacestor proprieti se face cu comanda set. set(gca, xtick,2:10) set (gca,ytick,[2 2.1 2.2 2.4 2.5 ]), VALERNIMINEGeometrie computaional33 undegca-reprezintidentificatorulpentrusistemuldeaxecurent (GetCurrentAxes).Inmodimplicit,Matlabafieazgraficele ntr-unsistemrectangulardeaxepoziionatenfereastrafigur astfel nct spaiul s fie utilizat n mod optim. a)axis(square)sauaxissquarefacecaaxelexiysaib aceeai lungime (chenarul care e ncadreaz este un ptrat) b)axis(equal) sau axis equal- determin aceeai factori de scal pentru ambele axe (o unitate de pe axa x va fi egal cu o unitate de pe axa y). c)axis off- sterge sistemul de axe i etichetele acestora; d)axis on reface sistemul de axe i etichetele acestora; Gridulesteoreeadeliniiverticaleiorizontaletrasatepegrafic prin fiecare punct de gradare a axelor care uureaz citirea datelor. Afiarea sau ascunderea acestuia se fac cu comanda grid, astfel: grid on- pentru afiare; grid off- pentru tergere. InMatlabputemrealizavizualizareapeporiunialereprezentrii graficecurentefolosindcomandazoom.Folosindsintaxazoom on, se pot realiza efectele: -sepermitespecificareazoneigraficecevafidetaliat folosind butonul stng al mouse-lui; -lafiecareapsareabutonuluistnglimiteleaxelorvorfi modificatecuunfactorde2,permindvizualizarea detaliilor; -se revine la forma iniial printr-un dublu click al butonului stng al mouse-lui. Putemmbunttireprezentareagrafic,adugndnoiparametri funcieiplotidoidintreacetiaarficeireferitorilagrosimea liniei de reprezentare , LineWidth (implicit este 0.5 puncte), iar cel dealdoilealamarimeamarcatorilor,MarkerSize(implicit6 puncte). Un punct reprezinta 1/72 inch. Sa i utilizam n exemplul urmator plot(x, y, -r, x, z,g, x, 0, *b ) ; Dacvremsvizualizmgraficediferitensistemeseparatede coordonate, dar n aceeai fereastr afigurii vom utiliza comanda subplot,caredividedefaptsuprafaaferestreisubformaunei matrici,ncarefiecareelementalmatriceireprezintdefaptun grafic separat. VALERNIMINEGeometrie computaional35 Argumenteleacesteicomenzisuntdimensiunilematricii,i numrul subferestrei n care este vizualizat graficul curent. Deexempluocomanddeformasubplot(2,2,3),mparte suprafaaferestreintr-omatricedesubferestre,dedimensiune 2x2, i graficul curent este poziionat n subfereastra 3. x=[-2:.2:2]; y=exp(-x.^2); subplot (2,2,1); plot (x,y); title ('exp(-x^2)'); z=exp(-x.^2).*cos(2*pi*x); subplot (2,2,2); plot (x,z); title ('exp(-x^2)*cos(2*pi*x)'); t=exp(-x.^2).*cos(4*pi*x); subplot (2,2,3); plot (x,t); title ('exp(-x^2)*cos(4*pi*x)'); VALERNIMINEGeometrie computaional36 -2 -1 0 1 200.20.40.60.81exp(-x2)-2 -1 0 1 2-1-0.500.51exp(-x2)*cos(2*pi*x)-2 -1 0 1 2-1-0.500.51exp(-x2)*cos(4*pi*x) O alt funcie de desenare este fplot ce poate fi aplicat funciilor elementare cum ar fi, sin(x), cos(x), exp(x), log(x), etc. >>fplot ('exp(-t^2)',[-2 2]) >>hold on >>fplot('2*exp(-t^2)',[-2 2]) >>fplot('3*exp(-t^2)',[-2 2]) >>hold off VALERNIMINEGeometrie computaional37 -2 -1.5 -1 -0.5 0 0.5 1 1.5 200.511.522.53

1.3.2 Reprezentarea 3D. Suprafee InMatlabsepotrealizaigraficetridimensionale,care presupunluareancalculauneiatreiaaxe.Dacseiaun considerarematrici dedate vomfolosicomandameshsau surfi alte funcii derivate din acestea. Cuajutorulfunctieimeshsuprafeelesuntreprezentatecanite pnze n care sunt puse n evidena prin diferite culori, doar liniile care unesc punctele din matricea ce definete suprafaa. In cazul lui surfsuntcolorateatatliniiledeconexiunedintrepunctectsi patch-urile. Una din variantele pentru sintaxa comenzii mesh este urmtoarea : mesh(X,Y,Z),comandce genereazo suprafacolorat, ncare culoareaesteinfluenatdecoordonataZ( nalimea suprafeei). DacXsiYsuntvectorisilenght(X)=nsilenght(Y)=m,atunci [m,n]=size(Z),undeceidoivectorivorcorespundecoloanelor, respectiv liniilor matricii Z. VALERNIMINEGeometrie computaional38 Primulpasnrealizareaunuigraficpentruofuncie bidimensional) , ( y x f z = ,estedeatransformadomeniulfunciei specificatdeceidoivectorix,y,ndoumatricidevalori corespunzatoareX,Y.Acestematricivorconinedefaptcopiiale vectorilorxrespectivypestedomeniulspecificat.Comandacare realizeaz acest lucru este meshgrid(x,y). Astfel liniile matricii X vor fi repetri ale vectorului x, iar coloanele lui Y vor fi repetari ale vectorului y. Dac cei doi vectori, x respectiv y se dau identici nu e nevoie s-l specificm dect pe unul dintre ei. x=[-6:.5:6]; y=x; [X,Y]=meshgrid(x); Z=sqrt(X.^2+Y.^2); mesh(X,Y,Z) Inideeauneireprezentarictmaisugestive,Matlabpunela dispoziia utilizatorului cteva comenzi legate de aspectul imaginii, de poziia lui n spatiul 3D, etc. Fiecareimaginecreat3D,areasociatohartadeculori,care reprezintdefaptomatricecutreicoloane,acrorlungimeeste egalcunumaruldeculoripecarelefolosii.Fiecareliniea VALERNIMINEGeometrie computaional39 matriciidefineteoanumitculoareprinspecificareaunorvalori intre0si1.Acesteareprezintcomponentealesistemuluide culoriRGB,adicaintensitiderou,verdeialbastru.Sdm tabelul ctorva culori reprezentive din acest sistem : RedGreenBlueCuloare 000Negru 111Ab 100Rosu 010Verde 001Albastru 110Galben 101Magenta 011Cyan 0.50.50.5Gri 0.500Rosu inchis 10.620.40Copper 0.4910.83aquamarin Astfelavndacestevalori,vputeticreasingurihartavoastrade culori,sauputetifolosifunciiledejaexistentecarecreaz anumitemapedeculori.Referitorlaculori,lacreareaunei suprafee 3D exist trei posibiliti: NusuntspecificateexplicitculorileiatunciMatlab genereazmatriceadculoriasociatedatelorfolosind datele din matricea Z; Se specific o matrice de culori, egal cu dimensiunea; SespecificuntripletRGBpentrufiecareelementdin matricea de date Z; Paleta de culori (colormap) este o matrice cu trei coloane, fiecare linie definindoculoareprintr-un vector RGB.Coninutul acesteia VALERNIMINEGeometrie computaional40 estecontrolatprinfunciacolormap.InsistemulgraficMatlab exist ma multe modele predefinite de culori: -autumn,carefolosetenunaebazateperou,portocaliui galben; -bone, folosete nuane de albastru i gri; -cool,constnnunaecevarizdelaalbastrudeschisspre mov; -copper, afieaz nuane de la negru spre armiu; -gray, folosete nuane de gri; -hot,variazlentdelanegrulaalbprinnuanederou, potocaliu i galben; -hsv,ncepecurou,trecepringalben,verde,albastru,i mov, revenind la rou; -jet,trece de laalbastru larou prin albastru deschis,galben i portocaliu; -pink, conine nuane derivate din culoarea roz; -prism,repetaseculori:rou,portocaliu,galben,galben, verde, albastru i violet; -spring, const n culori derivate din mov i galben; -summer, const n culori derivate din verde i galben; -winter, const n culori derivate din albastru i verde;Deexemplufunciahot(m)vageneraomatricedeculoride dimensiuni m x 3, in care liniile specific intensitile de culori ale sistemului RGB ce variaz de la negru la alb trecnd prin nuane de rou, portocaliu i galben. [x,y] = meshgrid([-2:.2:2]); Z=x.^2*exp(-x.^2-y.^2); mesh(x,y,Z); colormap cool; VALERNIMINEGeometrie computaional41 Fig. 3.11 Amfolositmaisusfunciacooldegenerareamapeideculori. Incercai pe rnd i voi celelalte funcii ! Stabilirea modului de colorare a obiectelor grafice de tip surface i pathserealizeazshadingcuctevaopiuni :shadingflatsau shading interp ori shading faceted. Z=peaks(30); subplot(2,2,1); surf(Z); shading flat; title (' Flat shading!') Z=peaks(30); subplot(2,2,2); surf(Z); shading interp; title (' Interpolated shading!') colormap summer; Analogpentruultimaopiuneiobinemimaginiledemaijos,n care putei vedea diferenele ntre cele trei stiluri. VALERNIMINEGeometrie computaional42 Fig 3.12 Maisusestegeneratosuprafabinecunoscutpeaks,folosind comanda surf. Sconsidermcazulreprezentriiuneifunciidedouvariabile func(x,y), funcie creat ntr-un fiier Matlab. function z=func(x,y) z=sin(x).*cos(y)+1; Utiliznd urmtoarele comenzi n fereastra de comand a Matlab-ului obinem reprezentarea grafic a funciei func(x,y) VALERNIMINEGeometrie computaional43 x=linspace(0,pi,20); y=linspace(-pi,pi,20); [xx,yy]=meshgrid(x,y); zz=func(xx,yy); mesh(xx,yy,zz) Fig. 3.13 Laapelareafuncieifunc(x,y),nfereastradecomands avemgrijsnegsimndirectoruldelucruncareamsalvat functia, operaie executat cu funcia Set Path... din meniul File al mediuluiMatlab.IncazcontraraplicaiaMatlabvareturna urmatorulmesaj:???Undefinedfunctionorvariable 'func'.!!!! Dupcums-aobservatdinimaginileexemplificate,comadasurf spredeosebiredemesh,creazoumpleresolidasuprafeei,iar comanda surfc creaz i un contur n planul de jos al figurii. VALERNIMINEGeometrie computaional44 x=0:.1:pi; y=0:.1:pi; [X,Y]=meshgrid(x,y); Z=sin(Y.^2+X)-cos(Y-X.^2); subplot(2,2,1); surf(Z); title('surf'); subplot(2,2,2); surfc(Z); title('surfc'); subplot(2,2,3); mesh(Z); title('mesh'); Fig. 3.14 VALERNIMINEGeometrie computaional45 Dacasedorestereprezentareauneifunctiiimpreunacu soclul pecareesteasezatareprezentareasefolosestefunctia meshz >> [X,Y] = meshgrid(0:.1:2*pi,-pi:.1:0); >> Z = sin(X).*cos(Y); >> meshz(X,Y,Z); >> axis('equal'); 0123456-3-2-1-0.500.5 Sconsidermunexempludefunciendouvariabile,datn coordonate cilindrice z=f(r,theta).Vomcombinacomanda3D,meshgrid,cuo comanddetreceredelacoordinatepolarelaundomeniu rectangular, vom obine graficul de mai jos [th,r]=meshgrid(0:pi/40:2*pi,0:0.05:1); [X,Y]=pol2cart(th,r); g=inline('r.^n.*sin(n*th)','r','th','n') g =Inline function: g(r,th,n) = r.^n.*sin(n*th) surf(X,Y,g(r,th,5)) VALERNIMINEGeometrie computaional46 hold on mesh(X,Y,-ones(size(X)))

Fig. 3.15 Similar n aparenfunciei meshz este funcia waterfall. Pentru exemplificaresconsidermunsemnalcareesteprimitdeun senzortimpde100secundedarpentrucarentrzierilecresc exponenial pe secund. Urmtorul cod Matlab red comportarea: >> x=-3*pi:.25:3*pi; >> A=linspace(3,0); >> A=exp(-A); >> X=sin(x).^2./(x+eps).^2; >> Y=A'*X; >> waterfall(Y) VALERNIMINEGeometrie computaional47 >> x=-3*pi:.25:3*pi; >> A=linspace(3,0); >> A=exp(-A); >> X=sin(x).^2./(x+eps).^2; >> Y=A'*X; >> waterfall(Y) 02040608005010000.20.40.60.81 Dndu-sesuprafaa,conturuleipoatefirealizatcucomanda contour, ca n exemplul de mai jos: x=0:0.5:6; t=0:0.5:20; [X,T]=meshgrid(x,t); g=inline('cos(x-0.4*y).*exp(-0.4*x)','x','y') g = Inline function: g(x,y) = cos(x-0.4*y).*exp(-0.4*x) contour(X,T,g(X,T)) pcolor(X,T,g(X,T)) VALERNIMINEGeometrie computaional48 hold on contour(X,T,g(X,T),'k') shading interp colorbar Fig. 3.16 Conturul poate fi combinat cu graficul 3D al funciei g, astfel x=0:0.5:6; t=0:0.5:20; [X,T]=meshgrid(x,t); g=inline('cos(x-0.4*y).*exp(-0.4*x)','x','y') g = Inline function: g(x,y) = cos(x-0.4*y).*exp(-0.4*x) surfc(X,T,g(X,T)) colormap(bone) VALERNIMINEGeometrie computaional49 Fig. 3.17 Sreprezentmosuprafatdatexponenialpentrucarevrems calculmun maxim , respectiv un minim, stabilind i locaiile lor pe grafic. Funcia este dat astfel : 2 2 , 2 2,)2 2( 2 + = y xy xxye f . [X,Y]=meshgrid(-2:.1:2,-2:.2:2); f=-X.*Y.*exp(-2*(X.^2+Y.^2)); mesh(X,Y,f); xlabel('x'); ylabel('y'); grid on; contour(X,Y,f) xlabel('x'); ylabel('y'); grid on; hold on fmax=max(max(f)) fmax = 0.0886 kmax=find(f==fmax) kmax = VALERNIMINEGeometrie computaional50 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2-1.5-1-0.500.511.52-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-2-1.5-1-0.500.511.52xy maximul maximul 329 533 pos=[X(kmax),Y(kmax)] pos = -0.50000.6000 0.5000 -0.6000 plot(X(kmax),Y(kmax),'*') text(X(kmax),Y(kmax),' maximul') Fig. 3.18 VALERNIMINEGeometrie computaional51 S mai consideram o aplicaie, cazul reprezentrii funciei Rosenbrock22) 1 (2)2( 100 ) , ( + + = x x y y x fpe intervalul] 10 , 5 [ ] 3 , 3 [ . [x,y]=meshgrid(-3:0.1:3,-5:0.1:10); f=100*(y-x.^2).^2+(1-x).^2+2; mesh(x,y,f); xlabel('x') ylabel('y') zlabel('z') Fig. 3.19 In Matlab exist funcii predefinite pentru reprezentarea unei sfere i a unui cilindru. Generarea unei sfere cu raza egal cu unitatea se realizeaz cu funcia sphere, care poate fi utilizat cu una din sintaxele de mai jos. sphere (n) VALERNIMINEGeometrie computaional52 sphere [X,Y,Z]=sphere() Apelat cu prima sintax, funcia reprezint grafic suprafaa unei sfere format dinn nsuprafee elementare. Nespecificarea argumentului n presupune utilizarea valorii implicite a acestuia, n=20. Functia elipsoidului se bazeaza pe cea a sferei si este descris de urmatoarea ecuatie: 1222=++|||

\||||

\||||

\|zrcz zyrcy yxrcx x unde c c cz y x , ,reprezinta coordonatele centrului elipsoidului si z y xr r r , ,reprezinta razele pe cele trei coordonate. Comanda in Matlab pentru generarea unui elipsoid este data de[x,y,z]=ellipsoid(xc,yc,zc,rx,ry,rz,n), unde n, ca si in cazul sferei, reprezinta numarulpunctelor din reprezentare si daca nu este specificat este considerat 20. Codul urmtor genereaz un elipsoid avnd coordonatele: xc=0,yc=0,zc=0,rx=2,ry=1,rz=1. >> [x,y,z]=ellipsoid(2,0,2,2,1,1); >> surf(x,y,z); >> axis([0 4 -2 2 0 4]); >> hold on >> contour(x,y,z) VALERNIMINEGeometrie computaional53 01234-2-101201234 Generarea unui cilindru (sau form generat din acesta) cu nlimea egal cu unitatea se realizeaz cu una din sintaxele: [X,Y,Z]=cylinder [X,Y,X]=cylinder (r) [X,Y,Z]= cylinder(r,n). Argumentul r specific raza cercului circumscris poligonului regulat de la baz. Valoarea implicit a lui r este 1. Argumentul n, ntotdeauna un scalar, specific numrul de laturi ale poligoanelor regulate care formeaz bazele formelor geometrice 3D. Valoarea implicit a acestuia este 20. Interesant este sa se porneasca si de la forma profilului radial a unui cilindru si apoi sa se creeze acesta. Pornind de la urmatoarea ecuatie ce descrie profilul radial al unui cilindru( )20022 / sin ) cos(xe x x r =Vom scrie in matlab codul de program ce va genera un cilindru pornind de la acest profil. >> x = linspace(-3*pi,3*pi,50); >> r = cos(x).* sin(0.5*x).*exp((x.^2)/200); >> r = r - min(r); VALERNIMINEGeometrie computaional54 -4-2024-4-202400.20.40.60.81>> plot(r,linspace(0,1,length(r))); >> ylabel('z') >> cylinder(r)

0 0.5 1 1.5 2 2.5 3 3.500.10.20.30.40.50.60.70.80.91 Un alt exemplu de reprezentare a cilindrului este dat de urmtorul cod >> t=[-1:.01:1]; >> [x,y,z]=cylinder(2+cos(t)); >> mesh(x,y,z) >> axis square VALERNIMINEGeometrie computaional55 -4-2024-4-202400.20.40.60.81 Funciaplot3seutilizeazntr-unmodsimilarfuncieiplotcu excepiauneicoordonatesuplimentarez,careasigur reprezentarea ntr-un spaiu tridimensional. Codul urmator >> t = 0:0.1:10*pi; >> x = exp(-t/20).*cos(t); >> y = exp(-t/20).*sin(t); >> z = t; >> plot3(x,y,z); >> xlabel('x'); >> ylabel('y'); >> zlabel('z'); produce urmatoarea figura VALERNIMINEGeometrie computaional56 -1-0.500.51-1-0.500.51010203040xyz Pentru vizualizareadatelor discrete in planul 2D aveam funcia stem. Similar acestei funcii, funcia stem3 creeaz linii verticale terminate cu un simbol, n planul 3D.Vizualizm n continuare funcia sin n jurul cercului unitate. >> theta = 0:.2:2*pi; >> x=sin(theta); >> y=cos(theta); >> z=sin(theta); >> stem3(x,y,z); >> hold on >> plot3(x,y,z,'r') >> plot(x,y) VALERNIMINEGeometrie computaional57 -1-0.500.51-1-0.500.51-1-0.500.51 Matlabneoferiposibilitateavizualizriiimaginiisau obiectuluirespectiv,dintr-unanumitunghi,doritdeutilizator,ct i posibilitatea de acrea animaie cu un obiect grafic. Noiunea de view,serefertocmailaacestiparamterilegatideorientarea obiectuluiinspatiul3D.Astfelcomandaview,seteazparametrii punctului din care se face vizualizarea prin specificarea azimutului i a elevaiei, n raport cu originea sistemului decoordonate . VALERNIMINEGeometrie computaional58 Pentrugrafice2-D,valoareaimplicitaazimutului=0iaelevaiei = 90. Pentrugrafice3-D,valoareaimplicitaazimutului=-37.5ia elevaiei = 30. S urmrim aceast comand pentru exemplu din figura de mai sus >> subplot(2,2,1);plot3(x,y,z); >> view(-10,10); >> title('Default plot3'); >> subplot(2,2,2);plot3(x,y,z,'og'); >> view(-9,56); >> title('Az=-10, El=10'); >> subplot(2,2,3);plot3(x,y,z,'xb'); >> view(0,90); >> title('Az=0, El=90'); >> subplot(2,2,4);plot3(x,y,z,'dr'); >> view(90,0); >> title('Az=90, El=0'); VALERNIMINEGeometrie computaional59 -10 1 -101010203040Default plot3-101-10102040Az=-10, El=10-1 -0.5 0 0.5 1-1-0.500.51Az=0, El=90-1 -0.5 0 0.5 1010203040Az=90, El=0 VALERNIMINEGeometrie computaional60 Grafice de suprafee cu iluminri Iluminareaestetehnicadeaproiectaoluminaasupraunui obiect cu o sursadirectionaladelumina.nanumitecazuriaceastatehnica poate sa faca diferentesubtilepeformasuprafeteisiofacemaiusorde vizualizat. Iluminarea poate fi de asemenea folosita pentru a adauga o nota de realism graficelorntreidimensiuni.Exemplulcareurmeazafoloseste aceeasisuprafatacasinexemplulanteriordarnschimbacesta coloreazaimagineanrosusindeparteazadindesenliniilede plasa.Seadaugadupaaceeaunobiectdetipluminanstnga camerei(caresemnificalocatianspatiuundeesteplasat observatorul, adica de unde se vizualizeaza suprafata). Dupa ce se adaugaluminasiseseteazametodadeiluminarelaoptiunea phong,sefolosestecomandaviewpentruaschimbapunctulde vizualizare catre suprafata la un alt punct n spatiu (un azimut de 15sioelevatiede65grade).nfinal,dinbaradeinstrumentese poateapropiacameradesuprafataastfelnctsuprafatasafie vazuta mai aproape de observator (cu optiunea zoom in). >> [X,Y] = meshgrid(-8:.5:8); >> R = sqrt(X.^2 + Y.^2) + eps; >> Z = sin(R)./R; >> surf(X,Y,Z) >> surf(X,Y,Z,'FaceColor','red','EdgeColor','none'); >> camlight left; lighting phong; VALERNIMINEGeometrie computaional61 1.4 Calcul Simbolic n Matlab Pentrucalculesimbolice,Matlabpuneladispozitia utilizatoruluitoolbox-ulSymbolicMath.Listacompleta funciiloricomenzilorMatlabpentrucalculsimbolicsepoate afia prin apelul help-lui asociat directorului Matlab symbolic.Rezolvareauneiproblemepecalesimbolictrebuies nceapcudefinireaobiectelorsimbolice(simbolurilor),Apoise trece la implementarea propriu-zis a soluionrii problemei.Cu ajutorul calcului simbolic se pot rezolva o categorie larga deproblemedenaturamatematicaceuneoripotcreeaprobleme dinpunctdevederealvolumuluidecalcul.Astfelcalculul limitelor,integralelorsaucalcululderivatelordefunctiicomplexe poatedeveniosarcinafoarteusoaraprinutilizareafunctiilor specifice Matlab. PentrucreareavariabilelorsimboliceinMatlabseutilizeaza comanda SYMS. >>syms x y real De specificat ca variabile nu sunt separate prin virgula! Putemdefinioexpresiesimbolocautilizandoperatoriiuzuali. Vectorizarea nu se aplica in cazul expresiilor simbolice si nu va fi utilizata in definitia ei. De exemplu: >> t=x^2-3*x t = x^2-3*x defineste o expresie simbolica. InMatlabdiferentafundamentalaintrenotiuneadefunctie definita in paragrafele de mai sus si o expresie simbolica este ca o functiepoatefiapelatacuunargumentpecandoexpresie simbolicanu !Pedealtaparteoexpresiesimbolicapoatefi diferentiata sau integrata simbolic spre deosebire de o functie. Pentruevaluareauneiexpresiisimbolicevomutilizacomanda subs. VALERNIMINEGeometrie computaional62 >> subs(t,2) ans = -2 Comanda subs poate fi apelata deasemenea si pentru un vector de intrari. >> subs(t,[1 -1.5 2]) ans = -2.00006.7500 -2.0000 Derivareaexpresiilorsimbolicesefacesimpluutilizandcomanda diff. >> syms x >> f=x^2*sin(x)-exp(x) f = x^2*sin(x)-exp(x) >> diff(f) ans = 2*x*sin(x)+x^2*cos(x)-exp(x). Pentruderivatedeordinsuperior,ordinuldoritseincludeca parametru in comanda. >> diff(f,3) ans = 6*cos(x)-6*x*sin(x)-x^2*cos(x)-exp(x). Pentru expresiile de mai multe variabile putem deasemenea utiliza comanda diff pentru calculul derivatelor partiale. >> syms x y >> z=x^2+x*y z = x^2+x*y >> diff(z,x) ans = 2*x+y. >> diff(z,y) ans = VALERNIMINEGeometrie computaional63 x. Integrarea expresiilor simbolice se face in Matlab cu comanda int. >> int(f) ans = -x^2*cos(x)+2*cos(x)+2*x*sin(x)-exp(x). Pentru calculul integralelor definite se includ in comanda capetele de integrare >> int(f,0,2) ans = -1-2*cos(2)+4*sin(2)-exp(2). Reprezentarea grafica a functiilor simbolice de o variabila se poate realizainMatlabcuajutorulfunctieiezplot,carepoateaveaca parametri functia si intervalul pe care se face reprezentarea. >> syms x; >> f=x^3-3*x+1; >> ezplot(f,[-1 1]); Daca nu se specifica domeniul, domeniul implicit este -2*pi < x < 2*pi. Cel mai simplu mod de utilizare a functiei este sa specificam direct functia, ca un string. >> ezplot('x^2 - 2*x + 1'); Pentru reprezentarea functiilor de 2 variabile putem utilize functia ezsurf, ca in exemplul de mai jos: >> syms x y; >> ex1='sqrt(4-x^2-y^2)'; >> figure(1); ezsurf(ex1,[-2,2,-2,2]); >> syms x y; >> ex1='sqrt(4-x^2-y^2)'; >> figure(1); ezsurf(ex1,[-2,2,-2,2]); VALERNIMINEGeometrie computaional64 -101-10100.511.52xsqrt(4-x2-y2)y Pentrurezolvareaecuaiilordatedefunciispecificatesimbolic avem la dispoziie funcia solve. >> syms x ; >> f=x^2-7*x+2; >> solve(f) ans = 7/2+1/2*41^(1/2) 7/2-1/2*41^(1/2) Dacecuaiaestenmaimultevariabilesepoatespecificaca parametru variabila n care se rezolv ecuaia. >> clear,syms x y; >>eq = 'exp(2*x) = 3*y'; VALERNIMINEGeometrie computaional65 >>[x] = solve(eq,x) Pentru rezolvarea sistemelor de ecuatii putem folosi aceeasi funcie solve. S presupunem c avem de rezolvat sistemul de 3 ecuaii cu 3 necunoscute: 2x+3y-4z=5 ;y+4z+x=10 ;-2z+3x+4y=0Vom scrie urmatoarele comenzi Matlab : >> clear,syms x y z;>> eq1 = '2*x-3*y+4*z = 5' >> eq2 = 'y+4*z+x = 10', >> eq3 = '-2*z+3*x+4*y = 0' >> [x,y,z] = solve(eq1,eq2,eq3,x,y,z) Problemacalcululuidelimitepoatefirezolvatadeasemenan cazul variabilelor simbolice utiliznd comanda limit. S presupunem c avem de calculat limita : >>syms x a; >>value = limit(sin(a*x)/x,x,0) Alte cateva exemple de limite >> syms x; >> f=x^2; >> limit(f,2)

ans =

4

>> limit(f,inf)

ans = ||

\| x) ax sin(lim0 xVALERNIMINEGeometrie computaional66

Inf

>> limit(1/x,inf)

ans =

0

>> limit(log(abs(x)),0)

ans =

-Inf VALERNIMINEGeometrie computaional67 CAPITOLUL II GEOMETRIA DIFERENIAL A CURBELOR N PLAN CU APLICAII N MATLAB 2.1. Reprezentri analitice ale curbelor plane Geometriadiferenialclasicacurbelorstudiaz proprietile locale ale acestora, adic acele proprieti care depind de comportarea curbei n vecintatea unui punct al su. Cadrul cel maiadecvatdestudiullocalalcurbelorestecelalcalculului diferenial,motivpentrucarefunciileceintervinndefinirea curbelor sunt pesupuse a fi difereniabile. nanalizamatematicdifereniabilitateauneifuncii nR D f : sedefinetencontextulncareDesteomulime deschis din Rn. DacVesteosubmulimealuiRn,atunciofuncie nR U f : senumetedifereniabilpeUdacexistomulime deschis D a lui Rn ce conine mulimea Ui o funcie nR D g :difereniabil pe D, astfel nct f U g = / . Ocurbplanesteosubmulimealui 2R definitcao mulimedepunctecesatisfac anumitecondiiirelativla ofuncie R I f : sauR R D F 2: sau 2: R R I C .Duptipul funcieiceintervinendefiniiacurbeiavemdiferiteecuaiiale acesteia. VALERNIMINEGeometrie computaional68 2.1.1Reprezentarea explicit a unei curbe plane FieR Iun interval iR I f :o funcie de clas C1 pe I. Senumetecurbdifereniabildefinitdefunciaf ,mulimea { } ) ) ( / ) , (2I x f y E y x M = = . Curba definit de funcia f reprezint, evident, graficul lui f. Vom indica n cele ce urmeaz curbaprin ecuaia: I x x f y = ), ((2.1.1) numit ecuaia explicit a curbei. Exemplu:[ ] 2 , 0 , sin = x x y (fig.2.1.1) Reprezentareagraficelordemaisusdevineoproblema extrem desimpla daca ovom rezolva in Matlab. Vom exemplifica in continuare folosind comenzi si functii Matlab specifice title ('Graficul functiei sin(x)') legend ('- functia sin(x)') x y M(x,sinx) x y Fig. 2.1.1 Fig . 2.1.2 VALERNIMINEGeometrie computaional69 xlabel ('x') ylabel ('f(x)=sin(x)') l transform pe acesta astfel: -4 -3 -2 -1 0 1 2 3 4-1-0.8-0.6-0.4-0.200.20.40.60.81xf(x)=sin(x)Graficul functiei sin(x)- functia sin(x) Fig. 2.1.3 Putem deasemenea s specificmmrimea caracterelor utilizate la titlu, legenda sau axe folosind parametru FontSize. title ('Graficul functiei sin(x)', FontSize, 14) ; Putemmbunttireprezentareagrafic,adugndnoiparametri funcieiplotidoidintreacetiaarficeireferitorilagrosimea liniei de reprezentare , LineWidth (implicit este 0.5 puncte), iar cel dealdoilealamarimeamarcatorilor,MarkerSize(implicit6 puncte). Un punct reprezinta 1/72 inch. Sa i utilizam n exemplul urmator VALERNIMINEGeometrie computaional70 plot(x, y, -r, x, z,g, x, 0, *b ) ; Dacvremsvizualizmgraficediferitensistemeseparatede coordonate, dar n aceeai fereastr afigurii vom utiliza comanda subplot,caredividedefaptsuprafaaferestreisubformaunei matrici,ncarefiecareelementalmatriceireprezintdefaptun grafic separat. Argumenteleacesteicomenzisuntdimensiunilematricii,i numrul subferestrei n care este vizualizat graficul curent. Deexempluocomanddeformasubplot(2,2,3),mparte suprafaaferestreintr-omatricedesubferestre,dedimensiune 2x2, i graficul curent este poziionat n subfereastra 3. x=[-2:.2:2]; y=exp(-x.^2); subplot (2,2,1); plot (x,y); VALERNIMINEGeometrie computaional72 title ('exp(-x^2)'); z=exp(-x.^2).*cos(2*pi*x); subplot (2,2,2); plot (x,z); title ('exp(-x^2)*cos(2*pi*x)'); t=exp(-x.^2).*cos(4*pi*x); subplot (2,2,3); plot (x,t); title ('exp(-x^2)*cos(4*pi*x)'); -2 -1 0 1 200.20.40.60.81exp(-x2)-2 -1 0 1 2-1-0.500.51exp(-x2)*cos(2*pi*x)-2 -1 0 1 2-1-0.500.51exp(-x2)*cos(4*pi*x) Fig 2.1.5 VALERNIMINEGeometrie computaional73 2.1.2Reprezentarea implicit a unei curbe plane Fie 2R D iR D F :o funcie de clas C1 pe D. Mulimea ( ) ( ) { } 0 , / , = = y x F y x Mo numim curb plan dat prin ecuaia implicit ( ) 0 , = y x F (2.1.2) Exemplu:x2+y2=R2(Fig.2.1.2) Aceast ecuaie reprezint un cerc cu centrul n O(0,0) i de raz R>0. O curb plan dat de ecuaia implicit este conceput static ca locul geometric al punctelor ce satisfac o anumit relaie. Dac n ecuaia (2.1.2) F este o funcie polinomial n x i z de gradul n atuncicurbadeecuaia( ) 0 , = y x F senumetecurbalgebricde grad n. Conicele sunt curbe algebrice de grad 2.Oconicestecurba careseobine prin intersectarea unui plancu un con (mai exact este vorba de suprafaa unui con drept, circular). Coniceledupacumsestieaufoartemulteaplicatiiatatinstiinta catsiininginerie.Inmecanicadeexemplutraiectoriaunui proiectilinvidesteoparabola.Orbiteleplanetelorsisatelitilor sunt deasemenea sectiuni conice. Amintimecuatiileprincipalelorconicesisaurmarimapoi reprezentarea lor in Matlab Cerc:

Elips:VALERNIMINEGeometrie computaional74

Parabol: Hiperbol:

S desenm un cerc dat de raz 2. Din ecuatia de mai sus avem c 24 x y =sipentru obinerea cercului avem de reprezentat n Matlab ambele rdcini. >> x=linspace(-2,2); >> plot(x,sqrt(4-x.^2)) >> hold on >> plot(x,-sqrt(4-x.^2)) >> axis equal -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5-1.5-1-0.500.511.5 VALERNIMINEGeometrie computaional75 Pentru reprezentarea hiperbolei pentru a=2 avem urmtoarea reprezentare >> a=2; >> x-1:0.01:1; >> plot(x,-sqrt(4*a*x)); >> hold on >> plot(x,sqrt(4*a*x)) 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2-4-3-2-101234 2.1.3Reprezentarea parametric a unei curbe plane Omulime 2R senumetecurbplanparametrizat dacexistoaplicaie2: R R I C ,)) ( ), ( ( ) ( t y t x t c = declasCn, n 1 pe intervalul I astfel nct: { } ) ( ) , ( / ) , ( Im t c y x t incat astfel I t y x M c = = = .Aplicaia c se numete parametrizare a curbei, iarI t se numete parametru. Exemplu:Curba 1 dinFig.2.1.6esteparametrizatde 22: R R c , ) 4 , 4 ( ) (2 32 = t t t t cVALERNIMINEGeometrie computaional76 -15 -10 -5 0 5 10 15-4-3-2-1012345. Fig. 2.1.6 In Matlab problema se poate rezolva in modul urmator: >> t=-3:.01:3; >> x=t.^3-4*t; >> y=t.^2-4; >> plot(x,y) O y x VALERNIMINEGeometrie computaional77 Dacanereferimlaconicelespecificatemaisusecuatiilescrise parametrizat: Cerc:,Elips:,Parabol:,Hiperbol: sau. Ocurbdatparametric,imc = ,areogenerarecinematic:ea reprezint traiectoriaunui mobil care la momentul t se gsete n poziiadecoordonate)) ( ), ( ( t y t x .Vomindicaocurb parametrizat prin ecuaiile: I tt y yt x x==,) () ( (2.1.3) pe care le numim ecuaii parametrice ale curbei. Definiia2.1.1Curba[ ] R b a c c = , : , Im senumete curb nchis dac) ( ) ( b c a c = . Exemplu. [ ] ) 0 , 1 ( ) 4 ( ) 0 ( ),2sin 2 sin ,2cos 2 (cos ) ( 4 , 0 : , Im2 = = = = c ctttt t c R c c Definiia 2.1.2 Fie curba 2: , Im R I c c = i ) , (0 0y x M . PunctulMalcurbeisenumetepunctsimpludacmulimea { } ) , ( ) ( / ) , (0 0 0 01y x t c I t y x c = =conineunsingurelementipunct multipludeordinkdacmulimea) , (0 01y x cconinekelemente, adic existI t t tk ,..., ,2 1 astfel nct . , 1 ), , ( ) (0 0k i y x ti c =VALERNIMINEGeometrie computaional78 Observaie. Dacc Im = i parametrizarea c este bijectiv, atunci orice punct al curbei este simplu. ExempluVomconsiderancontinuareuncazulcurbeilui Talbot ale crei ecuaii parametrice sunt ) sin( ) 1 ) ( (sin ) () cos( ) 1 ) ( (sin ) (22t t t yt t t x =+ = pentru 2 0 < t . VizualizareanMatlabacurbeiestedatdeurmtoareleliniide cod: >> t=0:.01:2*pi; >> x=((sin(t)).^2+1).*cos(t); >> y=((sin(t)).^2-1).*sin(t); >> plot(x,y) -1.5 -1 -0.5 0 0.5 1 1.5-0.4-0.3-0.2-0.100.10.20.30.4 VALERNIMINEGeometrie computaional79 2.1.4 Curbe date n coordonate polare Fieunreperpolarnplandepol0iaxpolarOx. Coordonatele unui punct x fa de acest reper le notm:) , ( . O curb plan dat n coordonate polare este mulimea: [ ] [ ] { } , , , : ), ( / ) , (1C f R f f M = = Ecuaia: [ ] , ), ( = a f (2.1.5) o numim ecuaie n coordonate polare a curbei. Exemplu: [ ] 2 , 0 , cos 1 + = .(Fig.2.1.9 ) 0 6 4 2 cos 1+ = 2 231+221+ 10 Observaie. Fiind dat curba ( ) n coordonate polare prin [ ] , , : ), ( R f f = relativ la reperul cartezian xoy asociat reperului polar, curba admite parametrizarea[ ]2, : R c , ). sin ) ( , cos ) ( ( ) ( f f c = M x O Fig. 2.1.8 O 4=6=x y Fig.2.1.9 VALERNIMINEGeometrie computaional80 Un exemplu cunoscut este cel al reprezentrii cardioidei pe care l prezentm n continuare insotite de comenzile Matlab t=linspace(0,2*pi,200); r=1+sin(t); polar(t,r); title('cardioida') 0.511.52302106024090270120300150330180 0cardioida Fig. 2.1.10 Prin urmare programul MATLAB poate sa deseneze si grafice polare, adica sub forma de modul si unghi de faza daca comanda este de forma polar(x,y). Urmtoarele linii de cod genereaz o elips n coordonate polare >> th=0:2*pi/100:2*pi; >> ro=1+.2*cos(th); >> polar(th,ro) VALERNIMINEGeometrie computaional81 0.511.5302106024090270120300150330180 0 Graficulcareseobinenuseamancuoelipspentruceste reprezentat n coordonate polare. Pentru a observa forma clasica a elipsei este necesars se traseze funcia n coordonate carteziene. Sepoatefaceconversiacoordonatelorpolarencoordonate carteziene prin utilizarea functiei de conversie pol2cart astfel : >> [x,y] = pol2cart(th,ro) ; >> plot(x,y) ; >> axis equal Pentru reprezentarea unei spirale vom scrie urmtoarele linii de cod >> th=0:2*pi/100:2*pi; >> ro=3*th; >> polar(th,ro) VALERNIMINEGeometrie computaional82 5101520302106024090270120300150330180 0 2.2 Tangenta i normala ntr-un punct al unei curbe plane 2. 2.1. Tangenta i normala ntr-un punct alunei curbe plane date explicit Fie curba ( )) ( , ), (1I C f I x x f y = i . )) ( , (0 0 x f x MSe tiecdinpunctdevederegeometricderivatafuncieifnx0 , ) (0x f ,reprezintpantatangenteinM0(x0,f(x0))lagraficul funciei. Prin urmare ecuaia tangentei n M0 la curb este: ) )( ( ) (0 0 0x x x f x f y = (2.2.1) Definiia 2.2.1.Se numete normal n punctul M0 al curbei ,dreaptaperpendicularnM0,petangentanacestpunctla curb. ntr-unpunct)) ( , (0 0 0x f x M alcurbei( )ncare0 ) (0 x f , panta normalei este ) (10x f i deci ecuaia normalei este: ) () (1) (000x xx fx f y = (2.2.2) Dac0 ) (0= x f ,ecuaiatangentein )) ( , (0 0x f x Moeste ) (0x f y = , iar a normalei 0x x = .VALERNIMINEGeometrie computaional83 VomexemplificamaijosnMatlabtrasareauneitangentelao curb ntr-un punct de pe curba Problema S se traseze tangenta la graficul funciei sin (x) n punctul x=2. Reamintim mai ntai ca ecuatia unei tangente la graficul functieiy(x) n punctul x=x0 are forma y-y0=m(x-x0), unde m reprezinta panta tangentei in punctul respectiv. Vom scrie urmatoarele comenzi Matlab pentru rezolvarea problemei. >> syms x; >> y=sin(x); >> ezplot(y,[0,2*pi]) >> dydx=diff(y) dydx = cos(x) >> m=subs(dydx,x,2) m = -0.4161 >> y0=subs(y,x,2); >> hold on; >> ezplot(m*(x-2)+y0,[0,2*pi]); VALERNIMINEGeometrie computaional84 0 1 2 3 4 5 6-1-0.500.511.5x-...+15686858057262667/9007199254740992

2.2.2 Tangenta i normala ntr-un punct al unei curbe plane date implicit Fie curba) (de ecuaia: 0 ) , ( = y x F(2.2.3) R R D F 2: declasC1peDi ) , (0 0 0y x M astfelnct 0 ) , (0 0y xyF

nacesteipotezesuntndeplinitecondiiileteoremei funciilorimpliciterelativlaecuaia0 ) , ( = y x F iprinurmare exist o vecinatateU a lui y0 i o funcieU V y :astfel nct: a)V x x y x F = , 0 )) ( , (b) 0 0) ( y x y =c) funcia y este derivabil n x0 : VALERNIMINEGeometrie computaional85 ) , () , () (0 00 0y xyFy xxFx y = . Cualtecuvinteunarc alcurbeidintr-ovecintatea punctuluiM0poatefiinterpretatcaigraficulfuncieiydefinit implicitdeecuaia(2.2.3)iprinurmarepantatangenteinM0la acest arc (deci la curba) este: ) , ( ) (0 0 0y xyFxFx y = Rezultatuncicecuaiatangenteinpunctul) , (0 0 0y x Meste: ) )( , (0 0 0 0x x y xyFxFy y = (2.2.4) sau 0 ) )( , ( ) )( , (0 0 0 0 0 0= + y y y xyFx x y xxF(2.2.4)Ecuaia normalei nM M 0 este: ) () , () , (00 00 00x xy xxFy xyFy y = (2.2.5)sau

) , ( ) , (0 000 00y xyFy yy xxFx x= (2.2.5) VALERNIMINEGeometrie computaional86 Precizmcecuaiile(2.2.4)i(2.2.5)suntasociate punctelor n care cel puin una din derivatele yFxF,este nenul n M0. Asemenea puncte se numesc puncte regulate ale curbei. 2. 2.3. Tangenta ntr-un punct al unei curbe plane date parametric FiecurbaI t t y t x t c R I c c = = )), ( ) ( ( ) ( , : , Im2i ) (1I C c . Considerm) ( )) ( ), ( (0 0 0 0t c t y t x M = , t0 interior intervalului I i ) ( )) ( ), ( ( t c t y t x M = . DreaptaM0M are ecuaia: ) ( ) () () ( ) () (0000t y t yt y yt x t xt x x=(2.2.6) nmulind n (2.2.6) cu t-t0 obinem: 000000) ( ) () () ( ) () (t tt y t yt y yt tt x t xt x x= i trecnd la limit cnd 0t t obinem: ) () () () (0000t yt y yt xt x x= (2.2.7) Observaie. Parametrizarea c fiind difereniabil, este continu pe I i prin urmare) ( ) ( lim00t c t ct t=. Adic, atunci cnd 0t t , punctul M tinde pe curba la M0, iar secanta MM0 tinde la tangenta n M0 la curba. Prinurmaredacvectorul)) ( ), ( (0 0t y t x estediferitdevectorul nul,atuncielddireciatangentein)) ( ), ( (0 0 0t y t x M lacurba VALERNIMINEGeometrie computaional87 c Im = inacestcazecuaia(2.2.7)reprezintecuaiatangentei n 0Mse mai poate scrie sub forma: )) ( () () () (0000t x xt xt yt y y = (2.2.7) i deci panta tangentei n) (0 0t c M =la curbac Im = este ) () (00t xt y. Panta normalei la curban M0 este atunci ) ( ') ( '00t yt x . Observaie.Uneicurbeplanec Im = ,unde )) ( ), ( ( ) ( , :2t y t x t c R I c = esteoparametrizaredeclasCn,2 n ,i seasociaznoricepunct)) ( ), ( ( t y t x M vectorulnotat )) ( ), ( ( ) ( t y t x t c = i vectorul)) ( ), ( ( ) ( t y t x t c = . Dinpunctdevederemecanicvectorul) (t c respectiv) (t c , reprezintvectorulvitez,respectivacceleraielamomentult,a mobilului ce se mic pe traiectoria reprezentat de curba. Prinurmare,oparametrizareauneicurbedefineteo anumitlegedemicarepeaceasttraiectorielucruevident,o aceeaitraiectoriepoatefiparcurscudiferitelegidemicare nseamn c o aceeai curb admite o infinitate de parametrizri . Definiia2.2.2Fieocurbplanparametrizatde 2: R I C ,( ) I C Cn ,2 n Unpunct() = t C M0senumete punctregulatdeordinulunu(respectivdoi)dacvectorul ascociat( ) 00t C (respectiv( ) 00 t C ).Dac() 0 t C ,I t , ( () 0 t C,I t ) atunci parametrizarea C se zice c este regulat de ordinul unu (respectiv doi) . Exemple.Fie parabola 1Imc = ,() ( )21, t t t c =,R t (Fig.9) () ( ) 0 2 , 11 =t t c,R t . Pe de alt parte , 2Imc = ,() ( )6 32, t t t c =, R t , () ( )5 226 , 3 t t t c =i( ) ( ) 0 , 0 02= c. VALERNIMINEGeometrie computaional88 Traiectoria este parcurs cu vitez nenul dup legea dat de 1c, n timp ce dup legea dat de 2cviteza se anuleaz n( ) ( ) 0 0 , 02c O =. nceleceurmeazvomdefiniorelaientredou parametrizri ce descriu micri cu aceleai caracteristici . Definiia2.2.3Douparametrizri 1c , 2c declas nC , 1 n, ale curbei , 21: R I C , 22: R I C sunt echivalente dac exist un difeomorfism de clas nC,J I :(funcie bijectiv de clas nC si cu inversa de clas nC ) astfel nct = o2 1c c. Funciase numete schimbare de parametru . Sedemonstreazuorcaceastrelaieesteorelaiede echivalen pe mulimea parametrizrilor de clas nCale curbei . Considermcurbacafiindimagineaunuidrum (parametrizare)ivomevideniapeparcursproprietilecarenu depind deparametrizrileechivalentalese,respectivcelecarenu sepstreazcndalegemoparametrizareneechivalentcucea iniial . Parametrizrile de mai sus ale parabolei nu sunt echivalente pentrucdei = o1 2c c ,undeR R : ,( )3 = ,nueste difeomorfismpentrucfuncia 1 ,()3 1t t = nuestederivabil n O . VALERNIMINEGeometrie computaional89 Parametrizrile[ ]211 , 1 : R c ,() ( )211 , t t t c = i ( )22, 0 : R c ,( ) ( ) sin , cos2= c alesemicerculuicucentruln ( ) 0 , 0 O iraz1suntechivalentepentrucexistdifeomorfismul [ ] [ ] 1 , 1 , 0 : ,( ) cos = , astfel nct = o1 2c c. Observm c () 01, 121|||

\|=ttt c ,[ ] 1 , 1 t i( ) ( ) 0 cos , sin2 = c , [ ] , 0 . Propoziia2.2.4Fie 21: R I c ,( ) I C cn1,1 n o parametrizare regulat de ordin unu a curbei . Dac 22: R J c esteoparametrizaredeclas nC acurbeiechivalentcu parametrizarea 1c atuncii 2c esteparametrizareregulatde ordin unu . Demonstraie.Parametrizrile 1c i 2c fiindechivalente rezultcexistdifeomorfismulI J : declas nC peJ astfel nct( ) ( ) ( ) ( ) ( ) ( ) ( ) = =1 2 1 2c c c c .Setiecaun difeomorfism este strict cresctor (( ) 0 > ,J ) sau strict descresctor(( ) 0 < ,J ),deci( ) 0 ,J .Cum prinipotez( ) ( ) 01 c ,J t rezultc( ) 02 c ,J , adic parametrizarea 2ceste regulat de ordin unu . Observaie.Dac este o curb conex, se pot stabili dou sensuri de parcurs pe care le numim sens pozitiv i sens negativ . O curbpecares-afixatunsensdeparcurssenumetecurb orientat . Presupunem 1Imc = ,[ ]21, : R b a c . Lund ca sens pozitiv pesemnulimpusdeordineanaturaldinintervalul[ ] b a,parametrizareaechivalent[ ]22, : R a b c ,( ) ( ) =1 2c cdefinetesensulnegativdeparcurspe(Fig.10) VALERNIMINEGeometrie computaional90 . n general avnd dou parametrizri echivalente 1ci 2cale aceleiaicurbe, = o1 2c c icum( ) ( ) ( ) ( ) =1 2c c ,dac ( ) 0 > vectorii vitez asociai celor dou parametrizri au acelai sens,iardac( ) 0 < ,vectoriirespectiviausensuriopuse. Aceastanepermitesspunemcdouparametrizriechivalente aleuneicurbedefinescacelaisensdeparcurspecurbdac difeomorfismuldelegturestecresctor( ( ) 0 > )irespectiv sensuriopusedacdifeomorfismuldelegturestedescresctor ( ( ) 0 < ) . Definiia2.2.5Fieocurbplanparametrizatde [ ]2, : R b a c , nC c ([ ] b a, )1 n .Lungimeacurbeiesteprin definiie( ) () dt t c lba = .Pentruorice[ ] b a t , definimfuncia lungime de arc() () dt t c t Sta =,() t Sdefinete lungimea arcului AMal curbei ,( ) a C A =,() t c M=. (Fig. 11) VALERNIMINEGeometrie computaional91 Observaie. Funcia[ ] R b a S , :fiind integrala nedefinit a funciei continue() () t c t f =, rezult c ea este o primitiv a luif.Prinurmarefuncialungimearcestederivabili() () t c t s = , [ ] b a t , . Definiia2.2.6Oparametrizare 2:~R J c acurbeise numete parametrizare natural dac( ) 1~= s c, oricare ar fiJ s . Cu alte cuvinte o parametrizare natural a unei curbe este o lege de micare cu vitez constant pe traiectoria reprezentat de curb . Se pune ntrebarea : orice traiectorie se poate parcurge cu vitez constant ? Rspunsul este dat de : Propoziia2.2.7Fieocurbn 2R parametrizatde parametrizarea[ ]2, : R b a c declasC regulatdeordinunu. Atunciadmiteoparametrizarenatural[ ]2, 0 : R c echivalent cuc. Demonstraie.Fie() () dt t c t sta= funcialungimedearc. Parametrizareac fiindregulat,() 0 t c ,[ ] b a t , .Conform observaieidemaisusfuncias estederivabili() () 0 > = t c t s . Prin urmareseste strict cresctoare , deci injectiv ,( ) 0 = a si fie VALERNIMINEGeometrie computaional92 ( ) b s = .Deci[ ] [ ] b b a s , 0 , : estebijectiv,derivabilicu inversa derivabil . Fie[ ] [ ] b a b , , 0 : inversafuncieis i =o c c o parametrizareechivalentcuc acurbei.Sartmc[ ]2, 0 : R c esteoparametrizarenatural: ( ) ( ) ( ) ( ) ( ) ( )( ) ( )( ) ( )( ) ( ) s cs cs ss c s s c s c = = =1 1~ . Evident ( ) 1~= s c,[ ] , 0 sObservaie.Dacc~Im = ic~esteoparametrizare natural a unei curbe[ ]2, :~R c , atunci lungimea unui arc de curbM M M 0,( ) c M~0= ,( ) c M~= este ( ) = = = s ds ds s c ls s~ Dac0 = is l= .Prinurmarentr-oparametrizare naturalc~ a unei curbe ,parametrul semnific lungimea arcului . 2.2.4. Tangenta ntr-un punct al unei curbe dat n coordonate polare Propoziia2.2.8RelativlareperulpolardepolOiax polarOxconsider curba de ecuaie ( ) f =,[ ] R f , :,[ ) , C f . (2.2.8) Fie( ) 0 0 0, M ,00 .Notmcu msuraunghiului dintre raza 0OMi tangenta n 0Mla . Atunci ( )( )00fftg=. Demonstraie.Considerm un nou reper polar , de polO i ax polar[ [0OM OX=(Fig. 12) . VALERNIMINEGeometrie computaional93 Un punct arbitrarMare relativ la reperul iniial coordonatele( ) ,iar relativ la noul reper coordonatele( ) ,. Evident 0 + =. Fie OX OY .Relativ lareperul cartezian pozitivXOY ,curbaare ecuaiile parametrice ( ) ( ) cos0+ = f X Punctul 0M corespundevalorii0 = .Astfel ( )( ) 00XYtg= . Cum( ) ( ) ( ) sin cos0 0+ + = f f X ,iar ( ) ( ) ( ) cos sin0 0+ + = f f Y, rezult c ( )( )00fftg=. Observaie.Cnd 0M coincidecupolulO,tangentan acest punct este determinat de unghiul pe care aceasta l face cu axa polar , adic de unghiul pentru care( ) 0 = f. Exemplu.Ssedeterminecurbancoordonatepolarecare intersecteaz razele vectoare din pol dup un unghi constant .Fiedeecuaie( ) f = curbacutat.Presupunemc ( ) a ctg = , adic ( )( )aff= . Primitivnd , avem c( ) c f a ln ln + = sau ca ln = VALERNIMINEGeometrie computaional94 De unde ae c = e constant pozitiv . Dac0 = a curbeleobinutesuntcercuriiardac0 acurbele sunt spirale logaritmice . 2.2.5Trecereadelaoreprezentareanaliticdeuntipla reprezentarea de alt tip a unui arc de curb 1. Fie o curb plan de ecuaie( ) x f y =,R I f :(2.2.9) Atunci c Im = , 2: R I c ,() () ( ) t f t t c , =. 2. Dac curba este dat prin ecuaia impicit( ) ( ) 0 , = y x F,( ) C F, 2R i( ) 0 0 0, y x M ,iar( )0 0, y xxFi( )0 0, y xyFnuseanuleaz simultan , conform teoremei funciilor impicite un arcdin curba dintr-o vecintate a punctului 0Madmite n cazul( ) 0 ,0 0y xyF , ecuaia ( ) ( ) x y y =, 0xV x unde funcia ( ) x y este definit implicit de ecuaia( ) 0 , = y x F. Pe de alt partec Im = , 20: R V cx,( ) ( ) ( ) x y x x c , =, iar ( )( )( )|||||

\| =0 00 00,,, 1y xyFy xxFx c. Dac( ) 0 ,0 0=y xyFdar( ) 0 ,0 0y xxF,atunciecuaia ( ) 0 , = y x F definetenmodimplicitpex cafunciedey ntr-o VALERNIMINEGeometrie computaional95 vecintate 0yWa lui 0yi deci un arc dintr-o vecintate a lui 0Mare ecuaia explicit ( ) ( ) y x x =, 0yW y i decic Im = , 20: R W cy,( ) ( ) ( ) y y x y c , =, iar( )( )( ) |||||

\| =1 ,,,0 00 00y xxFy xyFy c. 2. Fiecurbac Im = , 2: R I c ,() () () ( ) t y t x t c , = i ( ) ( ) ( ) 0 0 0, t y t x M ,astfelnct( ) ( ) ( ) ( ) 0 ,0 0 0 =t y t x t c .Dac ( ) 00 t x existovecintate 0I alui 0t astfelnct 0Ix sfie inversabil i cu inversa derivabil . Fie( )0 0I x J = i 0 0: I J t inversafunciei 0 0: J I x . Atunci parametrizarea 20: R J d a arcului dintr-o vecintate a punctului 0M, definit prin ( ) ( ) ( ) x t c x d = estedeforma( ) ( ) ( ) x t x x d = ,( ) ( ) ( ) ( ) x f x x t y , = ,adicarcul ,are ecuaia explicit : ( ) ( ) x f y =,( ) ( ) ( ) x t y x f =. Analog se arat c dac( )0t xadmite parametrizaread: ( ) ( ) ( ) y y g y d , =, ( )0t yV y .

2.3Ramuri infinite ale unor arce de curb plan FieI unintervaldeschisinclusnR .DeciI poatefide forma( ) b , ,( ) b a, ,( ) + , b .Notmcu 0t oextremitatea intervalului . VALERNIMINEGeometrie computaional96 Definiia 2.3.1Dacc Im = , 2: R I c , este un arc de curb i() =t ct t0limspunem c are o ramur infinit pentru 0t t .Dac() () () ( ) t y t x t c , = atunci() () () t y t x t c2 2= = iprinurmare este suficient s fie ndeplinit una din condiiile : () ( ) =t xt t0lim() ( ) =t yt t0limpentru ca s posede ramur infinit . Definiia 2.3.2 Se numete direcie asimptotic a ramurii infinite direcia de versor ()() t ct cvt t0lim=. Observaie.Nu orice ramur infinit a unui arc admite direcie asimptotic , de exemplu dac una din limitele urmtoare :

()() t ct xt t0lim , ()() t ct yt t0lim nu exist sau este infinit . Definiia2.3.3.Presupunemcarculdecurbc Im = areo ramurinfinitcnd 0t t ifie() t c M= unpunctarbitraral arcului. O dreapt( ) se numete asimptot a ramurii infinite dac ( ) 0 , lim0= M dt t unde( ) , M d estedistanadelapunctul() () ( ) t y t x M , ladreapta (Fig. 13) VALERNIMINEGeometrie computaional97 Sedemonstreazcdacesteoasimptotaramuriiinfinite , atunci direcia dreptei este direcie asimptotic . Fiec Im = , 2: R I c i() () () ( ) t y t x t c , = unarcceareramur infinit cnd 0t t . a)Dac() =t xt t0lim i() b t yt t=0lim atuncidreaptadeecuaie b y =este asimptota orizontal pentru ramura infinit . (Fig. 14a) . b)Dac() a t xt t=0lim i() =t yt t0lim atuncia x = esteasimptot vertical . (Fig. 14b) . c)Dac() () = = t y t xt t t t0 0lim lim ,dar ()()mt xt yt t=0lim i () () ( ) n t mx t yt t= 0lim atuncidreaptan mx y + = esteasimptot oblic a ramurii infinite (Fig. 13). Observaie.Dacc Im = ,{ }22 1,..., , \ : R t t t I ck , I interval R atunci curba poate prezenta mai multe ramuri infinite ce sepotdescopericalculnd() t xt t0lim,() t yt t0lim,unde { }kt t t t ,..., ,2 1 0 sau =0t ,+ =0t dacmulimea{ }kt t I ,..., \1 conine un interval de forma( )it , sau( ) + ,it. VALERNIMINEGeometrie computaional98 2.4Puncte singulare ale curbelor plane

Pentru o curb plan dat : a)parametric princ Im = , 2: R I c ,() () () ( ) t y t x t c , =. b)prin ecuaia implicit( ) 0 , = y x F,R R F 2:. c)prin ecuaia explicit( ) x f y =,R I f :. se numesc condiii de regularitate de ordin n urmtoarele : 1)n cazurile a,b,c funciile s fie de clas nC,1 n. 2)n cazurile a,b diferenialele funciilor s nu se anuleze n nici un punct . 3)n cazul a aplicaia c s fie bijectiv . Unpunctaluneicurbencarenusuntsatisfcutecondiiilede regularitate se numete punct singular . 2.4.1 Puncte singulare ale curbelor date explicit . Fie curba de ecuaie( ) x f y =,R I f : Unpunct( ) ( )0 0 0, x f x M ,( ) I x 0alcurbeiestepunctsingular dac : 1) fnu este derivabil n 0x. De exemplu: ( ) ( ) x f y =,( )==0 x , 00 x ,1sindacdacxxx fFunciaf nuestederivabiln0pentrucnuexist ( ) ( )xf x fxx x0lim1sin lim0 0= . Prin urmare curba nu admite tangent n origine . VALERNIMINEGeometrie computaional99 Dac( ) = 0x fs,( ) + = 0x fdsau viceversa(Fig. 15a)punctul 0Meste punct de ntoarcere , iar dac( )1 0l x fs= ,( )2 0l x fd= , 2 1l l atunci punctul 0Meste punct unghiular .(Fig. 15b) 11) feste derivabil , darf nu este continu n orice punct din I. n acest caz se mai spune c nu are tangent continu . Exemplu :( ) x f y = ,( )==0 x , 00 x ,1sin2dacdacxxx f . ( )= = 0 x , 00 x ,1cos1sin 2dacdacx xxx fnu este continu n zero pentru c nu exist( ) x fx0lim . VALERNIMINEGeometrie computaional100 2.4.2Puncte singulare ale curbelor date parametric . Fiecurbac Im = , 2: R I c .Punctelesingulare(dacacestea exist)alecurbeisuntpunctelencarenusuntsatisfcute condiiile de regularitate 2) sau 3).1).Dacparametrizareac nuestebijectiv,atucicurbaare punctemultiple,caresuntdecipunctesingulare.Dac ( ) 0 0 0, y x Meste punct dublu , adic existI t t 2 1,, 2 1t t , astfel nct( ) ( )2 1t c t c = i( ) ( )2 1t c t c atunci 0M estepunctnod(Fig.16a)Dac ns n punctul dublu 0M, vectorul( )1t c este coliniar cu( )2t catunci 0Mse numete tac nod . (Fig. 16b). 2) O a doua situaie cnd un punct( )0 0t c M =al curbeic Im = este punct singular este atunci cnd( )20RO t c = . Presupunem c parampetrizareac este de clasa nCi exist cel puinuncuplu( ) n m, denumerenaturale2 , n m astfelnct vectorul( ) b cm) (i( ) b cn) (sfieliniarindependeni.NotndcupVALERNIMINEGeometrie computaional101 cel mai mic numr natural2 astfel inct( ) 0) ( b cpi cuqcel mai mic numar natular1 + pastfel nct vectorii( )0) (t cp i ( )0) (t cqs fie independeni se poate demonstra c :a)Dacpiqsunt ambele pare atunci punctul( ) b c M =0 este punct de ntoarcere de spea a doua (Fig. 17a) . b)Dacp estepariq impar,punctul 0M estepunctde ntoarcere de spea inti (Fig. 17b) . c)Dacp esteimpariq par,punctul 0M senumete aplatizat . (Fig. 18a).d)Dacp esteimpariq imparatunci 0M senumetepunct de inflexiune (Fig.18b). VALERNIMINEGeometrie computaional102 ntoatecelepatrucazuritangentanpunctulsingular ( ) b c M =0 are direcia ( ) b cp) ( . 2.4.3Puncte singulare ale cubelor plane date printr-o ecuaie implicit Considerm curba de ecuaie : ( ) 0 , = y x Funde 2: R F ,( ) mC F,3 m inndseamadecondiiilederegularitatealeuneicurbe plane rezult c : Definiia2.4.1Unpunct( ) 0 0 0, y x M estepunctsingular multiplu de ordinm dac derivatele pariale pn la ordinul1 minclusiv,alefuncieiF suntnulen( )0 0, y x icelpuinunadin derivatele de ordinm este nenul . n continuare vom studia punctele duble ale unei curbe date prin ecuaia implicit .VALERNIMINEGeometrie computaional103 Propoziia 2.4.2Dac( )0 0 0, y x Meste un punct singular dublu alcurbeideecuaie( ) 0 , = y x F , 3C F i( ) b a t , estedirecia tangentein 0M lacurba,atunciformaptraticdefinitde difereniala de ordin doi a funcieiFn( )0 0, y xse anuleaz nt: ( ) ( ) ( ) 0 , , 2 ,20 0220 0220 022=+ +a y xxFab y xy xFb y xyF Demonstraie.FunciaFfiind de clas 3Ci putem asocia n punctul( )0 0 0, y x Mformula lui Taylor de ordin 3 : ( ) ( ) ( )( ) ( )( ) +((

+ + =0 0 0 0 0 0 0 0, ,! 11, , y y y xyFx x y xxFy x F y x F( )( ) ( )( )( ) ( )( ) +((

+ + +20 0 0220 0 0 0220 0 022, , 2 ,! 21y y y xyFy y x x y xy xFx x y xxF( ) ( )( )((

+ 30 0! 31y yyx xx( ) ( ) [ ]0 0 0 0 0, y y y x x x x F + + + ; ( ) 1 , 0 . (2.4.1) Punctul 0M aparinndcurbeiifiindpunctsingulardublu rezult c( ) 0 ,0 0= y x Fi ( ) ( ) 0 , ,0 0 0 0==y xyFy xxF . Astfel ecuaia curbei ,( ) 0 , = y x F, devine : ( )( ) ( )( )( ) ( )( ) +((

+ + +20 0 0220 0 0 0220 0 022, , 2 ,21y y y xyFy y x x y xy xFx x y xxFVALERNIMINEGeometrie computaional104 ( ) ( )( )((

+ 30 0! 31y yyx xx( ) ( ) [ ] 0 ,0 0 0 0 0= + + + y y y x x x x F (2.4.2) undecoeficientullui ! 31esteunpolinomomogendegrad3n ( )( )0 0y y x x . Intersectmfamiliatuturordreptelorceconinpunctul ( )0 0 0, y x M: by yax x0 0=(2.4.3) cu curba . Ecuaia de intersecie este :

( )( ) ( )( ) ( )( ) +((

+ + 2220 0 02220 0 0220 0 022, , 2 ,21abx x y xyFabx x y xy xFx x y xxF( ) ( ) 0! 3130= x Q x x ,( ) 1 , 0 . (2.4.4) sau ( ) ( ) ( ) ( ) +((

+ +220 0220 020 02220, , 2 ,aby xyFaby xy xFy xxFx x( ) ( ) 0! 310= x Q x x .(2.4.5) VALERNIMINEGeometrie computaional105 Observm c 0x x =este rdcin dubl a ecuaiei de intersecie , adicdreapta by yax x0 0=intersecteaznpunctulsingular 0Mdou subarce ale curbei . Pentru ca dreapta (2.4.3) s fie tangent n 0Mcurbei trebuie ca 0x x = sfierdcintripl,ceeace seobservdin(2.4.5)care loc doar dac : ( ) ( ) ( ) 0 , , 2 ,220 0220 020 022=+ +aby xyFaby xy xFy xxFadic (2.4.6)( ) ( ) ( ) 0 , , 2 ,20 0220 0220 022=+ +b y xyFab y xy xFa y xxF. (2.4.6) Discuia ecuaiei (2.4.6) : I)Dac( ) 0 ,22y xyF (2.4.6) nu este verificat pentru0 = a. n acest caz notndmab=, ecuaia pantelor tangentelor n punctul singular 0M. ( ) ( ) ( ) 0 , , 2 ,0 0220 0220 022=+ +y xyFm y xy xFm y xxF. (2.4.7) Fie ( ) ( ) ( )0 0220 0220 02, , , y xyFy xxFy xy xF|||

\| = VALERNIMINEGeometrie computaional106 Se demonstreaz folosind tehnici speciale de analiz c dac : i)0 > ecuaia(2.4.7)arerdciniledistincte 2 1, m m ,atunci punctul singular dublu este un punct nod . (Fig. 19) ii)0 = adic 2 1m m= atunciprin 0M trecdouarcedecurb avndtangentacomunnacestcaz 0M senumetepunctde ntoarcere .(Fig. 20 a i b) iii)0 < ecuaia(2.4.7)neavndrdcinirealenpunctul 0Mtangentanuestedefinit.Unastfeldepunctsingularsenumete punctizolat.Unpunctizolatesteizolatidinpunctdevedere VALERNIMINEGeometrie computaional107 topologic,adicexistovecintateV alui0M astfelnct = T V(Fig. 21)

II)Dac( ) 0 ,0 022=y xyF atunci din ecuaia (2.4.6) rezult c : 0 , 01 1 = b a (2.4.8) i ( ) ( ) 0 , 2 ,0 020 022= +b y xy xFa y xxF .(2.4.9) Aici distingem urmtoarele subcazuri : II.1. Dac( ) 0 ,0 022y xxF i( ) 0 ,0 02= y xy xF

atunci din (2.4.9) rezult i02= ai prin urmare 0Meste punct de ntoarcere avnd tangenta de direcie( )2, 0 b, adic paralel cuOy. II.2 DacVALERNIMINEGeometrie computaional108 ( ) 0 ,0 022=y xxF i( ) 0 ,0 02 y xy xF din (2.4.9) obinem02= bi deci 0Meste punct nod , direciile tangentelorn 0M fiind( )1 1, b a i( ) 0 ,2a adicotangentn 0Meste paralel cuOyi cealalt cuOx. 2.4.4Formaunuiarcdecurbnvecintateaunuipunct regulat Fieocurbplandatprinparametrizarea 2: R I c , () () () ( ) t y t x t c , = ,( ) I C ck ifie() t c M =0unpunctalcurbeiastfel nct( ) 00t ci( ) 00 t c. Presupunemc( )0t cnuestecoliniarcuvectorul( ) 1 , 02e ,adic tangentanuesteparalelcuOy .Astfel( ) 00 t x iprinurmare (conf.2.5.)unarcdecurb dac vecintatea lui 0M admite parametrizarea 20: R J d ,( ) ( ) ( ) x f x x d , = ,unde( ) () t y x f = ,tfiind inversa restriciei luixla un interval 0Isuficient de mic ce-l conine pe 0t. Atunci : ( ) ( ) ( ) ( ) ( ) ( )( ) ( ) x t xx t y x t x t y x f = = 1

( )( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )( ) ( )13 12xx y x yx t xx t x x t x t y x t x x t x t yx f = = Cum estegraficulfuncieiR J f : (Fig.22)isetiec dac( ) 0 > x f , 0J x atuncif esteconvex,dac( ) 0 < x f , 0J x ,f este concav , iar dac( ) 0 = x fi n 0x,f schimb VALERNIMINEGeometrie computaional109 semnul,atunci( ) ( )0 0 0, x f x M estepunctdeinflexiune,rezult urmtoarele reguli pentru arcul parametrizat :0ImIc = . -dac() 0 > txy x y x , 0I t , atunci spunem c arcul are concavitatea ndreptat sprey O. (Fig. 22a) -dac() 0 < txy x y x, 0I t ,atunciarcul are concavitatea ndreaptat spreOy(Fig. 22b) -dac() 0 = txy x y x,atunci( )0 0t c M = estepunctde inflexiune (Fig. 22c) Observaie.Notnd()xy x y xt h = i()()() t xt yt m= , observm c() () () t m t x t h =.Dac n( )0 0t c M =vectorul( )0t ceste coliniar cu( ) 1 , 02= e atuncipeovecintatealui 0M unarc admite VALERNIMINEGeometrie computaional110 parametrizarea 21 1: R J d ,( ) ( ) ( ) y y g y d ,1= iprintr-un raionament analog , notnd() () tyy x x yt k =; 1I t , 1Iun interval suficient de mic n jurul lui 0t, deducem : -dac() 0 > t k arcul areconcavitateandreptatspre x O.(Fig. 23a) - dac() 0 < t k arcul areconcavitateandreptatspre Ox.(Fig. 23b) -dac() 0 = t k ,adic( )( ) 00= t y x y x , 0M estepunct de inflexie (Fig. 23c) VALERNIMINEGeometrie computaional111 Determinarea imaginii geometrice a unei curbe dat parametric Fie curbac Im = , 2: R I c ,() () () ( ) t y t x t c , . =,( ) I C cn. Prezentmncontinuareetapelecetrebuieparcursepentrua putea desena n sistemul de axexOymulimeac Im = . 1)Se determin domeniul de definiie al parametrizriic. 2)Se determin punctele singulare i tipul lor . 3)Se determin asimptotele curbei . 4)Se calculeaz derivatelex,yi se determin semnul lor 5)Secalculeaz()()() t xt yt m= ,() t m isestabiletesemnul funcieim. 6)Se completeaz tabelul : t() t x () t y () t m () () () t m t x t h = () t x () t y Particulariti ale curbei Exemplu.Ssedetermineimagineageometricacurbeidat prin : )`== = 1,1,2322ttyttx y x. VALERNIMINEGeometrie computaional112 1) c Im = ,{ }21 , 1 \ : R R c ,()|||

\| =1,12322ttttt c. 2) ()( )2212= ttt x,()( )222 413= tt tt y,( ) ( ) 0 , 0 0 0 O c = punct singular . 3) 1 = x, 21 = x y, 21+ = x yasimptote . 4) ()233t tt m=,() ( )23 321t t m = . 5)Completm tabelul: t() t x () t y () t m () () () t m t x t h = () t x () t y Particulariti ale curbei 3 1 + + + + 0- - - - - - + 1 asimptota 1 = xtangentaOxasimptota 21 = x y01 0- 0- + + 0- 0 0 punct singular asimptota21+ = x yVALERNIMINEGeometrie computaional113 3 +- - 0+ - - + + 1 tangentaOx Graficul va fi dat de Fig. 24. Fig. 24.

Observm c =14 3 2 unde ). Im( ), Im( ), Im( ), Im() , 1 ( 4 ) 1 , 0 [ 3 ] 0 , 1 ( 2 ) 1 , ( 1 + = = = = c c c c VALERNIMINEGeometrie computaional114

2.5. Curbura curbelor plane 2.5.1. Definiia curburii unei curbe Fie o curb plan parametrizat de) ( , :2 2I c c R I c , c regulat de ordin unu i ordin doi pe). , 0 ) ( , 0 ) ( ( I t t c t c I & & &FieM0=c(t0)=(x0,y0)unpunctneinflexionaralcurbeii astfel nct tangenta n M0 s nu fie paralel cu Oy. Atunci un arc din curba dintr-o vecintate a lui M0 admite parametrizarea (vezi 2.5),))), ( ( , ( ) ( , :120 1x t y x x c R J c = unde t este inversa funciei x(t) pe o vecintete F0 a lui t0,. :0 0J I x Notnd f(x)=y(t(x)) avem: )) ( , 1 ( ) (0 0 1x f x c = &iar)). ( , 0 ( ) (0 0x f x c = & &a)Dacarculdecurbdintr-ovecintatealuiM0este convexatuncirezultc0 ) (0> x f idecivectorul) (0x c& & are acelaisemncuc2=(0,1)iesteinclusnacelaisemiplancu determinat de tangenta n M0. (Fig. 25). b) Dac ntr-o vecintate a lui M0 arcul de curb este concav, atunci0 ) (0< x fi deci) (0x c& &are acelai sens cu c2 i este nchis la fel, n acelai semiplan determinat de tangenta n M0 ca i arcul de curb dintr-o vecintate a lui M0. (Fig. 26). VALERNIMINEGeometrie computaional115 Fig. 25 Fig. 26 Din felul n care a fost definit parametrizareac1,eaeste echivalentcuc/I,adicexist difeomorfismuldeclasC2, 0 0: I J astfelnctc1=c/I0 o i 11 0/= o c I c unde) ( ) ( ) ( ) ( ) (0 0 1 0 01t x x c t c t x t = =& & iar). ( ) ( ) ( ) ( ) (040 1 0120 0 1t x t c t x x c t c + = & & & & &Deoarece x12(t0)>0 rezult c acceleraia n M0 relativ la legeao se obineaducndunvectordeacelaisenscuacceleraianM0 relativlalegeac1,cuunvectorcoliniarcutangentanM0.Din regula paralelogramului rezult c vectorul sum Fig 27 VALERNIMINEGeometrie computaional116 este ntre vectorii termeni. (Fig. 27). noriceparametrizareacurbeiechivalentcu parametrizareadat,vectorulacceleraientr-unpunct neunflexionarestenchisnacelaisemiplandeterminatde tangentnacelpunctcaiunarcdintr-ovecintatesuficientde mic a punctului respectiv (Fig. 28,29).

Fig.28Fig.29 Observaie.Presupunemccurbaesteorientat,sensulpozitiv fiind definit de parametrizarea). , ( , ) , ( :2121b a C c R b a c Fie), , ( ), ( ) ( , ) , ( :1 222a b t t c t c R a b c = parametrizarea ce definete sensul opus de parcurgere al curbei. ), ( ) (1 2t c t c & & =iar) ( ) (1 2t c t c =& & & &Prinurmare,prinschimbareasensuluideparcursalcurbei, vectorulvitezschimbsensulntimpcevectorulacceleraie pstreaz acelai sens. Fiecurbaparametrizatnaturalde)). (~), (~( ) (~), (~, :~2 2s y s x s c J C c R J c = VALERNIMINEGeometrie computaional117 Atuncinoricepunctalcurbeivectorul) (~s c& &esteortogonalpe ). (~s c&ntr-adevr,tiindc1 ) (~= s c rezultcx12(s)+y12(s)=1. Derivnd aceast egalitate obinem: , 0 ) ( ) ( 2 ) ( ) ( 2 = + s y s y s x s xadic. 0 ) (~), (~= s c s c& & & Notmprint(s)vectorulvectorultangenteinpunctul ) (~s c M= )). ( ), ( ( ) (~) ( s y s x s c s E = = &

Panta normalei n M la curb este ) () (s ys xi versorul normalei are ecuaia(1, ) () (s ys x ).Notmprinn(s)versorulnormaleiavnd sensul pentru care baza ortonormat{t(s),n(s)} este la fel orientat cu baza canonic {e1,e2} din R2, adic m(s)= )). ( ), ( ( s x s y Vectoriim(s)i) (~s c& &fiindortogonalipet(s),J s ,sunt coliniari, putnd avea acelai sens sau sensuri opuse (Fig. 30, 31). Fig. 30Fig. 31 Fie k(s) factorul de proporionalitate al celor doi vectori) ( ) ( ) (~s n s k s c =& &(2.5.1) Trecnd la norm n (2.5.1) obinem: ) ( ) (~s k s c =& &(2.5.2) nmulind scalar cu n(s) fiecare membru din (2.5.1) obinem: VALERNIMINEGeometrie computaional118 ) ( ) ( ), (~s k s n s c =& & (2.5.3) Definiia2.5.1Numimcurburacurbein) (~s c M=numrul k(s) cu proprietatea c. ) (~) ( s c s k& &=Observaie.DacnpunctulMvectorii) (~s c& &i) (s n au acelai sens atunci curbura curbei n acest punct, este pozitiv (Fig. 31)iardacvectoriiausensuriopusecurburaestenegativ(Fig. 30). Din(2.5.3)obinemc,curburauneicurbeparametrizat natural de)) (~), (~( ) (~s y s x s c =este: ). (~) (~) (~) (~) ( s y s x s y s x s k =(2.5.4) Observaie.Dacschimbmsensuldeparcurspe,se schimb sensul versorului tangentei, deci i al normalei (pentru ca baza{t(s),n(s)}srmnlafelorientatcubazacanonic) rmnndneschimbatsensulvectoruluiacceleraie.Prinurmare prin schimbarea sensului de parcurs pe curb se schimb i sensul curburii. (Fig. 32, 33). Fig.32Fig. 33 ncontinuaredminterpretareageometricimecanica curburii unei curbe ntr-un punct. Propoziia2.5.2Fieocurb planparametrizat natural de) ( , :~2 2J C c R J c i) (s msuraunghiuluidintredirecia tangentei) (~s c&nM= ) (~s c ivectorule1=(1,0).Atuncicurbura curbei n M este) ( ) ( s s k = . (Fig. 34) VALERNIMINEGeometrie computaional119 Demonstraie. Fie)). (~), (~( ) (~s y s x s c =Atunci)) (~), (~( ) (~s y s x s c = ,), (~) ( cos s x s = ) (~) ( sin s y s = iar ) ( sin ) ( ) (~s s s x = (2.5.5) ) ( cos ) ( ) (~s s s y = . (2.5.6) nmulindegalitatea (2.5.5)cu) (~s y i(2.5.6) cu) (~s x exprimai ca mai sus obinem: ). ( )) ( sin ) ( )(cos ( ) (~) (~) (~) (~) (2 2s s s s s y s x s y s x s k = + = = Observaie.Curburacurbeintr-unpunct,k(s),msoar vitezadeschimbareadirecieilamomentulsavariabileicese mic pe , 0000) ( ) () (lims ss ss ks s = (2.5.7) Consecin. Relaia) ( ) ( s s k =ne permite s construim o curb plan avnd curbura prescris. VALERNIMINEGeometrie computaional120 ntr-adevrfieM J k : ofunciecontinupeintervalulJ i = . ) ( ) ( ds s k s Din Propoziia 2.5.2 rezult c: ) ) ( sin , ) ( cos ( ) (~, :~2 = ds c ds s s c R J c este parametrizarea natural a unei curbe avnd curbura k(s). Aceast curb este determinat pn la o rotaie de unghi sau o translaie de vector (c1,c2). ntr-adevr 2 1) ( sin ) (~, ) ( cos )