Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2009-04-13 18:42:54.
Revizia anterioară   Revizia următoare  

Transformări Geometrice

(Categoria Matematică, Autor Cosmin Negruşeri)

Introducere

În acest articol vom introduce câteva noţuni legate de transformările geometrice care se pot dovedi utile în concursurile de programare.

Înainte de toate prezentăm câteva aspecte teoretice, o mare parte din ele nefiind foarte interesante şi probabil sunt conţinute şi în manualele de liceu. Cititorul poate trece direct la probleme şi, în măsura în care noţiunile din soluţii îi sunt neclare, poate reveni asupra părţii teoretice.

Translaţia

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). Când 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:

  • păstrează distanţele;
  • pastrează orientarea poligoanelor (adică, dacă vârfurile poligonului sunt parcurse în ordine trigonometrică, atunci vârfurile 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:

  • păstrează distanţele;
  • păstrează orientarea poligoanelor (adică, dacă varfurile poligonului sunt parcurse în ordine trigonometrică, atunci vârfurile 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ă,  d = \displaystyle\frac{|a*x_{0} + b*y_{0} + c|}{\sqrt{a^2 + b^2}} , şi cu (m1, m2) cosinii directori ai vectorului n(a, b) normal la dreaptă. Valorile cosinilor directori sunt:  m_{1} = \displaystyle \pm \frac{a}{\sqrt{a^2 + b^2}} şi  m_{2} = \displaystyle \pm \frac{b}{\sqrt{a^2 + b^2}} . 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:

  • păstrează distanţele;
  • nu păstrează orientarea poligoanelor (adică, dacă varfurile poligonului sunt parcurse în ordine trigonometrică, atunci vârfurile 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) * cos(alfa) - (y – y0) * sin(alfa), y0 + (x – x0) * sin(alfa) + (y – y0) * cos(alfa)).

Proprietăţi:
* 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:

  • 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ă;

Desfăşurarea în plan

Aceasta nu este o transformare geometrică propriu-zisă, ci mai mult o tehnică folositoare în rezolvarea unor probleme pe care o puteţi vedea aplicată în problemele ce urmează ...

To do: de verificat teoria de aici. :)

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 = A’N pentru că triunghiul AA’N este isoscel având dreapta d şi înălţime şi mediană. Astfel, avem că AN + NB = A’N + NB, deci pentru ca să minimizăm suma AM + MB trebuie de fapt să minimizăm suma A’M + MB. Punctele A’ şi B sunt situate de părţi diferite ale dreptei, deci punctul M trebuie situat la intersecţia segmentului A’B 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 = A’M + MN + NB. Pentru a minimiza suma A’M + MN + NB’ trebuie ca M şi N să fie intersecţiile segmentului A’B’ cu semidreptele d1 şi d2.

Aplicaţia 3

Dându-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 = M’’N + NP + PM’. Ca să minimizăm această sumă, punctele P şi N trebuie să fie la intersecţia segmentului M’M’’ cu laturile AB, respectiv AC. Perimetrul triunghiului MNP va fi egal cu lungimea segmentului M’M’’. Observăm că unghiul M’AM’’ are măsura egală cu 2 * măsura unghiului BAC şi că triunghiul M’AM’’ e isoscel de latură egală cu AM. Pentru ca M’M’’ să aibă lungimea minimă trebuie ca AM să fie cât mai scurt. Acest segment este minim atunci când 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.