Post on 27-Oct-2020
transcript
โMatematica este muzica ratiunii .โ
James J. Sylvester
3Aplicatii liniare
Grafica vectoriala
In grafica pe calculator, grafica vectoriala este un procedeu prin care imaginilesunt construite cu ajutorul descrierilor matematice prin care se determina pozi-tia, lungimea si direct, ia liniilor folosite in desen. Imaginile vectoriale sunt com-plementare imaginilor bitmap, din grafica raster, ฤฑn care imaginile sunt reprezen-tate ca un tablou de pixeli.
Astfel de tehnici, in care un obiect este reprezentat prin conturul sau, eraufolosite in programarea jocurilor video in anii de la inceputurile fenomenului.Putem sa descriem tot felul de miscari si deformari ale obiectelor cu ajutorul
1
unor transformari realizate de catre matrice. In cele ce urmeaza prezentam doarcateva situatii, extrem de simple, care au survenit in programarea jocurilor 2๐ท,pentru cele 3๐ท miscarea fiind si mai complexa.
Sa reprezentam o nava spa-tiala printr-un triunghi cu varfurile(0, 0), (2, 0) si (1, 3). Putem sa memo-ram aceste coordonate sub forma unei
matrice
โโ0 2 1
0 0 3
โโ , presupunand si o
ordine in care varfurile sunt conectate.
Putem sa lucram cu aceasta matrice dar este mult mai elegant sa o โrotunjimโla o matrice 3 ร 3 prin adaugarea unei linii de 1-uri:
โ =
โโโโโ0 2 1
0 0 3
1 1 1
โโโโโ Translatia printr-un vector (๐, ๐ ) este acum realizata cu ajutorul unei matrice๐ data mai jos:
๐ ยท โ =
โโโโโ1 0 ๐
0 1 ๐
0 0 1
โโโโโ ยท
โโโโโ0 2 1
0 0 3
1 1 1
โโโโโ =
โโโโโ๐ 2 + ๐ 1 + ๐
๐ ๐ 3 + ๐
1 1 1
โโโโโ De exmplu, pentru a deplasa nava
in directia โsusโ va trebui sa facemo translatie de vector (0, 2) si astfelobtinem noile coordonate, continute inmatricea:โโโโโ
0 2 + 0 1 + 0
2 2 3 + 2
1 1 1
โโโโโ
Acestea sunt (0, 2), (2, 2) si (1, 5) si dau noua imagine a navei. Daca dorimsa rotim nava cu un unghi ๐ in sensul opus acelor de ceasornic, rotatie facuta injurul originii reperului cartezian, atunci matricea care realizeaza aceasta trans-formare este:
๐ ๐ =
โโโโโcos ๐ โ sin ๐ 0
sin ๐ cos ๐ 0
0 0 1
โโโโโ 2
De exemplu, pentru o rotatie de ๐ = 90โ avem:โโโโโ0 โ1 0
1 0 0
0 0 1
โโโโโ โโโโโ
0 2 1
0 0 3
1 1 1
โโโโโ =
โโโโโ0 0 3
0 2 1
1 1 1
โโโโโ si obtinem:
dar situatia nu arata prea bine iar daca deplasam nava cu doua unitati este simai nesatisfacatoare:
O rotatie mult mai realista se realizeaza in jurul centrului navei, pe care il fixamin punctul ๐ถ(1, 1.5), daca nava e in pozitia de la inceput. Pentru a realizaaceasta rotatie trebuie sa translatam acest centru in originea reperului, apoi sarealizam rotatia de unghi ๐ = 90โ in jurului lui ๐(0, 0), apoi sa translatam totulinapoi. Aceasta transformare va fi:
๐โ1 ยท๐ 90โ ยท ๐ ยท โ
unde ๐ este translatia de vector (โ1,โ1.5) de care avem nevoie pentru a duce ๐ถin origine iar ๐ 90โ este rotatia necesara. ๐โ1 este evident translatia din origineinapoi in ๐ถ, deci de vector (1, 1.5).
๐โ1ยท๐ 90โ ยท๐ =
โโโโโ1 0 1
0 1 1.5
0 0 1
โโโโโ โโโโโ
0 โ1 0
1 0 0
0 0 1
โโโโโ โโโโโ
1 0 1
0 โ1 โ1.5
0 0 1
โโโโโ =
โโโโโ0 โ1 2.5
1 0 0.5
0 0 1
โโโโโ Obtinem:
๐โ1 ยท๐ 90โ ยท ๐ ยท โ =
โโโโโ2.5 2.5 โ0.5
0.5 2.5 1.5
1 1 1
โโโโโ Grafic situatia arata in felul urmator:
3
Prin acelasi procedeu daca nava se deplaseaza doua unitati in sus obtinem:
In zilele noastre acest domeniu al graficii digitale a atins culmi nebanuitedar in anii โฒ80 modelarea matematica prezentata anterior reflecta destul de binerealitatea. Aveti mai jos imagini din jocurile video populare in acei ani, jucatepe celebra consola Atari:
Transformarea Warhol
Vom memora culoarea fiecarui pixel al unei imagini intr-un vector ๐ฃ =
โโโโโ๐ฅ
๐ฆ
๐ง
โโโโโ unde (๐ฅ, ๐ฆ, ๐ง) reprezinta codul RGB al culorii pixelului. Folosind o multiplicarecu o matrice ๐ด putem sa recoloram intreaga imagine aplicand fiecarui pixel
4
transformarea ๐ฃ โ ๐ด๐ฃ. De exemplu pentru:
๐ด =
โโโโโ13
13
13
13
13
13
13
13
13
โโโโโ
pixelul de la (๐) care avea culoarea ๐ฃ =(
25 77 51)๐ก
devine cel de la (๐) avand
culoarea(
51 51 51)๐ก
:
Atunci cand aplicam aceasta transformare unei imagini intregi vom obtine vari-anta in gri a acesteia:
Unul dintre cei mai cunoscuti reprezentanti ai curentului Pop art americaneste Andy Warhol. Acesta folosea astfel de tehnici pentru a transforma imagini.Mai precis folosind matricea:
๐ด =
โโโโโ0 1 0
0 0 1
1 0 0
โโโโโ imaginea (๐) de jos se transforma in cea de la (๐):
5
Atunci cand realizam transformari ale unor obiecte (vectori) ne dorim saexiste o transformare inversa. Adica aplicata obiectului transformat acesta sarevina la forma initiala. Astfel de transformari se numesc bijective.
In cazul imaginii clown-ului nu putem sa revenim de la varianta in gri la vari-anta colorata printr-o transformare de tipul ๐ด๐ฃ, dar pentru imaginea maimuteise poate reconstrui imaginea initiala aplicand transformarea data de:
๐ต =
โโโโโ0 0 1
1 0 0
0 1 0
โโโโโ imaginii (๐).
Plecand de la prototipul prezentat anterior, transformarea ๐ : R3 โ R3,
๐
โโโโโ๐ฅ
๐ฆ
๐ง
โโโโโ = ๐ด
โโโโโ๐ฅ
๐ฆ
๐ง
โโโโโ , ๐ด โ โณ3(R),
incepem sa studiem functii definite intre spatii vectoriale, care poseda propri-etatea de a avea toate informatiile โcodificateโ intr-o matrice: aplicatiile liniare.
6
Notiuni teoretice:
โ daca ๐ต = {๐1, ๐2, . . . , ๐๐} si ๐ตโฒ = {๐โฒ1, ๐โฒ2, . . . , ๐โฒ๐} sunt baze in (R๐,+, ยท,R)respectiv (R๐,+, ยท,R) iar:โงโชโชโชโจโชโชโชโฉ
๐ (๐1) = ๐11๐โฒ1 + ๐21๐
โฒ2 + . . . + ๐๐1๐
โฒ๐
๐ (๐2) = ๐12๐โฒ1 + ๐22๐
โฒ2 + . . . + ๐๐2๐
โฒ๐
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
๐ (๐๐) = ๐1๐๐โฒ1 + ๐2๐๐
โฒ2 + . . . + ๐๐๐๐
โฒ๐
se numeste matricea aplicatiei liniare ๐ : R๐ โ R๐ in bazele ๐ต si ๐ตโฒ matricea:
[๐ ]๐ต๐ตโฒ =
โโโโโโโโ๐11 ๐12 . . . ๐1๐
๐21 ๐22 . . . ๐2๐...
... . . ....
๐๐1 ๐๐2 . . . ๐๐๐
โโโโโโโโ โ are loc identitatea:
[๐ (๐ฃ)]๐ตโฒ = [๐ ]๐ต๐ตโฒ [๐ฃ]๐ต
Tinand cont de modul in care sunt definite coordonatele unui vector ๐ฃrelativ la o baza B, relatia de mai sus face legatura cu prototipul studiatin introducere ๐ (๐ฃ) = ๐ด๐ฃ, generalizat aici sub forma: coordonatele lui ๐ (๐ฃ)se afla printr-o transformare de tipul ๐ด๐ค unde ๐ด = [๐ ]๐ต๐ตโฒ este matriceaatasata lui ๐ si ๐ค = [๐ฃ]๐ต este matricea coloana a coordonatelor lui ๐ฃ.
Remarca:
7
Putem sa urmarim efectul unor astfel de transformari asupra unui obiect:
Simetria:
Forfecarea:
8
Scalarea:
Rotatii in sens pozitiv trigonometric:
In plan sunt realizate de catre matricea:
๐ ๐ =
โโcos ๐ โ sin ๐
sin ๐ cos ๐
โโ
In spatiu sunt trei tipuri de rotatii posibile: in jurul axei Ox, Oy sau Oz:
9
Probleme rezolvate
Problema 1. Fie ๐ : IR1[๐] โ IR3, aplicatia definita prin:
๐ (๐๐ + ๐) = (๐, ๐, ๐ + ๐)
iar:
๐ต = {2๐โ1,โ๐+1} โ IR1[๐] si ๐ตโฒ = {(1, 1, 1), (1, 1, 0), (1, 0, 0)} โ IR3
sunt doua baze ale acestor doua spatii vectoriale. Sa se arate ca ๐ este oaplicatie liniara si sa se determine [๐ ]๐ต๐ตโฒ.
Solutie: Pentru a arata ca ๐ este liniara trebuie sa verificam daca suntindeplinite proprietatile definitorii ale acestora:
transforma sumele vectoriale in sume vectoriale
๐ (๏ฟฝ๏ฟฝ + ๐ฃ) = ๐ (๏ฟฝ๏ฟฝ) + ๐ (๐ฃ), โ ๏ฟฝ๏ฟฝ, ๐ฃ,
scalarii ies in afara
๐ (๐ผ๏ฟฝ๏ฟฝ) = ๐ผ๐ (๏ฟฝ๏ฟฝ), โ ๏ฟฝ๏ฟฝ, ๐ผ,
Identificam spatiul R1[๐] cu R2 prin ๐๐ + ๐ (๐, ๐). Functia din enuntdevine acum ๐ : R2 โ R3 definita prin:
๐ (๐, ๐) = (๐, ๐, ๐ + ๐)
10
iar baza ๐ต devine ๐ต = {(2,โ1), (โ1, 1)}.Consideram acum doi vectori ๏ฟฝ๏ฟฝ = (๐, ๐) si ๐ฃ = (๐, ๐) din domeniul de definitie
al aplicatiei ๐ .
๐ (๏ฟฝ๏ฟฝ + ๐ฃ) = ๐ ((๐, ๐) + (๐, ๐)) = ๐ (๐ + ๐, ๐ + ๐) prin inlocuire
= (๐ + ๐, ๐ + ๐, ๐ + ๐ + ๐ + ๐) prin definitia lui ๐
Daca evaluam expresia:
๐ (๏ฟฝ๏ฟฝ) + ๐ (๐ฃ) = ๐ (๐, ๐) + ๐ (๐, ๐) = (๐, ๐, ๐ + ๐) + (๐, ๐, ๐ + ๐) definitia lui ๐
= (๐ + ๐, ๐ + ๐, ๐ + ๐ + ๐ + ๐) definitia adunarii vectoriale
observam ca obtinem acelasi vector ca si rezultat, deci are loc prima identitate.Pentru a doua se verifica usor:
๐ (๐ผ๏ฟฝ๏ฟฝ) = ๐ (๐ผ(๐, ๐)) = ๐ (๐ผ๐, ๐ผ๐)
= (๐ผ๐, ๐ผ๐, ๐ผ๐ + ๐ผ๐) definitia ๐
si
๐ผ๐ (๏ฟฝ๏ฟฝ) = ๐ผ๐ (๐, ๐) = ๐ผ(๐, ๐, ๐ + ๐)
= (๐ผ๐, ๐ผ๐, ๐ผ๐ + ๐ผ๐) definitia scalarii vectoriale
deci ce era de demonstrat. In concluzie ๐ este o aplicatie liniara.Pentru a doua parte a problemei folosim regula de constructie a [๐ ]๐ต๐ตโฒ si
avem nevoie de relatiile:
๐ (2,โ1) = ๐1(1, 1, 1) + ๐2(1, 1, 0) + ๐3(1, 0, 0)
๐ (โ1, 1) = ๐4(1, 1, 1) + ๐5(1, 1, 0) + ๐6(1, 0, 0)
dar pe de alta parte:
๐ (2,โ1) = (2,โ1, 2โ1) iar ๐ (โ1, 1) = (โ1, 1,โ1 + 1)
Se rezolva sistemele de ecuatii, atasate celor doua identitati de mai sus, pentrua completa coeficientii ๐1, ๐2, ๐3, ๐4, ๐5, ๐6 in:
[๐ ]๐ต๐ตโฒ =
โโโโโ๐1 ๐4
๐2 ๐6
๐3 ๐6
โโโโโ Problema 2. Fie ๐ โ [0, 2๐] si ๐ ๐ : IR2 โ IR2 functia definita prin:
๐ ๐(๐ฅ, ๐ฆ) = (๐ฅ cos ๐ โ ๐ฆ sin ๐, ๐ฅ sin ๐ + ๐ฆ cos ๐), (๐ฅ, ๐ฆ) โ IR2.
Aratati ca ๐ ๐ este o aplicatie liniara si aflati matricea asociata acestuioperator.
11
Solutie: Se arata ca
๐ ๐(๐ผ๐ข + ๐ฝ๐ฃ) = ๐ผ๐ ๐(๐ข) + ๐ฝ๐ ๐(๐ฃ)
unde ๐ข = (๐ฅ, ๐ฆ) si ๐ฃ = (๐ฅโฒ, ๐ฆโฒ)
Se subintelege ca e vorba de matricea asociata relativ la bazele canonice[๐ ๐]๐ต๐๐ต๐ deci avem nevoie de
๐ ๐(1, 0) = (cos ๐, sin ๐) = cos ๐ ยท (1, 0) + sin ๐ ยท (0, 1)
๐ ๐(0, 1) = (โ sin ๐, cos ๐) = โ sin ๐ ยท (1, 0) + cos ๐ ยท (0, 1)
deci
[๐ ๐]๐ต๐๐ต๐=
โโcos ๐ โ sin ๐
sin ๐ cos ๐
โโ Problema 3. Sa se determine expresia analitica a aplicatiei liniare๐ : R3 โ ๐3,1(R) definite prin:
๐ (1, 1, 1) =
โโโโโ0
1
1
โโโโโ , ๐ (1, 1,โ1) =
โโโโโ1
0
1
โโโโโ , ๐ (1,โ1, 1) =
โโโโโ1
1
0
โโโโโ ,
Solutie: O aplicatie liniara este unic determinata de modul in care ac-tioneaza pe vectorii unei baze !
Deoarece ๐ este liniara avem :
๐ (๐ฅ, ๐ฆ, ๐ง) = ๐ (๐ฅ ยท ๐1 + ๐ฆ ยท ๐2 + ๐ง ยท ๐3) = ๐ฅ๐ (๐1) + ๐ฆ๐ (๐2) + ๐ง๐ (๐3)
astfel a determina expresia analitica a lui ๐ (legea de asociere) este echivalentcu a afla valorile vectorilor ๐ (๐1), ๐ (๐2), ๐ (๐3), unde ๐1 = (1, 0, 0), etc.
Strangem informatii despre acesti vectori prin rescrierea relatiile din enuntsub forma:
๐ (1, 1, 1) = ๐ (๐1 + ๐2 + ๐3) = ๐ (๐1) + ๐ (๐2) + ๐ (๐3) =
โโโโโ0
1
1
โโโโโ
๐ (1, 1,โ1) = ๐ (๐1 + ๐2 โ ๐3) = ๐ (๐1) + ๐ (๐2) โ ๐ (๐3) =
โโโโโ1
0
1
โโโโโ 12
๐ (1,โ1, 1) = ๐ (๐1 โ ๐2 + ๐3) = ๐ (๐1) โ ๐ (๐2) + ๐ (๐3) =
โโโโโ1
1
0
โโโโโ Se rezolva sistemul cu necunoscutele ๐ (๐1), ๐ (๐2), ๐ (๐3) (de ex. se aduna
toate ecuatiile si se obtine ๐ (๐1)) si astfel aflam expresia analitica a lui ๐ :
๐ (๐ฅ, ๐ฆ, ๐ง) =
โโโโโ๐ฅโ ๐ฆ
2 โ ๐ง2
๐ฅ2 + ๐ง
2
๐ฅ2 + ๐ฆ
2
โโโโโ
Problema 4. Un elicopter este lo-calizat de catre un turn de controlcu ajutorul a trei senzori ๐1, ๐2, ๐3
aflati pe suprafata sa. Initial, co-ordonatele acestor senzori in raportcu turnul de control erau ๐1(1, 1, 0),
๐2(1, 0, 1) si ๐3(1, 1, 1) dar apoi pilotul roteste elicopterul cu un unghinecunoscut astfel incat noile coordonate devin ๐1(โ1, 1, 0), ๐2(0, 1, 1) si๐3(โ1, 1, 1).
i) Daca un punct oarecare de pe suprafata elicopterului era initial lo-calizat la ๐ (๐ฅ, ๐ฆ, ๐ง) aflati noile sale coordonate.
ii) Aflati matricea care da regula de schimbare a coordonatelorpunctelor de pe suprafata elicopterului, dupa manevra pilotului.(Rotatia de unghi ๐ este un operator liniar).
Solutie: Notam cu ๐ rotatia de unghi ๐ผ, problema e ca nu putem utilizaformula operatorului liniar care roteste punctele in ๐ 3 deoarece nu cunoastemunghiul si nici axa dupa care se face rotatia. Vom trata pe ๐ ca pe o aplicatieliniara oarecare.
Ce se cere ? Stim ca ๐ avea coordonatele (๐ฅ, ๐ฆ, ๐ง) si vrem sa aflam coordo-natele sale dupa manevra pilotului: adica ๐ (๐ฅ, ๐ฆ, ๐ง) =?
Prin urmare singurele informatii detinute sunt:
๐ (1, 1, 0) = (โ1, 1, 0), ๐ (1, 0, 1) = (0, 1, 1), si ๐ (1, 1, 1) = (โ1, 1, 1)
Vom utiliza aceste date pentru a identifica operatorul liniar ๐ .Traducerea matematica: โ Aflati expresia analitica a aplicatiei liniare ๐
care satisface relatiile...โ problema analoaga cu problema anterioara
13
Probleme propuse
Problema 1. Sa se arate ca urmatoarele functii sunt aplicatii liniare si sa sedetermine matricea fiecaruia relativ la baza canonica:
i) ๐ : R3 โ R3, ๐ (๐ฅ, ๐ฆ, ๐ง) = (๐ฅ, ๐ฅ + ๐ฆ, ๐ฅ + 2๐ฆ)
ii) ๐ : R1[๐] โ R2, ๐ (๐๐ + ๐) = (๐, ๐ + ๐)
iii) ๐ : R3 โ R2, ๐ (๐ฅ1, ๐ฅ2, ๐ฅ3) = (๐ฅ1 + 2๐ฅ2, ๐ฅ2 โ ๐ฅ3)
iv) ๐ : R1[๐] โ R2[๐], ๐ (๐๐ + ๐) = ๐๐2 + (๐ + 2๐)๐ + ๐โ ๐
Problema 2. Aflati aplicatia liniara ๐ : R2[๐] :โ R1[๐] despre care stim ca:
๐ (๐ + 2) = ๐ + 1, ๐ (โ๐2 + 3) = 2๐ + 3, ๐ (2๐ + 5) = โ๐ + 1.
Problema 3. Orice pixel de pe ecranul unui computer va fi modelat matematicca ๐ (๐ฅ, ๐ฆ, ๐ง), unde coordonatele ๐ฅ, ๐ฆ, ๐ง reprezinta nivelul de rosu, verde si albas-tru din codul RGB al culorii sale. De exemplu un pixel negru va fi ๐ (0, 0, 0) iarunul rosu va fi ๐ (255, 0, 0). Realizam un program care modifica imagini duparegula:
๐ (๐ฅ, ๐ฆ, ๐ง) ๐
(๐ฅ
6+
๐ฆ
3+
๐ง
2,๐ฅ
2+
๐ฆ
6+
๐ง
3,๐ฅ
3+
๐ฆ
2+
๐ง
6
)Alegem o imagine care sa contina toate culorile posibile si o modificam folosindprogramul anterior. Ce culoare au pixelii care devin negri dupa modificareaimaginii ? Exista pixeli rosii in imaginea modificata ? Este adevarat ca siimaginea modificata contine toate culorile posibile ?
Problema 4. Sa se determine ๐ โ R astfel incat functia ๐ : R3 โ R3:
๐ (๐ฅ, ๐ฆ, ๐ง) = (๐ฅ + ๐ฆ + 3๐ง, ๐ฅ + ๐ฆ + ๐, ๐ฅ + ๐ง + ๐)
sa fie o aplicatie liniara.
Problema 5. Aflati aplicatia liniara ๐ : R2 โ R2 care realizeaza urmatoareatransformare:
14
Aflati o functie ๐ : R2 โ R2 care realizeaza transformarea:
Indicatie: Divide et impera !
Problema 6. Este aplicatia ๐ : โณ2ร2(R) โ R, definita prin ๐ (๐ด) =๐๐๐ก(๐ด) o aplicatie liniara ?
Problema 7. Care dintre aplicatiile ๐ : ๐ถ(R) โ ๐ถ(R) de mai jos sunt liniare?
i) ๐ (๐))(๐ฅ) = 1 + ๐(๐ฅ), โ ๐ฅ โ R
ii) ๐ (๐)(๐ฅ) = ๐(๐ฅ + 1), โ ๐ฅ โ R
unde ๐ โ ๐ถ(R) este o functie continua oarecare.
15