Documente Academic
Documente Profesional
Documente Cultură
Transla ia unei figuri geometrice reprezint mi carea tuturor componentelor ei pe o anumita distan si direc ie. Aceast transformare poate fi u or caracterizat de un vector v = (dx, dy). Cnd vrem s translat m un punct P(x, y) dup v, e de ajuns s facem opera ia P = P + v. Astfel, P are cooronatele (x + dx, y + dy). Propriet i:
y y
y y y y
p streaz distan ele; pastreaz orientarea poligoanelor (adic , dac vrfurile poligonului sunt parcurse n ordine trigonometric , atunci vrfurile corespondente din poligonul transformat vor fi i ele n ordine trigonometric ); p streaz unghiurile; o dreapt va fi transformat n alt dreapt paralel cu prima; nafar de transla ia trivial de vector v = (0, 0), aceast transformare nu are puncte fixe (adic orice punct va fi transformat ntr-un punct diferit); transla ii successive vor rezulta tot ntr-o transla ie (adic , dac vrem s translat m un punct dupa v i apoi dup v1, atunci ob inem acela i rezultat dac translat m direct dup v + v1); transla ia este comutativ ;
Simetria
Exist dou tipuri de simetrii: simetria fa de un punct i simetria fa a de o dreapt . Un punct A l are simetric pe A fa de un punct O, dac segmentul AA are ca mijloc punctul O. Dac avem un punct (x0, y0) c ruia vrem s i afl m simetricul fa de un punct de coordonate (x, y) atunci acesta va fi (2x x0, 2y y0). Propriet i:
y y
y y y y y
p streaz distan ele; p streaz orientarea poligoanelor (adic , dac varfurile poligonului sunt parcurse n ordine trigonometric , atunci vrfurile corespondente din poligonul transformat vor fi i ele n ordine trigonometric ); p streaz unghiurile; drepte paralele vor fi transformate n drepte paralele; are ca punct fix punctul O, iar drepte fixe cele care trec prin punctul O; simetrii succesive dup centre diferite O1(x1, y1) O2(x2, y2) sunt o transla ie de vector v = 2(x2 x1); simetriile dup un punct nu comut ;
S calcul m simetricul unui punct P(x0, y0) fa de o dreapt de ecua ie ax + by + c = 0. Not m cu d distan a de la punctul P la dreapt , , i cu (m1, m2) cosinii
directori ai vectorului n(a, b) normal la dreapt . Valorile cosinilor directori sunt: i . Vom alege semnul minus dac ax0 + by0 + c > 0 iar semnul plus dac ax0 + by0 + c < 0. Astfel, simetricul punctului P va avea coordonatele (x0 + 2*d*m1, y0 + 2*d*m2). Propriet i:
y y
y y y y y y
p streaz distan ele; nu p streaz orientarea poligoanelor (adic , dac varfurile poligonului sunt parcurse n ordine trigonometric , atunci vrfurile corespondente din poligonul transformat vor fi n sens orar); p streaz unghiurile; drepte paralele vor fi transformate n drepte paralele; are ca puncte fixe dreapta de simetrie; simetrii succesive dup drepte paralele sunt o transla ie; simetrii succesive dup drepte concurente sunt rota ii; simetriile nu comut ;
Rota ia
Aceasta este o transformare care rote te punctele n sens trigonometric n jurul unui punct numit centru de rota ie dup un unghi fixat numit unghi de rota ie. Dac avem rota ia de centru O(x0, y0) i unghi alfa, atunci imaginea unui punct P(x, y) va fi P(x0 + (x x0- (y y ) * cos(alfa)0) * sin(alfa), y0 + (x x0+ (y y ) * sin(alfa)0) * cos(alfa)). Propriet i:
y y y y y y y y
p streaz distan ele; p streaz orientarea poligoanelor; p streaz unghiurile; drepte paralele vor fi transformate n drepte paralele; dac nu este o rota ie trivial de unghi 0 atunci are ca punct fix centrul de rota ie; nu are drepte fixe, dar are cercuri fixe centrate n centrul de rota ie; dou rota ii succesive R1(O1, alfa) i R2(O2, beta) se compun ntr-o transla ie sau o rota ie R3(O3, alfa + beta); n general rota iile nu comut ;
Omotetia
Aceasta este o transformare ce scaleaz obiectele n func ie de un centru de omotetie i un raport. Un punct P(x, y) transformat dup o omotetie H(O(x0, y0), k) (centru O i raport k) va avea imaginea P(x0 + k * (x - x0), y0 + k * (y - y0)). Propriet i:
y y y y y y y
nu p streaz distan ele; p streaz orientarea poligoanelor; p streaz unghiurile; drepte paralele vor fi transformate n drepte paralele, iar transformata unei drepte va fi paralel cu dreapta; are ca punct fix centrul de omotetie; dou omotetii succesive H1(O1, k1) i H2(O2, k2) se compun ntr-o transla ie sau omotetie H3(O3, k1 + k2); n general omotetiile nu comut ;
Aplica ia 1
Fie dou puncte A i B de aceia i parte a unei drepte d. Se cere s se determine un punct M pe dreapta d cu proprietatea c suma AM + MB e mininim .
Rezolvare:
Ducem simetricul punctului A fa de dreapta d pe care l not m cu A. Oricare ar fi un punct N pe dreapta d, AN = AN pentru c triunghiul AAN este isoscel avnd dreapta d i n l ime i median . Astfel, avem c AN + NB = AN + NB, deci pentru ca s minimiz m suma AM + MB trebuie de fapt s minimiz m suma AM + MB. Punctele A i B sunt situate de p r i diferite ale dreptei, deci punctul M trebuie situat la intersec ia segmentului AB cu dreapta d.
Aplica ia 2
Fie dou puncte A i B n interiorul unui unghi format de semidreptele d1 i d2 care au cap tul comun O. Se cere s se determine dou puncte M i N astfel ca M s apar in lui d1 i N s apar in lui d2 iar suma AM + MN + NB s fie minim .
Rezolvare:
Folosim aceea i idee: ducem simetricul punctului A, notat cu A, fa de dreapta d1 i simetricul punctului B notat cu B fa de dreapta d2. Orice puncte M i N am alege, avem c AM + MN + NB = AM + MN + NB. Pentru a minimiza suma AM + MN + NB trebuie ca M i N s fie intersec iile segmentului AB cu semidreptele d1 i d2.
Aplica ia 3
Dndu-se un triunghi ascu itunghic ABC se cere s se determine un triunghi nscris n acesta de perimetru minim.
Rezolvare:
Lu m un punct M pe baza BC a triunghiului ABC, un punct P pe latura AB i un punct N pe latura AC. Dac avem M simetricul lui M fa de AB i M simetricul lui M fa de AC, atunci MN + NP + PM = MN + NP + PM. Ca s minimiz m aceast sum , punctele P i N trebuie s fie la intersec ia segmentului MM cu laturile AB, respectiv AC. Perimetrul triunghiului MNP va fi egal cu lungimea segmentului MM. Observ m c unghiul MAM are m sura egal cu 2 * m sura unghiului BAC i c triunghiul MAM e isoscel de latur egal cu AM. Pentru ca MM s aib lungimea minim trebuie ca AM s fie ct mai scurt. Acest segment este minim atunci cnd M este piciorul nal imii din A. La fel putem s deducem c N este piciorul n l imii din B, iar P este piciorul n l imii din C. Astfel, solu ia de perimetru minim este triunghiul ortic.
Rezolvare:
Este evident c o solu ie optim va fi format din cinci segmente. Putem ncerca toate ordinele posibile ale drumului liniei frnte, fiind 4! = 24 asemenea ordini. Pentru fiecare ordine c ut m drumul optim. Acesta poate fi g sit folosind trucul prezentat n problemele anterioare. S lu m un exemplu: pentru punctele A(1, 2) i B(1,3) i dreptunghiul de dimensiuni 4 i 3, lu m punctele M, N, P, Q pe laturile din stnga, jos, dreapta respectiv sus ale dreptunghiului astfel nct s minimiz m suma AM + MN + NP + PQ + QB. Acum, vom duce simetricul lui A, notat cu A, fa de latura din stnga i simetricul lui B, notat cu B, fa de latura de sus. Avem c AM = AM i QB = QB. Deci, ca s minimiz m suma AM + MN + NP + PQ + QB trebuie s minimiz m suma AM + MN + NP + PQ + QB. Vom duce simetricul lui A, notat prin A, fa de latura de jos, i simetricul lui B, notat prin B, fa de latura din dreapta. Avem c AM + MN <= AN i c PQ + QB <= QB, deci ob inem c pentru a minimiza suma AM + MN + NP + PQ + QB trebuie s minimiz m suma AM + MN + NB. Putem realiza acest obiectiv dac M i N vor fi intersec iile segmentului AB cu latura de jos, respectiv latura din dreapta a dreptunghiului, iar solu ia este exact distan a de la A la B.
Laturile unui teren dreptunghiular de biliard de dimensiuni 43 73 sunt etichetate cu literele A, R, Z, D. O bil B (dimensiunile c reia pot fi ignorate) este plasat n interiorul acestui teren la 13 centimetri distan de latura R i la 29 de centimetri distan de latura D. Un juc tor i pune tacul pe latura R la un punct ce e situat la K centimetri distan de latura D i love te direct bila B. Bila se mi c drept i dac e cazul love te marginile terenului. Mi carea bilei se supune legilor fizicii, astfel, cnd bila se love te de margine ea va avea o traiectorie simetric cu traiectoria ini ial fa de dreapta perpendicular pe margine n punctul de impact. O parte din traiectoria bilei o pute i vedea n figur . Problema esta pentru un num r fix K (0 K 73) i N (0 N 109). S se determine distan a bilei fa de latura R i distan a fa de latura D, dup ce bila s-a deplasat exact N centimetri.
Rezolvare:
O rezolvare bazat pe simularea mi c rii bilei pare anevoioas , iar din cauza faptului c N poate fi foarte mare, acest algoritm nu este eficient. O rezolvare elegant este urm toarea. nti umplem planul cu o gril infinit de dreptunghiuri de dimensiuni 43 73. Dac am l sa ca bila s i continue mi carea i am ignora prima lovire a marginii, n terenul adiacent, atunci traiectoria bilei ar fi de la trecerea marginii simetric cu traiectoria normal a bilei, deci ar fi ca i cum am reflecta ntreaga tabl . Acest fenomen se repet de fiecare dat cnd atingem o margine. Astfel, dac ducem un segment pe direc ia de deplasare a bilei, ce pleac din B, de lungime N, i se termin n C atunci putem vedea n ce dreptunghi este el inclus, i n func ie de acest dreptunghi s transform m punctul C n pozi ia final a bilei n dreptunghiul ini ial.
Programatorului Vasile i place s se plimbe prin biroul lui dreptunghiular. El ncepe drumul din locul unde este situat biroul lui i se plimb pn cnd crede c ar trebui s se apuce de lucru din nou. Drumul lui urmeaz legea de mi care dat de unghiul de inciden este egal cu unghiul de reflexie. Vasile se mi c de la zid la zid n linie dreapt . eful direct al lui Vasile este interesat ct timp pierde acesta n plimb rile lui. Este u or s afl m timpul, mp r ind distan a parcurs la viteza medie a lui Vasile (aceasta a fost deja calculat de ef), deci trebuie s se afle distan a parcurs . Se tie ordinea n care au fost atin i pere ii ntruct Vasile, fiind neatent, se love te de pere i i astfel se aud bufniturile n fiecare zid. Se dau dimensiunile camerei lui Vasile: W i D (0 W, D 100), pozi ia ini ial , pozi ia final i secven a de litere N, S, E, V care este ordinea n care sunt atin i pere ii. De exemplu, n imagine pere ii sunt atin i n ordinea NVEVES. Num rul de coliziuni nu dep este 1000, pozi iile ini iale i finale nu se afl pe marginile dreptunghiului, iar drumul lui Vasile nu va trece prin vreun col al nc perii.
Rezolvare:
Precum n problema anterioar , cnd Vasile atinge un perete mi carea lui se oglinde te fa de mi carea normal . Vom procesa fiecare instruc iune din irul n care e prezentat ordinea atingerii pere ilor. O instruc iune va nsemna o reflexie a dreptunghiului curent i a punctului destina ie al lui Vasile. Dup ce vom procesa toate coliziunile ob inem dreptunghiul final i punctul de destina ie transformat n interiorul acestui dreptunghi. Acum linia frnt care unea punctul de start s-a transformat ntr-un segment de dreapt ntre punctul de start i imaginea punctului final dup ce s-a realizat asupra lui seria de transform ri.
Rezolvare:
Solu ia folose te ideea de mai sus de a reflecta tabla de biliard mpreun cu pozi ia celei de a doua bile. A a cum am v zut n problema anterioar , fiecare ir de atingeri al mantelor ne d exact un mod n care prima bil o poate lovi pe cea de a doua. Dac tim n ce dreptunghi reflectat vrem s lovim bila a doua, fixnd acest dreptunghi, avem o direc ie fixat i un ir de mante fix pe care le va atinge bila dac va fi lovit n acea direc ie. n figur avem cazul n care trebuie s lovim exact dou mante nainte s atingem a doua bil . n desen am colorat cu negru bila ini ial i cu alb a doua bil i imaginile ei. Cu linie punctat am desenat traiectoriile care ar fi atins bila a doua f r a atinge de dou ori manta i cu linie neagr direc iile pe care manta ar fi atins exact de dou ori. Observ m c pentru a atinge manta de N ori o bil trebuie s intre n N alte dreptunghiuri. Deci, asociem pozi iilor dreptunghiurilor un sistem de coordonate n care dreptunghiul ini ial are coordonatele (0, 0). Pentru ca bila s ating exact N mante, coordonatele (x, y) ale dreptunghiului trebuie s satisfac egalitatea |x| + |y| = N. Mai trebuie s avem grij ca drumul bilei care atinge N mante s nu ating a doua bil nainte de atingerea tuturor mantelor. Aceste observa ii ne duc la urm toarea solu ie: pentru toate dreptunghiurile (x, y), care satisfac proprietatea |x| + |y| < N, p str m ntr-o structur de date (structura preferat de autor ar fi un tabel de dispersie) vectorul asociat direc iei pe care ar fi trebuit lovit prima bil pentru a ajunge la imaginea celei de a doua bile din acest dreptunghi. Apoi, pentru fiecare dreptunghi pentru care |x| + |y| = N, dac direc ia asociat lui nu este n structura de date, increment m num rul de solu ii. Aceast rezolvare are complexitatea O(N2 log N) pentru c normalizarea unei direc ii implic folosirea algoritmului lui Euclid ce are complexitate O(log N).
lungime 50 centimetri. Pentru ca lovitura s aib succes, traiectoria ei nu trebuie s intersecteze niciun juc tor. Pentru simplitate, pute i presupune c terenul este perfect dreptunghiular. Se cere unghiul format de lovitura juc torului cu linia de mijloc, astfel ca lovitura s fie cu succes i pucul s intre n poart i s fie ct mai apropiat de stlpul drept al por ii. Structura unui teren de hockey este prezentat n urm toarea figur :
Rezolvare:
O rezolvare posibil ar fi s pornim cu o lovitur de un unghi fixat i s vedem dac ajunge n poart , iar apoi s cre tem unghiul loviturii pu in cte pu in. Prin folosirea unor considera ii de simetrie putem rezolva problema mai u or i mai eficient. Oglindim terenul mpreun cu to i juc torii. Astfel, transform m lovitura din dou segmente n unul singur care trece prin dreapta de simetrie. Acum, lu m fiecare punct lateral al juc torilor, fiecare punct lateral al imaginii reflectate ale juc torilor i punctele por ii reflectate, i unim aceste puncte cu punctul de unde juc torul va lovi pucul. Verific m care dintre aceste drepte dac sunt rotite foarte pu in la dreapta sau la stnga intersecteaz imaginea por ii reflectate i nu intersecteaz segmentele ce reprezint juc torii sau imaginea lor reflectat . Astfel, solu ia noastr are complexitatea O(N2) unde N este num rul de juc tori, pentru c pentru fiecare dintre cele 4N + 2 raze trebuie s verific m intersec ia cu 2N + 1 segmente. Pe acest idee putem realiza o solu ie n O(N log N) folosind o linie de baleiere care trece prin punctul ini ial si se mi c circular n jurul lui.
Se dau coordonatele mijloacelor laturilor unui poligon nu neap rat convex i care se poate autointersecta. Se cere s se determine coordonatele vrfurilor poligonului.
Rezolvare:
Consider m c poligonul are N vrfuri. Rezolv m problema nti pentru N par. Lu m primul vrf al poligonului, i i determin m simetricul fa de primul mijloc de latur . Astfel g sim al doilea vrf. Dac lu m al doilea vrf printr-o simetrie l ob inem pe al treilea .a.m.d. Deci prin N simetrii ob inem din nou primul punct. Cum N este par fiecare dou simetrii compuse sunt o transla ie, deci avem o serie de transla ii care se compun ntr-una care duce punctul ini ial n punctul ini ial. A a cum am vazut la partea teoretic transla ia are un punct fix doar dac ea e transla ie trivial . Transla ia fiind trivial , putem porni cu orice punct din plan i s ob inem celelalte N + 1 puncte din poligon ca i rezultate ale simetriilor aplicate succesiv. n cazul n care N e impar transformarea explicat mai sus are ca rezultat compunerea ntre o transla ie i o simetrie, compunere care a a cum pute i verifica are ca rezultat o simetrie de alt centru. Dar punctul ini ial este transformat n acela i punct, deci el trebuie s fie centrul de simetrie al transform rii compuse. i, atunci lu m un punct oarecare P n plan, efectu m cele N transform ri asupra lui i ob inem un punct P. Primul punct al poligonului va fi mijlocul acestui segment.
Rezolvare:
Axele de simetrie ale sistemului de puncte trebuie s fie i axe de simetrie pentru poligonul ce reprezint nf ur toarea convex a acestor puncte. Dac vrem s g sim axele de simetrie ale unui poligon convex, observ m c dac el are num r par de vrfuri, atunci trebuie ca acestea sau s fie mediatoare pentru o latur a poligonului, sau s treac prin dou vrfuri. Dac el are num r impar de laturi atunci axele de simetrie trebuie s fie mediatoare pentru o latur i s treac printr-un punct al poligonului. Astfel, dup calcularea n O(N log N) a nf ur torii convexe, putem afla n timp O(N) care sunt candidate la axa de simetrie a poligonului. Verificarea faptului dac o dreapt este ax de simetrie pentru un set de puncte o putem face n O(N) folosindu-ne de o tabel de dispersie. Algoritmul de determinare a axelor de simetrie are complexitatea final O(N2).
Rezolvare
Pentru aceast problem ne putem imagina o solu ie analitic n care vrem s minimiz m func ia AM + MG care depinde de coordonata y, dar o asemenea rezolvare nu ar fi fost accesibil unui elev de clasa a VIII-a. O solu ie elegant i simpl este urm toarea. Desf ur m n plan fe ele ABFE i BCGD. Astfel se formeaz dreptunghiul ACGE, unde AC = 9 i AE = 3. Acum este clar c punctul M trebuie s fie intersec ia diagonalei AG cu FB. De aici putem g si foarte u or c BM = 5/3.
Aplica ia 12 (TopCoder)
Pe partea frontal a unui zgrie-nor foarte nalt, ce are forma unui paralelipiped, cu baza un p trat de latura 200 de metri, este situat un p ianjen. Acesta vrea s m nnce o musc situat pe fa a din dreapta a zgrie-norului. tiind coordonatele p ianjenului i ale mu tei vi se cere s determina i drumul cel mai scurt pe care l poate face p ianjenul ca s m nnce musca iar ntreaga deplasare a lui s fie pe suprafa a zgrie-norului (coordonatele gng niilor se m soar relativ la col ul stnga sus al fe ei pe care se afl fiecare).
Rezolvare:
Desf ur m paralelipipedul n toate modurile posibile (a a cum vedem n figur ) i alegem dintre toate drumurile solu ia optim .
Aplica ia 13
Se d un triunghi ABC i trei drepte d1, d2 i d3 care nu sunt paralele ntre ele dou cte dou . Se cere s se determine un triunghi nscris n triunghiul ABC ce are laturile paralele cu dreptele d1, d2 respectiv d3.
Rezolvare:
Construim un triunghi DEF ce are laturile paralele cu dreptele d1, d2 i d3, iar punctul E apar ine semidreptei [AC i punctul F apar ine semidreptei [AB. Acum fix m un punct D n intersec ia lui AD cu BC i n acest punct ducem dou drepte paralele cu dreptele d1 i d2. Aceste drepte vor intersecta laturile triunghiului n punctele F i E. n omotetia de centru A i raport AD / AD triunghiul DEF se transform n DEF, care este un triunghi ce respect condi ia din enun .
Rezolvare:
Pornim de la presupunerea intuitiv c cel mai mare p trat ce se poate plasa n interiorul unui triunghi trebuie s aib una din laturi pe o latur a triunghiului. Astfel, pentru a determina p tratul de arie maxim avem trei posibilit i de a ezare pe laturile triunghiului. Pentru o a ezare fixat putem afla u or p tratul maxim din interiorul triunghiului ce are dou varfuri pe latura BC. O modalitate ar fi s desen m un p trat MNPQ ce are punctele Q i P pe semidreapta [BC i punctul M pe semidreapta [BA. Dup care, lu m punctul N ca intersec ie a dreptei BN cu AC. G sim p tratul MNPQ ca fiind omoteticul p tratului MNPQ dup omotetia de centru B i raport BN / BN. Alt modalitate de construc ie a p tratului ar fi cea prezentat n a doua figur , adic : se construie te n exterior, pe latura BC a triunghiului, un p trat BCQP, se determin punctele P i Q ca i intersec ii al segmentului AQ cu BC i al segmentului AP cu BC. P tratul MNPQ va fi omoteticul p tratului BCPQ, dup omotetia de centru A i raport QP / BC.
Se dau coordonatele a dou vrfuri ale unui poligon regulat de N laturi. Se cere, dac ti i pe N, cele dou perechi de coordonate i N1, N2 indicii celor dou puncte pe poligon, s determina i coordonatele tuturor celor N vrfuri.
Rezolvare:
Fie O centrul cercului circumscris poligonului regulat. Dac not m A i B cele dou puncte, atunci putem u or s determin m m sura unghiului AOB pe care o not m cu alfa. Triunghiul AOB este isoscel i tim c are la baz unghiuri de m sur beta = (180 alfa) / 2. Pentru a determina punctul O vom roti dreapta AB n jurul lui A dup un unghi beta, i vom roti dreapta AB n jurul lui B dup un unghi beta. Cele dou drepte ce rezult din cele dou rota ii se vor intersecta n punctul O. Astfel, am g sit centrul cercului circumscris poligonului, pentru a g si punctele lui i aplic m vrfului A rota iile de centru O i unghiuri 360K/N unde K ia toate valorile naturale de la 1 la N.
Rezolvare:
A a cum am v zut n partea teoretic , o compunere de mai multe rota ii are ca rezultat o rota ie al c rei unghi este suma unghiurilor rota iilor par iale. Dac pornim cu punctul A1 i l rotim n jurul lui M1 cu un unghi alfa1, dup care lu m punctul rezultat i l rotim n jurul lui M2 cu unghiul alfa2 i a a mai departe pn cnd am rotit pe A1 n punctelor M1, M2, ... Mn. Efectund ace ti pa i vom ob ine pe rnd vrfurile poligonului, iar la sfr it A1 va ajunge din nou n pozi ia ini ial . Acest procedeu este de fapt o serie de rota ii, i vedem c aplicarea lui asupra lui A1 l las neschimbat. Cum suma m surilor unghiurilor de rota ie nu este multiplu de 360 de grade, nseamn c rota ia nu este trivial , iar o rota ie netrivial are ca punct fix doar centrul ei. A adar putem lua un punct oarecare n plan asupra c ruia aplic m procedeul i vom ob ine imaginea lui. Folosind aceste dou puncte i alfa = suma de alfai ca unghi de rota ie, putem determina centrul A1 de rota ie. Dup care efectund transform rile asupra lui A1 ob inem celelalte puncte ale poligonului.
Se d un poligon convex de N vrfuri (3 N 700). Se cere s se determine un triunghi echilateral cu vrfurile apar innd laturilor poligonului convex.
Rezolvare:
Lu m un punct O pe o latur a poligonului. Rotim ntreg poligonul n jurul acestui punct 60 de grade n sens trigonometric. Poligonul rotit va intersecta poligonul ini ial ntr-un nou punct B. Acest punct B l rotim n jurul lui O cu 60 de grade n sens orar. Rezultatul este un punct B care evident apar ine poligonului ini ial. Acum triunghiul OBB este echilateral pentru c OB = OB i m sura unghiului BOB este de 60 de grade. Men ion m c aceasta a fost una dintre cele mai dure probleme de la selec ia lotului de anul acesta. O rezolvare de complexitate O(N2) a fost de ajuns pentru punctajul maxim, dar facem observa ia c intersec ia a dou poligoane convexe se poate face n complexitate O(N).
Rezolvare:
matrici. Dac vrem s rotim punctul Folosim scrierea opera iilor de transla ie si rota ie ca produs de (x, y) n jurul punctului de coordonate (0, 0) dup un unghi atunci putem scrie:
Astfel transformarea pentru un punct devine un produs de matrici care la sfr it se nmul e te cu un vector ce reprezint coordonatele punctului pe care vrem s l transform m. Pentru c transformarea compus este aceea i pentru fiecare dintre cele N puncte, determin m matricea care o reprezint o singur dat i apoi o putem aplica pe rnd fiec rui punct. Algoritmul are complexitatea O(N + M). Men ion m c o problem similar apare pe SGU sub numele de wizards, diferen a fiind c acolo opera iile sunt n spa iul tridimensional, dar rezolvarea este aproape identic .
Bibliografie
1. Nicolescu, Boskoff, Probleme practice de geometrie, Ed. Tehnic , Bucure ti, 1990