Chapter 10 - The Geometry of Linear and Affine Maps

Section 10.1 - The Effect of a Linear Map on Area and Arclength in Two Dimensions

Example 10.1.1

P={5,13};Q={-7,3};

(L1=Transpose[{P,Q}])//MatrixForm

TP={-2,-9};TQ={4,-1};

(L2=Transpose[{TP,TQ}])//MatrixForm

(A=L2.Inverse[L1])//MatrixForm

{A.P,A.Q}

Example 10.1.2

A={{-2,7},{5,3}};

P={-4,-9};Q={8,3};

Norm[P-Q]

TP=A.P

TQ=A.Q

Norm[TP-TQ]

Det[A]

N[Norm[TP-TQ]/Norm[P-Q]]
N[Sqrt[Abs[Det[A]]]]

LinePlots=Graphics[{Thickness[.008],Blue,Line[{P,Q}],Red,Line[{TP,TQ}]}];

TxtPlot=Graphics[{Black,Text["P",{-4,-11}],Text["Q",{8,5}],Text["TP",{-55,-49}],Text["TQ",{5,51}]}];

Show[LinePlots,TxtPlot,Axes->True]

N[Norm[TP-TQ]]

N[Sqrt[Abs[Det[A]]] Norm[P-Q]]

Example 10.1.3

UnitSquare=Graphics[{Blue,Polygon[{{0,0},{0,1},{1,1},{1,0}}]}];

T[{x_,y_}]:=A.{{x},{y}};

TUnitSquare=Graphics[{Red,Polygon[{Flatten[T[{0,0}]],Flatten[T[{0,1}]],Flatten[T[{1,1}]],Flatten[T[{1,0}]]}]}];

TxtPlot2=Graphics[{Black,Text["T(1,0)",{-2.5,5}],Text["T(1,1)",{5,8.5}],Text["T(0,1)",{7.5,3}]}];

Show[TUnitSquare,UnitSquare,TxtPlot2,Axes->True]

T3DVector[{x_,y_}]:=Flatten[{A.{{x},{y}},0}];

{T3DVector[{1,0}],T3DVector[{0,1}]}

Norm[Cross[T3DVector[{0,1}],T3DVector[{1,0}]]]

Det[A]

Commands after Example 10.1.3

v={a,b};w={c,d};

A={{α,β},{δ,θ}};

Det[A]

T3DVector[{x_,y_}]:=Flatten[{A.{{x},{y}},0}];

Norm[Cross[Flatten[{v,0}],Flatten[{w,0}]]]

Norm[Cross[T3DVector[v],T3DVector[w]]]

Abs[Factor[%[[1]]]]

(P=Table[{(Subscript[x, i]),(Subscript[y, i])},{i,1,7}])//MatrixForm

T[{x_,y_}]:=A.{{x},{y}};

(TP=Table[Flatten[T[P[[k]]]],{k,1,7}])//MatrixForm

AreaTP=1/2 (TP[[7,1]] TP[[1,2]]+Sum[TP[[k,1]] TP[[k+1,2]],{k,1,6}]-TP[[7,2]] TP[[1,1]]-Sum[TP[[k,2]] TP[[k+1,1]],{k,1,6}])

AreaP=1/2 (P[[7,1]] P[[1,2]]+Sum[P[[k,1]] P[[k+1,2]],{k,1,6}]-P[[7,2]] P[[1,1]]-Sum[P[[k,2]] P[[k+1,1]],{k,1,6}])

Simplify[AreaTP-Det[A] AreaP]

Example 10.1.4

A={{-2,7},{5,3}};

T[{x_,y_}]:=A.{{x},{y}};

CP={3+6 Cos[t],8+6 Sin[t]};

TCP=Flatten[T[CP]]

PlotCPTCP=ParametricPlot[{CP,TCP},{t,0,2π},PlotStyle->{{Thickness[0.007],Blue},{Thickness[0.007],Red}}];

PtsPlot=Graphics[{PointSize[0.015],Black,Point[{{3,8},Flatten[T[{3,8}]]}]}];

Show[PlotCPTCP,PtsPlot,PlotRange->All]

Manipulate[ArrowPlots={Graphics[{Arrowheads[.03],Thickness[.005],Blue,Arrow[{{3,8},CP/.t->tval}]}],Graphics[{Arrowheads[.06],Thickness[.010],Red,Arrow[{Flatten[T[{3,8}]],TCP/.t->tval}]}]};
Show[PlotCPTCP,ArrowPlots,PtsPlot,PlotRange->All],{{tval,0,"t"},0,2π,π/32}]

NIntegrate[Norm[D[TCP,t]],{t,0,2π}]

ArcLengthEllipse=NIntegrate[Sqrt[D[TCP,t].D[TCP,t]],{t,0,2π}]

N[ArcLengthEllipse/(12π)]
N[Sqrt[Abs[Det[A]]]]

AreaEllipse=N[-Integrate[TCP[[1]] D[TCP[[2]],t],{t,0,2π}]]

N[AreaEllipse/(36 π)]
Abs[Det[A]]

Example 10.1.5

CP2={(3-Cos[12 t]) Cos[t]+7,(3-Cos[12 t]) Sin[t]+11};

TCP2=Simplify[Flatten[T[CP2]]]

PlotCPTCP2=ParametricPlot[{CP2,TCP2},{t,0,2π},PlotStyle->{{Thickness[0.004],Blue},{Thickness[0.007],Red}}];

PtsPlot2=Graphics[{PointSize[0.01],Black,Point[{{7,11},Flatten[T[{7,11}]]}]}];

Show[PlotCPTCP2,PtsPlot2,PlotRange->All]

Manipulate[ArrowPlots={Graphics[{Arrowheads[.02],Thickness[.005],Blue,Arrow[{{7,11},CP2/.t->tval}]}],Graphics[{Arrowheads[.06],Thickness[.010],Red,Arrow[{Flatten[T[{7,11}]],TCP2/.t->tval}]}]};
Show[PlotCPTCP2,ArrowPlots,PtsPlot2,PlotRange->All],{{tval,0,"t"},0,2π,π/32}]

ArcLengthCP2=NIntegrate[Sqrt[D[CP2,t].D[CP2,t]],{t,0,2π}]

ArcLengthTCP2=NIntegrate[Sqrt[D[TCP2,t].D[TCP2,t]],{t,0,2π}]

{ArcLengthTCP2/ArcLengthCP2,N[Sqrt[Abs[Det[A]]]]}

AreaCP2=NIntegrate[CP2[[1]] D[CP2[[2]],t],{t,0,2π}]

AreaTCP2=-NIntegrate[TCP2[[1]] D[TCP2[[2]],t],{t,0,2π}]

{AreaTCP2/AreaCP2,Abs[Det[A]]}