5. ZADATAK

trans=AffineTransform[{{{2,-1},{1,1}},{5,7}}]

invtrans=InverseFunction[trans]

ispisiFle[fle_]:=Print["x' = ",fle[[1]],"\ny' = ",fle[[2]]];

ispisiFle[invtrans[{x,y}]]

6. ZADATAK

Funkcija t[O1_, A1_, B1_] određuje matricu afinog preslikavanja koje kanonski trougao OAB preslikava u trougao O1A1B1.

t[O1_,A1_,B1_]:=AffineTransform[{Transpose[{A1-O1,B1-O1}],O1}];

t[{5,-4},{7,-8},{4,1}]

ispisiFle[%[{x,y}]]

Det[{{2,-1},{-4,5}}]

6 > 0 ->  preslikavanje čuva orjentaciju

povrsina=6*(1/2)

Površina trougla O’A’B’  je 3.

7. ZADATAK

O (0, 0), A (1, 0), B (0, 1)
f : O, A, B -> P, Q , R
g : O, A , B -> P', Q', R'
	-> preslikavanje g∘(f^(-1)): P, Q , R-> P’, Q’, R’

Show[Graphics[{
{Red,Triangle[{{0,0},{1,0},{0,1}}]},
{Blue,Triangle[{{1,1},{1,2},{4,4}}]}, 
{Green, Triangle[{{5,-4},{7,-8},{4,1}}]}
}],Axes->True]

f=t[{1,1},{1,2},{4,4}]

invf=InverseFunction[f]

g=t[{5,-4},{7,-8},{4,1}]

Composition[g,invf]

ispisiFle[%[{x,y}]]

g∘(f^(-1)) dato formulama:    
				x' = (16/3)-((7 x)/3)+2 y
					 y' = -(17/3)+((17 x)/3)-4 y
slika trougao PQR u trougao P'Q'R'.

Det[{{((-7)/3),2},{(17/3),-4}}]

-2 < 0 -> preslikavanje ne čuva orjentaciju

8. ZADATAK

tp={0,0};

tq={5,5};

tr={10,-15};

tp1={1,-7};

tq1={0,0};

tr1={19,-8};

pq=tp-tq;

pr=tr-tp;

qr=tr-tq;

p1q1=tp1-tq1;

p1r1=tr1-tp1;

q1r1=tr1-tq1;

Norm[pq]

Norm[pr]

Norm[qr]

Norm[p1q1]

Norm[p1r1]

Norm[q1r1]

-> Na osnovu stava SSS trougao PQR i trougao P' Q' R' su podudarni

f : O, A, B -> P, Q, R
g : O, A, B ->  P’, Q’, R’
-> g∘(f^(-1)):  P,Q,R ->  P’, Q’, R’

f=t[tp,tq,tr]

invf=InverseFunction[f]

g=t[tp1,tq1,tr1]

Composition[g,invf]

ispisiFle[%[{x,y}]]

ϕ=ArcCos[(3/5)]//N

-> Rotacija za ugao ϕ=arccos((3/5)) i translacija za vektor v = (1, -7).

Definišemo funcije :

translacija[v_]:={{1,0,v[[1]]},{0,1,v[[2]]},{0,0,1}};
(*translacija za vektor v*)

rot0[ϕ_]:={{Cos[ϕ], -Sin[ϕ],0},{Sin[ϕ],Cos[ϕ],0},{0,0,1}};
(*rotacija oko koordinatnog početka za ugao ϕ*)

rotacija[S_,ϕ_]:=translacija[S].rot0[ϕ].translacija[-S];
(*rotacija oko tačke S za ugao ϕ*)

skal0[λ1_,λ2_]:=DiagonalMatrix[{λ1,λ2,1}];
(*skaliranje sa centrom u koordinatnom početku i koeficijentima λ1 u λ2*)

skaliranje[S_,λ1_,λ2_]:=translacija[S].skal0[λ1,λ2].translacija[-S];
(*skaliranje sa centrom u tački S i koeficijentima λ1 u λ2*)

homotetija[S_,λ_]:=skaliranje[S,λ,λ];
(*homotetija sa centrom u S i koeficijentom λ - spec. slucaj skaliranja za λ1=λ2=λ*)

ref0[n_]:=IdentityMatrix[3]-2Outer[Times,Normalize[Append[n,0]],Normalize[Append[n,0]]];
(*refleksija u odnosu na pravu sa vektorom normale n koja sadrzi koordinatni pocetak*)

refleksija[P_,n_]:=translacija[P].ref0[n].translacija[-P];
(*refleksija u odnosu na pravu sa vektorom normale n koja sadrzi tacku P*)

9. ZADATAK

tC={1,2};

λ=3;

1. način - koristimo naše funkcije

matrica=homotetija[tC,λ]

matrica//MatrixForm

matrica.{0,0,1}

2. način - koristimo ugrađene funkcije

trans=ScalingTransform[{3,3},tC]

trans[{0,0}]

ispisiFle[trans[{x,y}]]

-> Koordinatni početak se preslikava u tačku (-2,-4).

Manipulate[Show[Graphics[GeometricTransformation[{PointSize[Large],Point[{0,0}]},ScalingTransform[{λ,λ},tC]]], Axes->True, PlotRange->{{-2,2},{3,-5}}],{λ,1,3, Appearance->"Labeled"} ]

10. ZADATAK

ϕ=((7π)/6);

tA={-2,3};

1. način - koristimo naše funkcije

matrica=rotacija[tA,ϕ]

matrica//MatrixForm

matrica.{1,3,1}

2. način - koristimo ugrađene funkcije

r=RotationTransform[ϕ,tA]

r[{1,3}]//Simplify

ispisiFle[r[{x,y}]]

-> Tačka (1,3) se preslikava u tačku (-2-((3 (Sqrt[3]))/2),(3/2)).

Manipulate[Show[Graphics[GeometricTransformation[{PointSize[Large],Red,Point[{1,3}]},RotationTransform[t,tA]]], Axes->True, PlotRange->{{-5,5},{0,7}}],{t,0,ϕ,Appearance->"Labeled"} ]

12. ZADATAK

vn={3,-4};

tP={2,0}; (* tačka sa prave *)

1. način - koristimo naše funkcije

matrica=refleksija[tP,vn]

matrica//MatrixForm

2. način - koristimo ugrađene funkcije

ref=ReflectionTransform[vn,tP]

ispisiFle[ref[{x,y}]]