Curbe s¸i suprafet¸e ˆın grafic˘a s¸i designul geometric
Note de curs
Paul A. Blaga
2
Cuprins
1 Transform˘ari geometrice ˆın plan 5
1.1 Generalit˘at¸i . . . 5
1.2 Reprezentarea geometriei bidimensionale. Coordonate omogene ˆın plan . . . 5
1.3 Translat¸ii . . . 7
1.4 Scalarea ˆın raport cu originea . . . 8
1.5 Reflexiile ˆın raport cu axele de coordonate . . . 10
1.6 Rotat¸ia ˆın jurul originii . . . 11
1.7 Forfecarea fat¸˘a de origine . . . 13
1.8 Scalarea fat¸˘a de un punct oarecare . . . 14
1.9 Rotat¸ia fat¸˘a un punct oarecare . . . 14
1.10 Reflexia fat¸˘a de o dreapt˘a oarecare . . . 15
1.11 Forfecarea relativ la un punct oarecare . . . 17
1.12 Probleme . . . 17
2 Transform˘ari geometrice ˆın spat¸iu 19 2.1 Convent¸ii . . . 19
2.2 Scalarea . . . 19
2.3 Translat¸ia . . . 20
2.4 Reflexiile fat¸˘a de planele de coordonate . . . 20
2.5 Rotat¸iile fat¸˘a de axele de coordonate . . . 21
2.6 Rotat¸ii fat¸˘a de axe oarecare . . . 23
2.7 Scalarea fat¸˘a de un punct oarecare . . . 25
2.8 Reflexia fat¸˘a de un plan oarecare . . . 25
2.9 Probleme . . . 29
3 Curbe B´ezier s¸i B-spline 31 3.1 Curbe polinomiale ˆın forma lui B´ezier . . . 31
3.2 Algoritmul lui de Casteljau . . . 32 3
4 Cuprins
3.3 Calculul derivatelor unei curbe B´ezier . . . 38
3.4 Precizia liniar˘a s¸i ridicarea gradului . . . 41
3.5 Subdivizarea s¸i mics¸orarea variat¸iei . . . 43
3.6 Forma polar˘a a funct¸iilor polinomiale . . . 44
3.7 Curbe B-spline . . . 51
4 Suprafet¸e B´ezier s¸i B-spline 57 4.1 Suprafet¸e produs tensorial . . . 57
4.1.1 Introducere . . . 57
4.1.2 Suprefet¸e B´ezier produs tensorial . . . 57
4.2 Derivarea suprafet¸elor B´ezier produs tensorial . . . 59
4.3 Suprafet¸e B-spline produs tensorial . . . 60
4.3.1 Derivarea unei suprafet¸e B-spline produs tensorial . . . 61
4.4 Suprefet¸e B´ezier triunghiulare . . . 62
5 Curbe s¸i suprafet¸e rat¸ionale 65 5.1 Geometrie proiectiv˘a. Coordonate omogene . . . 65
5.2 Curbe B´ezier s¸i B-spline rat¸ionale . . . 67
5.3 Suprafet¸e B´ezier s¸iB-spline produs tensorial rat¸ionale . . . 69
CAPITOLUL 1
Transform ˘ari geometrice ˆın plan
1.1 Generalit˘at¸i
ˆIn multe dintre c˘art¸ile de grafic˘a pe calculator, transform˘arile geometrice ˆın plan se studiaz˘a ˆımpreun˘a cu cele ˆın spat¸iu sau chiar sunt tratate ca un caz particular al celor tridimensionale. Exist˘a, dup˘a p˘arerea autorului, motive suficiente ca acestor transform˘ari s˘a li se atribuie un spat¸iu corespunz˘ator. ˆIn primul rˆand, pentru student¸ii cu put¸ine cunos¸tint¸e de geometrie, este mult mai us¸or de ˆınt¸eles s¸i de vizualizat, ˆıntr-o prim˘a etap˘a, modul ˆın care act¸ioneaz˘a transform˘arile ˆın plan, urmˆand ca apoi s˘a se abordeze trans- form˘arile spat¸iale. Pe de alt˘a parte, chiar ˆın grafica tridimensional˘a transform˘arile plane joac˘a un rol important, ˆıntrucˆat instrumentele pe care se vizualizeaz˘a grafica sunt, ˆın esent¸˘a, bidimensionale.
1.2 Reprezentarea geometriei bidimensionale. Coordonate omogene ˆın plan
Dup˘a cum am v˘azut mai devreme, ˆın acest curs, forma s¸i dimensiunile obiectelor plane sunt caracteri- zate prin descrieri numerice bidimensionale, legate de un sistem de coordonate, de obicei sistemul de coordonate cartezienexOy. Elementul de baz˘a al oric˘arui model bidimensional este punctul. Dup˘a ce o figur˘a geometric˘a este reprezentat˘a prin intermediul punctelor sale, putem aplica acestora un set de transform˘ari geometrice care, ca efect, vor modifica pozit¸ia s¸i forma figurii. ˆIn figura??, de exemplu, este reprezentat un triunghi ABC prin intermediul coordonatelor vˆarfurilor sale. Convent¸ia pe care o vom adopta, de acum ˆıncolo, ˆın toate aplicat¸iile pe care le vom face, este c˘a fiecare punct este reprezentat ca vectorul coloan˘a al coordonatelor sale. Dac˘a avem un poligon cunvˆarfuri, acesta va fi reprezentat ca o matrice cuncoloane s¸i dou˘a linii. Astfel, un triunghi va fi reprezentate printr-o matrice
[P]Triunghi =
x1 x2 x3
y1 y2 y3
.
5
6 Capitolul 1. Transform˘ari geometrice ˆın plan
1 2 3 4 y 5
1 2 3 4
x O
A(1,1) B(1.5,4)
C(4,3)
Notat¸ia matricial˘a este foarte util˘a pentru definirea s¸i manipularea geometriei ˆın grafica pe calculator.
Ar fi foarte util, din acest motiv, ca toate transform˘arile geometrice s˘a poat˘a fi reprezentate sub aceast˘a form˘a, cu alte cuvinte, aplicarea unei transform˘ari geometrice asupra unei figuri s˘a se reduc˘a la ˆınmult¸irea matricei asociate transform˘arii cu matrica asociat˘a figurii. Din p˘acate, acest lucru nu este posibil, atˆata vreme cˆat punctele sunt descrise prin intermediul coordonatelo lor obis¸nuite, adic˘a cele carteziene. Moti- vul este c˘a, des¸i majoritatea transform˘arilor geometrice elementare sunt descrise prin ˆınmult¸iri de matrici, translat¸ia, de exemplu, este descris˘a prin adunarea vectorial˘a. Din fericire, aceast˘a problem˘a poate fi re- zolvat˘a relativ us¸or, pret¸ul pl˘atit fiind utilizarea unui alt sistem de coordonate, care utilizeaz˘a as¸a-numitele coordonate omogene.
Reprezentarea punctelor ˆın coordonate omogene furnizeaz˘a o abordare unitar˘a a transform˘arilor ge- ometrice. Pentru a ˆınt¸elege coordonatele omogene, s˘a ne ˆınchpuim un punctP1(x1, y1), undex1 s¸iy1
sunt coordonatele carteziene bidimensionale ale punctului. PunctulP1 poate fi privit ca fiind un punct dinR3, din planulz = 1, cu alte cuvinte, avemP1 =P1(x1, y1,1). Punctele de pe dreapta care unes¸te P1 cu originea sistemului de coordonate, pot fi descrise prin intermediul unui parametru real h, astfel ˆıncˆat:
P(x, y, z) =P(hx1, hy1, h).
Orice punct din plan poate fi reprezentat prin unul dintre punctele de-a lungul acestei drepte din spat¸iul tridimensional, cu except¸ia originii, care corespunde luih = 0. Coordonatele ordinare corespund punc- tului unde dreapta intersecteaz˘a planulz= 1. Diferite puncte din plan sunt reprezentate prin drepte prin origine diferite.
ˆIn coordonate omogene, prin urmare, un punct este reprezentat sub formaP(hx, hy, h). S˘a consi- der˘am, de exemplu, punctul P(2,4), ˆın coordonate carteziene bidimensionale obis¸nuite. Urm˘atoarele reprezent˘ari omogene identific˘a, toate, acelas¸i punct:P(4,8,2),P(6,12,3),P(2,4,1). Date fiind coor- donatele omogene ale unui punct,P(m, n, h), coordonatele carteziene obis¸nuite pot fi determinate din
1.3. Translat¸ii 7 reprezentarea omogen˘aP(m/h, n/h,1). Se obt¸ine
x= m h, y= n
h.
Atunci cnd se utilizeaz˘a coordonate omogene, punctele din spat¸iul bidimensional sunt reprezentate prin matrici de tip[3×n], undeneste num˘arul de puncte care definesc figura geometric˘a ˆın cauz˘a. ˆIn cazul unui triunghi, se obt¸ine:
[P]Triunghi =
x1 x2 x3 y1 y2 y3
1 1 1
.
1.3 Translat¸ii
1 2 3 y 4
1 2 3 4
x O
Figura 1.1: Un patrulater s¸i translatatul s˘au de vectorv(1,1), variat¸ia vectorilor de pozit¸ie
Se numes¸tetranslat¸iede vectorv(h, k)o aplicat¸ie care asociaz˘a unui punctA(x, y)un punctA0(x0, y0) astfel ˆıncˆat:
rA0 =rA+v (1.3.1)
sau, pe componente
x0=x+h, y0=y+k. (1.3.2)
Prin convent¸ie, relat¸ia (1.3.1) se va scrie, de acum ˆıncolo, sub forma:
A0 =A+v. (1.3.3)
O translat¸ie de vectorv(h, k)se noteaz˘a cuT(h, k)s¸i e considerat˘a ca fiind o aplicat¸ieT(h, k) :R2 → R2, dat˘a prin
T(h, k)(x, y) = (x+h, y+k). (1.3.4)
8 Capitolul 1. Transform˘ari geometrice ˆın plan
ˆIn limbajul matricial, translat¸ia de vectorv(h, k)asociaz˘a unui punctA(x, y)un punctA0(x0, y0)astfel ˆıncˆat
x0 y0
= x
y
+ h
k
(1.3.5) Dac˘a utiliz˘am coordonate omogene, atunci translat¸ia se poate reprezenta sub form˘a matricial˘a:
x0 y0 1
=
1 0 h 0 1 k 0 0 1
x y 1
, (1.3.6)
dup˘a cum se poate verifica us¸or, efectuˆand ˆınmult¸irile matriciale. ˆIcele ce urmeaz˘a, vom utiliza pentru matricea omogen˘a asociat˘a unei translat¸ii aceeas¸i nitat¸ie ca s¸i pentru translat¸ia ˆıns˘as¸i, adic˘a vom pune:
T(h, k) =
1 0 h 0 1 k 0 0 1
. (1.3.7)
ˆIn figura 1.3 se poate observa cum act¸ioneaz˘a translat¸ia de vectorv(1,1)asupra unui patrulater de vˆarfuriA(.5,3), B(1,1), C(2, .5), D(3,2.5). Am indicat, de asemenea, pe figur˘a, modul cum se trans-
form˘a vectorii de pozit¸ie ai vˆarfurilor patrulaterului. Imaginile vˆarfurilor sunt puncteleA0(1.5,4), B0(2,2)C0(3,1.5), D0(4,3.5).
Se pot demonstra cu us¸urint¸˘a urm˘atoarele propriet˘at¸i ale translat¸iei:
(i) Orice translat¸ieT(h, k)este o biject¸ie, iar inversa ei este o translat¸ie,T(−h,−k).
(ii) Mult¸imea tuturor translat¸iilor din plan formeaz˘a un grup ˆın raport cu compunerea aplicat¸iilor, ele- mentul neutru fiind aplicat¸ia identic˘a, egal˘a, de fapt, cuT(0,0).
(iii) Translat¸iile suntizometrii(p˘astreaz˘a distant¸ele dintre puncte).
(iv) Grupul translat¸iilor este comutativ (adic˘a dac˘a aplic˘am unui punct dou˘a translat¸ii succesive, nu conteaz˘a ordinea ˆın care le aplic˘am)1.
1.4 Scalarea ˆın raport cu originea
Scalarea ˆın raport cu originea este, ca s¸i translat¸ia, o transformare foarte simpl˘a. Ea se defines¸te ca fiind o aplicat¸ieS(sx, sy) :R2 →R2, astfel ˆıncˆat pentru orice(x, y)∈R2, s˘a avem
S(sx, sy)(x, y) = (sx·x, sy·y). (1.4.1) Aici sx, sy sunt numere reale nenulecare se numescfactori de scar˘a. Dac˘a un factor de scar˘aseste astfel ˆıncˆat|s|>1, atuncisse numes¸tem˘arire, ˆın timp ca dac˘a|s|<1,sse numes¸temics¸orare. Dac˘a sx = sy, vom spune c˘a scalarea esteuniform˘a. O scalare uniform˘a de factor de scal˘a pozitiv se mai numes¸te, uneori,magnificare.
1Atent¸ie! Aceast˘a remarc˘a nu este specific˘a tuturor transform˘arilor geometrice. ˆIn general, dac˘a aplic˘am unui punct o secvent¸˘a de transform˘ari geometrice, ordinea ˆın care le aplic˘am este, de regul˘a, esent¸ial˘a.
1.4. Scalarea ˆın raport cu originea 9 S¸i ˆın cazul scal˘arii, aplicat¸ia se poate reprezenta matricial. De aceasta dat˘a, avem de-a face cu o aplicat¸ie liniar˘a, c˘areia ˆıi putem asocia o matrice, pe care o vom nota cu acelas¸i simbol ca s¸i aplicat¸ia, anumeS(sx, sy). Coloanele matricii aplicat¸iei vor fi imaginile vectorilor bazei luiR2, adic˘a ale vectorilor (1,0),(0,1). Prin urmare, vom avea
S(sx, sy) =
sx 0 0 sy
.
Aceasta ˆınseamn˘a c˘a imaginea prin scalare a unui punctA(x, y)va fi un punctA0(x0, y0)astfel ˆıncˆat s˘a
avem
x0 y0
=S(sx, sy)· x
y
≡
sx 0 0 sy
· x
y
(1.4.2) S¸i aici, ca s¸i ˆın cazul translat¸iei, vom prefera s˘a utiliz˘am coordonate omogene, ceea ce ˆınseamn˘a c˘a matricea scal˘arii se va scrie (utiliz˘am aceeas¸i notat¸ie!):
S(sx, sy) =
sx 0 0
0 sy 0
0 0 1
. (1.4.3)
Exemplul 1.1. Pentru exemplificare, vom considera, din nou, patrulaterul studiat ˆın cazul translat¸iei, ABCD, cuA(0.5,3), B(1,1), C(2,0.5), D(3,2.5)s¸i ˆıi vom aplica, de data aceasta, o scalare de factori sx= 2, sy = 1.5. Conform relat¸iei (1.4.2), imaginile vˆarfurilor patrulaterului vor fi date de
A0 B0 C0 D0
=
2 0 0
0 1.5 0
0 0 1
0.5 1 2 3 3 1 0.5 2.5
1 1 1 1
=
1 2 4 6
4.5 1.5 0.75 3.75
1 1 1 1
.
Figura original˘a s¸i rezultatul scal˘arii, ˆımpreun˘a cu modul ˆın care scalarea act¸ioneaz˘a asupra vectorilor de pozit¸ie, poti fi v˘azute ˆın figura 1.1.
1 2 3 4 y 5
1 2 3 4 5
x O
Figura 1.2: O scalare de factori(2,1.5)
10 Capitolul 1. Transform˘ari geometrice ˆın plan
Observat¸ie. Urm˘atoarele observat¸ii sunt foarte us¸or de demonstrat s¸i sunt l˘asate ˆın grija cititorului:
(i) Orice scalare S(sx, sy) este inversabil˘a, iar inversa ei este S(1/sx,1/sy) (prin urmare este tot o scalare).
(ii) Mult¸imea tuturor scal˘arilor formeaz˘a, ˆın raport cu compunerea aplicat¸iilor, un grup (comutativ), ˆın care elementul neutru este aplicat¸ia identic˘a (adic˘aS(1,1)).
(iii) Scalareanueste, de obicei, o izometrie (distant¸a dintre puncte se modific˘a) ceea ce are ca efect, ˆın particular, modificarea formei s¸i a dimensiunilor unei figuri geometrice prin aplicarea unei scal˘ari.
1.5 Reflexiile ˆın raport cu axele de coordonate
Reflexiile fat¸˘a de axele de coordonate sunt dou˘a aplicat¸ii,Rx,Ry :R2 →R2, care asociaz˘a, fiecare dintre ele, unui punctA(x, y), simetricul punctului fat¸˘a de axa de coordonate corespunz˘atoare.
S˘a ˆıncepem cuRx. Aceast˘a aplicat¸ie asociaz˘a, dup˘a cum spuneam, fiec˘arui punctA(x, y)simetricul s˘au relativ la axaOx. Este us¸or de v˘azut c˘a simetricul luiAva fi punctulA0(x,−y), as¸adarRx(x, y) = (x,−y). Rezult˘a, de asemenea, imediat, c˘aRy(x, y) = (x,−y). Ca s¸i ˆın cazul scal˘arii, este us¸or de
1 2 3 y 4
−3 −2 −1 1 2 3
x O
Figura 1.3: Un patrulaterABCDs¸i reflexia sa fat¸˘a de axaOy,A0B0C0D0
constatat c˘aRx s¸iRy sunt aplicat¸ii liniare. Matricile lor fat¸˘a de baza canonic˘a a luiR2 sunt foarte us¸or de determinat. Avem
Rx(1,0) = (1,0), Rx(0,1) = (0,−1), prin urmare, matricea luiRx(notat˘a cu acelas¸i simbol), va fi
Rx=
1 0 0 −1
(1.5.1)
1.6. Rotat¸ia ˆın jurul originii 11 sau, ˆın coordonate omogene:
Rx =
1 0 0
0 −1 0
0 0 1
, (1.5.2)
ceea ce ˆınseamn˘a c˘a forma matriceal˘a a luiRxse va scrie:
x0 y0
=
1 0 0 −1
x y
(1.5.3) sau, ˆın coordonate omogene,
x0 y0 1
=
1 0 0
0 −1 0
0 0 1
x y 1
. (1.5.4)
Exact la fel, matricea luiRyva fi
Ry =
−1 0 0 1
, (1.5.5)
sau, ˆın coordonate omogene:
Ry =
−1 0 0 0 1 0 0 0 1
, (1.5.6)
iar forma matriceal˘a a acestei transform˘ari se va scrie:
x0 y0
=
−1 0 0 1
x y
(1.5.7) sau, ˆın coordonate omogene,
x0 y0 1
=
−1 0 0 0 1 0 0 0 1
x y 1
. (1.5.8)
ˆIn figura 1.5 se observ˘a cum act¸ioneaz˘a reflexia Ry asupra unui patrulater. Este clar, din figur˘a, c˘a act¸iunea este, de fapt, asupra vectorilor de pozit¸ie ale punctelor patrulaterului.
1.6 Rotat¸ia ˆın jurul originii
Rotat¸ia ˆın plan ˆın jurul originii, cu un unghi θ, este o transformare geometric˘aRotθ : R2 → R2 care asociaz˘a unui punctP din plan un punctP0astfel ˆıncˆat unghiulP OP\0 s˘a fie egal cu|θ|. Dac˘a unghiulθ este pozitiv, rotat¸ia se face ˆın sens trigonometric (ˆın sens opus mersului acelor de ceasornic), ˆın timp ce dac˘aθeste negativ, rotat¸ia se face ˆın sensul mersului acelor de ceasornic.
Problema pe care ne-o punem acum este ca, dac˘a se d˘a punctulP, prin coordonatele sale carteziene (x, y), s˘a determin˘am coordonatele carteziene(x0, y0)ale imaginii sale prin rotat¸ie, punctulP0.
12 Capitolul 1. Transform˘ari geometrice ˆın plan
1 2 3 y 4
−2 −1 1 2 3
x O
Figura 1.4: Rotat¸ia unui patrulater cu60◦ˆın jurul originii S˘a presupunem c˘a unghiul pe care ˆıl formeaz˘a vectorul−−→
OP cu direct¸ia pozitiv˘a a axeiOxeste egal cuα. Fier =p
x2+y2 – lungimea acestui vector. Este clar c˘a unghiul dintre−−→
OP0s¸i direct¸ia pozitiv˘a a axeiOxeste egal cuα+θ. Cum este clar c˘ak−−→
OP0k=k−−→OPk=r, avem x0 =rcos(α+θ) =r(cosαcosθ−sinαsinθ) y0 =rsin(α+θ) =r(sinαcosθ+ cosαsinθ) sau, ˆınc˘a,
x0 = (rcosα)
| {z }
=x
cosθ−(rsinα)
| {z }
=y
sinθ y0 = (rcosα)
| {z }
=x
sinθ+ (rsinα)
| {z }
=y
cosθ adic˘a, ˆın cele din urm˘a,
(x0 =xcosθ−ysinθ
y0=xsinθ+ycosθ . (1.6.1)
ˆIn format matricial, transformarea de mai sus se poate scrie sub forma x0
y0
=
cosθ −sinθ sinθ cosθ
x y
(1.6.2) Dac˘a not˘am matricea transform˘ariiRot(θ) cu acelas¸i simbol, adic˘a
Rot(θ) =
cosθ −sinθ sinθ cosθ
, (1.6.3)
1.7. Forfecarea fat¸˘a de origine 13 atunci rotat¸ia ˆın plan de unghiθˆın jurul originii se poate scrie sub forma
x0 y0
= Rot(θ)· x
y
(1.6.4) Matricea omogen˘a a rotat¸ie se obt¸ine us¸or, prin bordare, s¸i rezult˘a (folosim aceeas¸i notat¸ie)
Rot(θ) =
cosθ −sinθ 0 sinθ cosθ 0
0 0 1
, (1.6.5)
1.7 Forfecarea fat¸˘a de origine
Consider˘am o direct¸ie ˆın plan, dat˘a de un versorv(vx, vy). Consider˘am, de asemenea, pentru fiecared num˘ar real pozitiv, dreptele`d, de vector directorv, situate la distant¸adfat¸˘a de origine (dac˘adnu este zero, sunt dou˘a astfel de drepte). Oforfecarerelativ la origine, de factorrˆın direct¸iaveste transformarea care asociaz˘a unui punctP de pe`dpunctul din plan de vector de pozit¸ierP0 =rP +r·d·v.
FieP(x0, y0)un punct din plan. Dreapta care trece prinP s¸i are direct¸ia dat˘a devare ecuat¸ia (`d) : vyx−vxy+vxy0−vyx0= 0.
Distant¸adde la dreapt˘a la origine este egal˘a cu modulul termenului liber, pentru c˘a vectorul director al dreptei are lungimea 1, prin urmare, transformarea se va scrie
rP0 =rP +rdv= (x0±r(vxy0−vyx0), x0±r(vxy0−vyx0)) (1.7.1) sau, matricial,
x0 y0
=
1∓r·vxvy ±r·v2x
∓r·v2y 1±r·vxvy
· x
y
(1.7.2) ˆIn ecuat¸ia (1.7.1) se alege semnul ˆın funct¸ie de dreapta`dpe care se afl˘a punctul (am v˘azut mai sus c˘a sunt, ˆın general, dou˘a astfel de drepte, de o parte s¸i de alta a drepte`0). Dac˘a trecem de la o dreapt˘a la alta, sensul mis¸c˘arii de-a lungul dreptei se inverseaz˘a. Pentru fixarea ideilor, alegem semnul+. Atunci matricea (cartezian˘a) a transform˘arii se va scrie
Sh(v, r) =
1−r·vxvy r·vx2
−r·v2y 1 +r·vxvy
(1.7.3) sau, ˆın coordonate omogene,
Sh(v, r) =
1−r·vxvy r·v2x 0
−r·vy2 1 +r·vxvy 0
0 0 1
(1.7.4)
14 Capitolul 1. Transform˘ari geometrice ˆın plan
1.8 Scalarea fat¸˘a de un punct oarecare
Fie P(x0, y0) un punct oarecare din plan. Pentru a efectua o scalare fat¸˘a de P, mut˘am punctul P ˆın origine, facem scalarea, apoi ˆıl mut˘am ˆınapoi. Prin urmare, matricea omogen˘a a scal˘arii se va scrie:
SP(sx, sy) =T(x0, y0)·S(sx, sy)·T(−x0,−y0) =
=
1 0 x0 0 1 y0
0 0 1
·
sx 0 0 0 sy 0
0 0 1
·
1 0 −x0 0 1 −y0
0 0 1
=
=
sx 0 (1−sx)x0 0 sy (1−sy)y0
0 0 1
.
1 2 3 y 4
−2 −1 1 2 3 4
x O
Figura 1.5: Scalarea unui patrulater, de factori de scal˘a(2,1.5), relativ la punctulM(2,2)
1.9 Rotat¸ia fat¸˘a un punct oarecare
FieP(x0, y0)un punct oarecare din plan. Pentru a efectua o rotat¸ie ˆın jurul luiP, mut˘am punctulPˆın origine, facem rotat¸ia, apoi ˆıl mut˘am ˆınapoi. Prin urmare, matricea omogen˘a a rotat¸iei se va scrie:
RotP(θ) =T(x0, y0)·Rot(θ)·T(−x0,−y0) =
=
1 0 x0
0 1 y0 0 0 1
·
cosθ −sinθ 0 sinθ cosθ 0
0 0 1
·
1 0 −x0
0 1 −y0
0 0 1
=
=
cosθ −sinθ x0(1−cosθ) +y0sinθ sinθ cosθ −x0sinθ+y0(1−cosθ)
0 0 1
.
1.10. Reflexia fat¸˘a de o dreapt˘a oarecare 15
1 2 3 y 4
1 2 3 4
x O
Figura 1.6: Rotat¸ia unui patrulater, de unghi60◦, relativ la punctulM(2,2)
1.10 Reflexia fat¸˘a de o dreapt˘a oarecare
Ideea, de data aceasta, este transform˘am dreapta de reflexie ˆıntr-una dintre axele de coordonate, s˘a facem reflexia fat¸˘a de axa pe care am ales-o, apoi s˘a aducem ˆınapoi dreapta ˆın pozit¸ia init¸ial˘a. Fie, prin urmare, o dreapt˘a∆, dat˘a prin ecuat¸ia general˘a,
(∆) : ax+by+c= 0.
Dac˘a axa de reflexie este vertical˘a (adic˘ab= 0), atunci facem o translat¸ie de vector(c/a,0), urmatˆa de reflexia fat¸˘a deOys¸i de translat¸ia invers˘a, adic˘a avem:
R∆=T(−c/a,0)·Ry ·T(c/a,0) =
=
1 0 −c/a
0 1 0
0 0 1
·
−1 0 0 0 1 0 0 0 1
·
1 0 c/a 0 1 0 0 0 1
=
−1 0 −2c/a
0 1 0
0 0 1
.
Presupunem, acum, c˘ab6= 0. Execut˘am urm˘atoarele operat¸ii:
1) Facem o translat¸ie de vector(0, c/b), care transform! axa de reflexie ˆıntr-o dreapt˘a∆0, paralel˘a cu ea, care trece prin origine.
2) Panta dreptei∆(deci s¸i a lui∆0) este
tgθ=−a b.
Facem, prin urmare, o rotat¸ie de unghi−θˆın jurul originii, rotat¸ie dup˘a care dreapta∆0se transform˘a ˆın axaOx.
16 Capitolul 1. Transform˘ari geometrice ˆın plan
1 2 3 4 y 5
−1 1 2 3
x O
Figura 1.7: Reflexia unui patrulater fat¸˘a de dreaptay=x+ 1
3) Aplic˘am reflexia relativ la axaOx.
4) Aplic˘am rotat¸ia de unghiθ.
5) Aplic˘am translat¸ia de vector(0,−c/b).
ˆInainte de a scrie matricea, remarc˘am c˘a, din moment cetgθ=−a/b, se obt¸ine imediat c˘a
sinθ= a
√a2+b2, cosθ=− b
√a2+b2.
1.11. Forfecarea relativ la un punct oarecare 17 Prin urmare, transformarea c˘autat˘a este
R∆=T 0,−c
b
·Rot(θ)·Rx·Rot(−θ)·T(0,−c b) =
=
1 0 0 0 1 −cb 0 0 1
·
cosθ −sinθ 0 sinθ cosθ 0
0 0 1
·
1 0 0
0 −1 0
0 0 1
·
·
cosθ sinθ 0
−sinθ cosθ 0
0 0 1
·
1 0 0 0 1 cb 0 0 1
=
=
cos2θ−sin2θ 2 sinθcosθ 2cbsinθcosθ 2 sinθcosθ sin2θ−cos2θ cb(sin2θ−cos2θ−1)
0 0 1
=
=
b2−a2
a2+b2 −a22ab+b2 −a22ac+b2
−a22ab+b2 −ba22−a+b22 −a22bc+b2
0 0 1
1.11 Forfecarea relativ la un punct oarecare
Ca ˆın cazul tuturor transform˘arilor plane relativ la un punct, s¸i aici transformarea se obt¸ine cu ajutorul unor translat¸ii.
FieP(x0, y0)un punct oarecare din plan. Forfecarea rela tiv laP se obt¸ine ˆın trei pas¸i: se aduceP ˆın origine, se face transformarea relativ la origine s¸i se aduceP ˆınapoi. Prin urmare, vom avea:
ShP(v, r) =T(x0, y0)·Sh(v, r)·T(−x0,−y0) =
=
1 0 x0 0 1 y0 0 0 1
·
1−rvxvy rvy2 0
−rvx2 1 +rvxvy 0
0 0 1
·
1 0 −x0 0 1 −y0
0 0 1
=
=
1−rvxvy rvy2 rvx(vy·x−vx·y)
−rvx2 1 +rvxvy rvyx(vy·x−vx·y)
0 0 1
.
1.12 Probleme
ˆIn lista de probleme de mai jos, triunghiulABCare vˆarfurileA(1,1),B(4,1),C(2,3). Reprezentat¸i, de fiecare dat˘a, pe aceeas¸i figur˘a, triunghiul init¸ial s¸i imaginea sa.
Problema 1.1. Determinat¸i imaginea triunghiuluiABCprintr-o rotat¸ie de unghi30◦ˆın jurul punctului Q(2,2), urmat˘a de o translat¸ie de vector(1,2). Aplicat¸i apoi transform˘arile ˆın ordine invers˘a.
Problema 1.2. Determinat¸i imaginea triunghiuluiABC printr-o scalare uniform˘a de factor de scal˘a 2 relativ la punctulQ(2,2).
18 Capitolul 1. Transform˘ari geometrice ˆın plan
Problema 1.3. Determinat¸i imaginea triunghiuluiABC printr-o scalare neuniform˘a, de factori de scal˘a (2,1), relativ la punctulQ(2,2).
Problema 1.4. Determinat¸i imaginea triunghiuluiABC printr-o forfecare de factor1, relativ la punctul Q(2,2), ˆın direct¸ia vectoruluiv(2,1).
Problema 1.5. Determinat¸i imaginea triunghiuluiABC prin reflexia relativ la dreapta2x+ 3y−5 = 0.
Problema 1.6. Determinat¸i imaginea triunghiuluiABCprin reflexia relativ la dreaptaAB.
Problema 1.7. Determinat¸i imaginea triunghiuluiABCprin reflexia relativ la dreaptaBC, urmat˘a de o forfecare, factor√
3/3, relativ la punctulA, ˆın direct¸ia vectoruluiv(1,1).
Problema 1.8. Determinat¸i imaginea triunghiuluiABC prin rotat¸ia cu90◦ˆın jurul punctuluiC, urmat˘a de reflexia relativ la dreaptaAB.
Problema 1.9. Determinat¸i imaginea triunghiuluiABCprin scalarea neuniform˘a de factori(1,2)relativ la punctulB, urmat˘a de o rotat¸ie de30◦ˆın jurul punctuluiQ(1,1).
CAPITOLUL 2
Transform ˘ari geometrice ˆın spat¸iu
2.1 Convent¸ii
ˆIn cele ce urmeaz˘a, punctele s¸i vectorii, reprezentate prin coordonatele (respectiv componentele) lor relativ la un sistem de coordonate vor fi considerat¸i matrici 1-dimensionale, ale c˘aror elementele sunt coordonatele (componentele) punctelor, respectiv vectorilor. Transform˘arile vor fi reprezentate, de la bun ˆınceput, ˆın coordonate omogene.
2.2 Scalarea
Transformarea prin scalare se obt¸ine, analog cu ceea ce se ˆıntˆampl˘a ˆın plan, plasˆand factorii de scalare pe diagonala principal˘a a matricii de transformare. Astfel, transformarea se va scrie:
x0 y0 z0 1
=
sx 0 0 0
0 sy 0 0 0 0 sz 0
0 0 0 1
·
x y z 1
sau, dac˘a utiliz˘am coordonate omogene oarecare pentru puncte,
X0 Y0 Z0 W0
=
Sx 0 0 0
0 Sy 0 0 0 0 Sz 0
0 0 0 SW
·
X Y Z W
.
Toate numerelesx, sy, sz(s¸i variantele lor omogene) trebuie s˘a fie strict pozitive.
19
20 Capitolul 2. Transform˘ari geometrice ˆın spat¸iu
2.3 Translat¸ia
Analog cu cazul plan, ˆın spat¸iu translat¸ia de vector(h, k, l)asociaz˘a unui punct de coordonate(x, y, z) punctul de coordonate
(x0, y0, z0) = (x, y, z) + (h, k, l).
ˆIn coordonate omogene, aceast˘a transformare se poate scrie matricial ca
x0 y0 z0 1
=
1 0 0 h 0 1 0 k 0 0 1 l 0 0 0 1
·
x y z 1
sau, ˆın coordonate omogene oarecare,
X0 Y0 Z0 W0
=
1 0 0 H 0 1 0 K 0 0 1 L
0 0 0 M
·
X Y Z W
,
cuM 6= 0.
2.4 Reflexiile fat¸˘a de planele de coordonate
Reflexiile fat¸˘a de planele de coordonate, ˆın spat¸iu, sunt analoage cu reflexiile fat¸˘a de axele de coordonate ˆın plan.
Este us¸or de constatat c˘a o simetrie fat¸˘a de planulxOy, aplicat˘a unui punct de coordonate(x, y, z), are ca efect schimbarea semnului celei de-a treia coordonate:
x0 =x, y0=y, z0 =−z sau, matricial, ˆın coordonate omogene canonice,
x0 y0 z0 1
=
1 0 0 0
0 1 0 0
0 0 −1 0
0 0 0 1
·
x y z 1
.
Matricea
Rxy =
1 0 0 0
0 1 0 0
0 0 −1 0
0 0 0 1
2.5. Rotat¸iile fat¸˘a de axele de coordonate 21 este matricea reflexiei fat¸˘a de planulxOy. ˆIn mod analog, pentru reflexiile fat¸˘a de celelalte dou˘a plane de coordonate sunt:
Ryz=
−1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
,
pentru reflexia fat¸˘a de planulyOz, respectiv
Rxz=
1 0 0 0
0 −1 0 0
0 0 1 0
0 0 0 1
,
pentru reflexia fat¸˘a de planulxOz.
2.5 Rotat¸iile fat¸˘a de axele de coordonate
ˆIn spat¸iu, rotat¸iile se produc ˆın jurul unor axe, as¸a cum rotat¸iile plane se produc ˆın jurul unor puncte. Se poate demonstra c˘a o rotat¸ie ˆın jurul unei axe oarecare care trece prin origine se poate scrie ca un produs de rotat¸ii ˆın jurul axelor de coordonate, de aceea ne ocup˘am, mai ˆıntˆai de aceste rotat¸ii particulare.
Este us¸or de constatat c˘a dac˘a facem o rotat¸ie de unghiθxˆın jurul axeiOx, atunci efectul asupra unui punct de coordonate(x, y, z)este c˘a coordonataxnu se modific˘a, ˆın timp ce celelalte dou˘a coordonate se modific˘a as¸a cum s-ar ˆıntˆampla dac˘a am roti punctul (y, z) cu unghiulθx, ˆın planulyOz, ˆın jurul originii. Prin urmare, formulele de transformare sunt
x0 =x,
y0 =ycosθx−zsinθx, z0 =ysinθx+zcosθx. ˆIn coordonate omogene, matricial, transformarea se va scrie, atunci,
x0 y0 z0 1
=
1 0 0 0
0 cosθx −sinθx 0 0 sinθx cosθx 0
0 0 0 1
·
x y z 1
.
Deci matricea unei rotat¸ii de unghiθxˆın jurul axeiOxeste
Rotx(θx) =
1 0 0 0
0 cosθx −sinθx 0 0 sinθx cosθx 0
0 0 0 1
.
Rotat¸ia cu un unghiθy relativ la axaOyeste put¸in diferit˘a fat¸˘a de rotat¸ia ˆın jurul axeiOx. Motivul este lesne de ˆınt¸eles. Judecˆand ca s¸i ˆın cazul rotat¸iei ˆın jurul axeiOx, este clar c˘ayr˘amˆane constant, ˆın
22 Capitolul 2. Transform˘ari geometrice ˆın spat¸iu
timp cexs¸izse transform˘a ca s¸i cum punctului(z, x)din planulzOxi s-ar aplica o rotat¸ie de unghiθy ˆın jurul originii ˆın planulzOy. Prin urmare, vom avea (ordinea coordonatelor este, ˆın mod intent¸ionat, schimbat˘a):
y0 =y,
z0=zcosθy−xsinθy, x0=zsinθy+xcosθy. Dac˘a “restaur˘am” ordinea coordonatelor, vom obt¸ine:
x0 =xcosθy+zsinθy, y0 =y,
z0=−xsinθy+zcosθy.
ˆIn fine, dac˘a transcriem relat¸ile de mai sus ˆın form˘a matricial˘a, ˆın coordonate omogene, se obt¸ine:
x0 y0 z0 1
=
cosθy 0 sinθy 0
0 1 0 0
−sinθy 0 cosθy 0
0 0 0 1
·
x y z 1
.
As¸adar, matricea unei rotat¸ii de unghiθyˆın jurul axeiOyeste dat˘a de
Roty(θy) =
cosθy 0 sinθy 0
0 1 0 0
−sinθy 0 cosθy 0
0 0 0 1
.
ˆIn fine, dac˘a aplic˘am o rotat¸ie de unghiθzˆın jurul axeiOzunui punct de coordonate(x, y, z), atunci a) coordonatazr˘amˆane neschimbat˘a;
b) coordonatelexs¸iyse schimb˘a ca s¸i cum punctul de coordonate(x, y)ar face o rotat¸ie de unghiθzˆın jurul originii planuluixOy, ˆın acest plan,
adic˘a
x0 =xcosθz−ysinθz, y0 =xsinθz+ycosθz, z0=z.
Matricial, ˆın coordonate omogene, avem legea de transformare
x0 y0 z0 1
=
cosθz −sinθz 0 0 sinθz cosθz 0 0
0 0 1 0
0 0 0 1
·
x y z 1
.
Prin urmare, matricea unei rotat¸ii fat¸˘a de axaOz, de unghiθzeste
Rotz(θz) =
cosθz −sinθz 0 0 sinθz cosθz 0 0
0 0 1 0
0 0 0 1
.
2.6. Rotat¸ii fat¸˘a de axe oarecare 23
2.6 Rotat¸ii fat¸˘a de axe oarecare
Atunci cˆand trebuie s˘a facem o rotat¸ie de unghiθfat¸˘a de o dreapt˘a oarecare, ceea ce avem de f˘acut este s˘a transform˘am dreapta astfel ˆıncˆat ea s˘a ajung˘a s˘a coincid˘a cu una dintre axele de coordonate, s˘a efectu˘am rotat¸ia cerut˘a ˆın jurul acelei axe, apoi s˘a aducem ˆınapoi dreapta ˆın pozit¸ia sa init¸ial˘a.
S˘a presupunem, prin urmare, c˘a axa de rotat¸ie este dat˘a de un punctP(x0, y0, z0)s¸i un versor director w(wx, wy, wz).
Atunci rotat¸ia se produce ˆın modul urm˘ator.
1) Facem, mai ˆıntˆai o translat¸ieT(−x0,−y0,−z0). Aceast˘a translat¸ie duce dreaptaA1A2ˆıntr-o dreapt˘a paralel˘a cu ea s¸i care trece prin origine. Dac˘a, cumva, versorul w este paralel cu axa Ox (adic˘a wy =wz = 0), atunci matricea de rotat¸ie este, pur s¸i simplu,
T(x0, y0, z0) Rotx(θ)T(−x0,−y0,−z06).
Analog stau lucrurile dac˘aweste paralel cu una dintre celelalte dou˘a axe de coordonate.
2) Presupunem acum c˘awy s¸iwz nu se anuleaz˘a simultan. Aplic˘am o rotat¸ie de unghiθxˆın jurul axei Oxastfel ˆıncˆat, dup˘a efectuarea rotat¸iei, axa de rotat¸ie s˘a ajung˘a ˆın planulxOz. Proiect˘am, mai ˆıntˆai, versorulwpe planulyOz. Vectorul obt¸inut va fiw1(0, wy, wz). Unghiul pe care ˆıl facewcu planul xOzeste unghiul pe care ˆıl facew1cu axaOz. Avem, prin urmare,
sinθx = wy q
w2y+w2z
, cosθx = wz q
w2y+wz2 .
3) Fiew2imaginea vectoruluiwprin rotat¸ia de la punctul precedent. Atunci w2 =w2
wx,0, q
w2y+w2z ,
prin urmare, dac˘a not˘am cuθyunghiul format dew2cu axaOz, funct¸iile trigonometrice ale unghiului θysunt
cosθy = q
w2y+wy2, sinθy =wx.
Trebuie precizat c˘a, pentru a suprapunew2 pestektrebuie s˘a rotim acest vector ˆın jurul axeiOycu
−θy, nu cuθy(pentru c˘a reperulxOzeste stˆang).
4) Efectu˘am rotat¸ia de unghiθ, ˆın jurul axeiOz, 5) Rotim cuθyˆın jurul axeiOy.
6) Rotim cu−θxˆın jurul axeiOx.
7) Aplic˘am translat¸iaT(x0, y0, z0).
Prin urmare, transformarea va fi
Rot∆(θ) =T(x0, y0, z0)·Rotx(−θx)·Roty(θy)·Rotz(θ)·Roty(−θy)·Rotx(θx)·T(−x0,−y0,−z0)
24 Capitolul 2. Transform˘ari geometrice ˆın spat¸iu sau
Rot∆(θ) =
1 0 0 x0
0 1 0 y0 0 0 0 z0
0 0 0 1
·
1 0 0 0
0 wz
q
w2y+w2z
wy
q
wy2+w2z 0 0 − wy
q
w2y+wz2
wz
q
wy2+w2z 0
0 0 0 1
·
·
q
wy2+wz2 0 wx 0
0 1 0 0
−wx 0 q
w2y+wz2 0
0 0 0 1
·
cosθ −sinθ 0 0 sinθ cosθ 0 0
0 0 1 0
0 0 0 1
·
·
q
wy2+wz2 0 −wx 0
0 1 0 0
wx 0 q
w2y+wz2 0
0 0 0 1
·
1 0 0 0
0 wz
q
wy2+w2z − wy q
w2y+w2z 0
0 wy
q
wy2+w2z
wz q
wy2+wz2 0
0 0 0 1
·
·
1 0 0 −x0
0 1 0 −y0 0 0 0 −z0
0 0 0 1
.
Ca un exemplu, s˘a determin˘am matricea unei rotat¸ii de30◦ˆın jurul dreptei x = y = z. ˆIn acest caz, versorul director al axei de rotat¸ie este
w=
√3 3 ,
√3 3 ,
√3 3
! .
Axa de rotat¸ie trece prin origine, astfel c˘a nu avem nevoie de cele dou˘a translat¸ii. Funct¸iile trigonometrice ale unghiurilorθx, θy, θsunt, ˆın acest caz,
cosθx =
√2
2 , sinθx =
√2 2 , cosθy =
√6
3 , sinθy =
√3 3 , cosθ=
√3
2 , sinθ= 1 2.
2.7. Scalarea fat¸˘a de un punct oarecare 25 Prin urmare, descompunerea matricei de rotat¸ie va fi
Rot∆(θ) =
1 0 0 0
0
√2 2
√2 2 0 0 −
√2 2
√2 2 0
0 0 0 1
·
√6
3 0
√3
3 0
0 1 0 0
−
√3
3 0
√6
3 0
0 0 0 1
·
√3 2 −1
2 0 0 1
2
√3
2 0 0
0 0 1 0
0 0 0 1
·
·
√6
3 0 −
√3 3 0
0 1 0 0
√3 3 0
√6
3 0
0 0 0 1
·
1 0 0 0
0
√2
2 −
√2
2 0
0
√2 2
√2
2 0
0 0 0 1
2.7 Scalarea fat¸˘a de un punct oarecare
Fiesx, sy, sz trei numere reale nenule s¸iP(x0, yo, z0)un punct fixat. Pentru a face o scalare de factori de scal˘a (sx, sy, sz) relativ la punctul P, aplic˘am o translat¸ie care aduce punctul P ˆın origine, facem scalarea de factorii indicat¸i relativ la origine, apoi aplic˘am translat¸ia care aduce ˆınapoi punctul P ˆın pozit¸ia init¸ial˘a. Avem, cu alte cuvinte,
SP(sx, sy, sz) =T(x0, y0, z0)·S(sx, sy, sz)·T(−x0,−y0,−z0) =
=
1 0 0 x0
0 1 0 y0
0 0 1 z0 0 0 0 1
·
sx 0 0 0
0 sy 0 0 0 0 sz 0
0 0 0 1
·
1 0 0 −x0
0 1 0 −y0
0 0 1 −z0
0 0 0 1
=
=
sx 0 0 (1−sx)x0
0 sy 0 (1−sy)y0 0 0 sz (1−sz)z0
0 0 0 1
2.8 Reflexia fat¸˘a de un plan oarecare
Ideea, ˆın cazul reflexiei relativ la un plan oarecare, este foarte asem˘an˘atoare cu cea din cazul rotat¸iei ˆın jurul unei axe oarecare. ˆIntr-adev˘ar, s˘a presupunem c˘a planul nostru este dat prin versorul normal n = (nx.ny, nz) s¸i printr-un punct al s˘au, fie el P(x0, y0, z0). Noi s¸tim s˘a facem reflexiile fat¸˘a de planele de coordonate, prin urmare intent¸ia este s˘a transform˘am planul de rotat¸ie ˆıntr-unul dintre aceste plane. ˆIn acest scop, trebuie s˘a ˆındeplinim dou˘a condit¸ii:
26 Capitolul 2. Transform˘ari geometrice ˆın spat¸iu
• planul de reflexie trebuie transformat ˆıntr-un plan care trece prin origine;
• versorul normal trebuie transformat ˆıntr-un versor de coordonate.
Dac˘a cumva planul de reflexie este deja paralel cu unul dintre planele de coordonate (s˘a zicemxOy), atuncineste, deja, egal cuk, prin urmare reflexia fat¸˘a de planulΠare o form˘a foarte simpl˘a:
RΠ=T(x0, y0, z0)·Rxy·T(−x0,−y0,−z0) =
=
1 0 0 x0
0 1 0 y0
0 0 1 z0 0 0 0 1
·
1 0 0 0
0 1 0 0
0 0 −1 0
0 0 0 1
·
1 0 0 −x0
0 1 0 −y0
0 0 1 −z0
0 0 0 1
=
1 0 0 0
0 1 0 0
0 0 −1 2z0
0 0 0 1
Dac˘aΠnu este paralel cu nici unul dintre planele de coordonate, atunci:
1) facem ˆıntˆai translat¸iaT(−x0,−y0,−z0)astfel ˆıncˆat planul s˘a treac˘a prin origine;
2) facem o rotat¸ie de unghiθxˆın jurul axeiOx, astfel ˆıncˆat planulΠs˘a treac˘a prin axaOy(sau, ceea ce este acelas¸i lucru, astfel ˆıncˆat, astfel ˆıncˆat versorul normal s˘a ajung˘a ˆın planulxOz);
3) facem o rotat¸ie de unghi −θy ˆın jurul axeiOy astfel ˆıncˆıt planul de reflexie s˘a se suprapun˘a oeste planulxOy(adic˘ans˘a ajung˘a s˘a coincid˘a cuk);
4) facem reflexia fat¸˘a de planulxOy;
5) aplic˘am inversele transform˘arilor 1)–3), luate ˆın ordine invers˘a.
Unghiurileθxs¸iθysuntaceleas¸icu care rotim versorul director al axei ˆın cazul rotat¸iei ˆın jurul unei axe arbitrare, adic˘a avem:
sinθx= ny q
n2y+n2z
, cosθx = nz q
n2y+n2z ,
respectiv
cosθy = q
n2y+n2y, sinθy =nx. As¸adar, matricea reflexiei fat¸˘a de planulΠeste
RΠ=T(x0, y0, z0)·Rotx(−θx)·Roty(θy)·Rxy·Roty(−θy)·Rotx(θx)·T(−x0,−y0,−z0)
2.8. Reflexia fat¸˘a de un plan oarecare 27 sau
RΠ=
1 0 0 x0
0 1 0 y0
0 0 0 z0 0 0 0 1
·
1 0 0 0
0 nz
q
n2y+n2z
ny
q
n2y+n2z 0 0 − ny
q
n2y+n2z
nz q
n2y+n2z 0
0 0 0 1
·
·
q
n2y+n2z 0 nx 0
0 1 0 0
−nx 0 q
n2y+n2z 0
0 0 0 1
·
1 0 0 0
0 1 0 0
0 0 −1 0
0 0 0 1
·
·
q
n2y+n2z 0 −nx 0
0 1 0 0
nx 0 q
n2y+n2z 0
0 0 0 1
·
1 0 0 0
0 nz
q
n2y +n2z − ny q
n2y+n2z 0
0 ny
q
n2y +n2z
nz
q
n2y+n2z 0
0 0 0 1
·
·
1 0 0 −x0
0 1 0 −y0
0 0 0 −z0
0 0 0 1
.
Exemple. a) S˘a determin˘am matricea reflexiei fat¸˘a de planul Π : x+ 2y−3z+ 1 = 0.
Determin˘am, mai ˆıntˆai, un punct din plan. Dac˘a punemy =z= 0, obt¸inem, imediat,x =−1, prin urmare am obt¸inut punctulP(x0, y0, z0)≡P(0,0,−1). Mai departe, determin˘am un vector normal la plan. Fie elN(1,2,−3). Atunci versorul normal la plan corespunz˘ator va fi
n=n 1
√14, 2
√14,− 3
√14
.
Calcul˘am acum funct¸iile trigonometrice ale unghiurilorθxs¸iθy. Dup˘a cum am v˘azut mai sus, avem sinθx= ny
q
n2y+n2z
=
√2 14
q4 14+149
= 2
√13,
cosθx= nz
q
n2y+n2z
= −√314 q4
14+149
=− 3
√13,
28 Capitolul 2. Transform˘ari geometrice ˆın spat¸iu
sinθy =nx= 1
√14, cosθy = q
n2y+n2z=
√13
√14. Prin urmare, utilizˆand formula de mai sus, matricea transform˘arii va fi
RΠ=
1 0 0 −1 0 1 0 0 0 0 0 0 0 0 0 1
·
1 0 0 0
0 − 3
√13
√2 13 0 0 − 2
√13 − 3
√13 0
0 0 0 1
·
·
√13
√14 0 1
√14 0
0 1 0 0
− 1
√14 0
√13
√14 0
0 0 0 1
·
1 0 0 0
0 1 0 0
0 0 −1 0
0 0 0 1
·
·
√13
√14 0 − 1
√14 0
0 1 0 0
√1 14 0
√13
√14 0
0 0 0 1
·
1 0 0 0
0 − 3
√13 − 2
√13 0
0 2
√13 − 3
√13 0
0 0 0 1
·
·
1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1
.
b) Vom determina acum matricea reflexiei fat¸˘a de planul Π : x−y+ 1 = 0.
Remarc˘am, imediat, c˘a acest plan este paralel cu axa Oz. Constat˘am cu us¸urint¸˘a c˘a, de exemplu, punctulP(0,1,0)apart¸ine planului, iar ˆın calitate de versor al normalei planului putem lua vectorul
n=n 1
√2,− 1
√2,0
.
Funct¸iile trigonometrice ale unghiurilorθxs¸iθy sunt sinθx = ny
q
n2y+n2z
= 1,
2.9. Probleme 29 cosθx= nz
q
n2y+n2z
= 0
sinθy =nx= 1
√2, cosθy =q
n2y+n2z= 1
√2,
prin urmare primul unghi este de90◦, iar al doilea este de45◦. Procedˆand ca la exemplul precedent, obt¸inem
RΠ=
1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1
·
1 0 0 0
0 0 1 0
0 −1 0 0
0 0 0 1
·
·
√1
2 0 1
√2 0
0 1 0 0
− 1
√2 0 1
√2 0
0 0 0 1
·
1 0 0 0
0 1 0 0
0 0 −1 0
0 0 0 1
·
·
√1
2 0 − 1
√2 0
0 1 0 0
√1
2 0 1
√2 0
0 0 0 1
·
1 0 0 0
0 0 −1 0
0 1 0 0
0 0 0 1
·
·
1 0 0 0 0 1 0 −1 0 0 0 0 0 0 0 1
.
2.9 Probleme
ˆIn aceast˘a sect¸iune,ABC este triunghiul de vˆarfuriA(1,2,2),B(2,4,3),C(4,3,2).
Problema 2.1. Determinat¸i imaginea triunghiuluiABCprintr-o rotat¸ie de45◦ˆın jurul dreptei care trece prin puncteleP(2,2,1)s¸iQ(1,1,1).
Problema 2.2. Determinat¸i imaginea triunghiuluiABCprintr-o rotat¸ie de30◦ˆın jurul dreptei (∆) : x−1
2 = y−3
0 = z−2 2 .
30 Capitolul 2. Transform˘ari geometrice ˆın spat¸iu
Problema 2.3. Determinat¸i imaginea triunghiuluiABCprintr-o rotat¸ie de60◦ˆın jurul dreptei (∆) :
(x−y+z−1 = 0, 2x+y = 0.
Problema 2.4. Determinat¸i imaginea triunghiului ABC printr-o scalare simpl˘a neuniform˘a, relativ la punctulQ(2,5,3), de factori de scal˘a(2,1,3).
Problema 2.5. Determinat¸i imaginea triunghiuluiABCprin reflexia fat¸˘a de planulx−y+ 2z−1 = 0.
Problema 2.6. Determinat¸i imaginea triunghiuluiABCprin reflexia fat¸˘a de planul care trece prin punc- teleO(0,0,0), P(1,1,1), Q(1,3,2).