Geometric Matrix Transformations II - 3D

3D Single Transformation

3D Version with Adjustable Matrix

Manipulate[
A={{a11,a12,a13},{a21,a22,a23},{a31,a32,a33}};

Graphics3D[{
{Blue,Line[{{0,0,0},vector}],Text["original",vector*1.1]},
{Red,Line[{{0,0,0},A.vector}],Text["result",A.vector*1.1]}
},Axes->True,PlotRange->10],
{{vector,{2,3,1}},{-10,-10,-10},{10,10,10}},
{a11,None},{a12,None},{a21,None},{a22,None},
{a13,None},{a23,None},{a31,None},{a32,None},{a33,None},

Row[{"A = ",Grid[{
{PopupMenu[Dynamic[a11],{-2,-1,0,1,2}],PopupMenu[Dynamic[a12],{-2,-1,0,1,2}],PopupMenu[Dynamic[a13],{-2,-1,0,1,2}]},
{PopupMenu[Dynamic[a21],{-2,-1,0,1,2}],PopupMenu[Dynamic[a22],{-2,-1,0,1,2}],PopupMenu[Dynamic[a23],{-2,-1,0,1,2}]},
{PopupMenu[Dynamic[a31],{-2,-1,0,1,2}],PopupMenu[Dynamic[a32],{-2,-1,0,1,2}],PopupMenu[Dynamic[a33],{-2,-1,0,1,2}]}
}]}]
]

3D Version with Embellishments

Manipulate[
A={{a11,a12,a13},{a21,a22,a23},{a31,a32,a33}};

Show[
Graphics3D[{
{Blue,Line[{{0,0,0},vector}],Text["original",vector*1.1]},
{Red,Line[{{0,0,0},A.vector}],Text["result",A.vector*1.1]}
},Axes->True,PlotRange->10,AxesEdge->Table[-1,{3},{2}],AxesLabel->{"x","y","z"},Boxed->False],

If[showplanes,
ParametricPlot3D[{{x,y,0},{x,0,y},{0,x,y}},{x,-10,10},{y,-10,10},Mesh->None,PlotStyle->Opacity[0.5]],
{}]
],

{showplanes,{True,False}},
{{vector,{2,3,1}},{-10,-10,-10},{10,10,10}},
{a11,None},{a12,None},{a21,None},{a22,None},
{a13,None},{a23,None},{a31,None},{a32,None},{a33,None},

Row[{"A = ",Grid[{
{PopupMenu[Dynamic[a11],{-2,-1,0,1,2}],PopupMenu[Dynamic[a12],{-2,-1,0,1,2}],PopupMenu[Dynamic[a13],{-2,-1,0,1,2}]},
{PopupMenu[Dynamic[a21],{-2,-1,0,1,2}],PopupMenu[Dynamic[a22],{-2,-1,0,1,2}],PopupMenu[Dynamic[a23],{-2,-1,0,1,2}]},
{PopupMenu[Dynamic[a31],{-2,-1,0,1,2}],PopupMenu[Dynamic[a32],{-2,-1,0,1,2}],PopupMenu[Dynamic[a33],{-2,-1,0,1,2}]}
}]}]
]

Abby Brown - www.abbymath.com - March 2008