Affine Abbildungen Drehungen, Spiegelungen...

Prof. Dr. Dörte Haftendorn: Mathematik mit MuPAD 3.1.1, Okt. 05    Update 27.10.05

Web:  https://mathe.web.leuphana.de             www.mathematik-verstehen.de ######################################################

Dieses Notebook eignet sich für viele Beispiele.  "Grün" muss angepasst werden.  (3 Stellen) ###################################################### 

Die Spalten der Abbildungsmatrix sind Bilder  von image    image

Eh:=matrix([[1,0],[0,1]])

math

Drehung um Ursprung mit Winkel phi

image

Dr:=phi-> matrix([[cos(phi), -sin(phi)], [sin(phi), cos(phi)]]):

Dr(phi)

math

Spiegelung an der x-Achse

Spx:=matrix(

[[1,0],[0,-1]]);

math

Spiegelung an der y-Achse

Spy:=matrix([[-1,0],[0,1]]);

math

Spiegelung an der Ursprungs-Geraden y=m x

gw= Steigungswinkel in RAD.

gw:=arctan(m);

math

Spm:=Dr(gw)*Spx*Dr(-gw)

math

image

----------------------------

Von Hand ginge das so:

Dr(g)*Spx*Dr(-g);

math

Additionstheoreme

expand(sin(2*t)),expand(cos(2*t));

math

combine(cos(t)^2-sin(t)^2,sincos);

combine(2*cos(t)*sin(t),sincos);

math

math

rewrite(cos(2*g),tan);

rewrite(sin(2*g),tan)

 

math

math

mit tan(g)=m erhält man dann die angegebene Matrix

----------------------------------

gw= Steigungswinkel in RAD.

Spmw:=matrix([[cos(2*gw),sin(2*gw)],[sin(2*gw),-cos(2*gw)]])

math

---------------------------------------------------------------------

Spiegelung an der Geraden y=m x+b

bvec:=matrix([0,b])

math

image

------------------------------------------------------------------------

image

-------------------------------------------------------------------------

Zentrische Streckung von Ursprung aus mit Faktor k

Zk:=k*Eh;

math

--------------------------------------------------------------------------

Scherung mit y-Achse als Scherachse , Steigungswinkel von Steigung m als Scherwinkel

Scher:=matrix([[1,0],[-m,1]])

math

fkt:=matrix([x,f(x)])

math

Scher*fkt

math

Hier sieht man, dass solche Scherungen Additionen  von Ursprungsgeragen sind.

 

+++++++++++++++++++++++++++++++++++++++++++++

Definition eines Urbildes , hier eintragen

myUr:=[[2,0],[2,1],[1,1],[1,3],[0,3],[0,0],[2,0],[1,1/2]]:

myUrM:=linalg::transpose(matrix(myUr))

math

npk:=nops(myUr):  //Anzahl der Punkte

++++++++++++++++++++++++++++++++++++++++++++++++

Verschiebung  

Translationsvektor hier eintragen Weiterer Hilfsvektor a hier eintragen

trans:=matrix([0,0]);

avec:=matrix([a,b]);

math

math

Aufblasen der Translationsvektoren zu Matrizen (als Funktion)

tm:=tr->linalg::transpose(matrix([[tr[1],tr[2]] $ npk])):

tm(trans);

tm(avec);

math

math

Auswahl, welche Abbildung gezeichnet werden soll. Aktiviere durch Anpassen und Fortnehmen der //

//A:=Dr(PI/3);// hier Drehwinkel eintragen

//A:=Spx;

A:=Spm; m:=-1/2 // hier m eintragen

math

math

spiegelgerade:=plot::Function2d(m*x,x=-3..3):

urbild:=plot::Polygon2d(myUr,

LineWidth=1, LineColor=RGB::Green, Scaling=Constrained):

e1s:=plot::Arrow2d([0,0],[A[1,1],A[2,1]]):

e2s:=plot::Arrow2d([0,0],[A[1,2],A[2,2]],LineColor=RGB::Black):

transl:=plot::Arrow2d([0,0],trans,LineColor=RGB::Magenta):

plot(urbild,e1s,e2s,transl,spiegelgerade,GridVisible=TRUE, ViewingBox=[-5..7,-5..5])

MuPAD graphics

Transponieren, damit die Spalten die Urbild-Punkte sind:

myUrM:=linalg::transpose(matrix(myUr))

math

myBM:=A*myUrM +tm(trans)   //die Bildpunkte

math

myB:=[[myBM[1,j],myBM[2,j]] $ j=1..npk]:

bild:=plot::Polygon2d(myB,

LineWidth=1, LineColor=RGB::Red):

plot(urbild,bild,e1s,e2s,transl,spiegelgerade,GridVisible=TRUE,

ViewingBox=[-5..7,-5..5])

MuPAD graphics

#######################################################

Dastellung der affinen Verformung

Eh:=matrix([[1,0],[0,1]])

math

As:=(1-s)*Eh+s*A

math

myBMs:=As*myUrM

math

myBs:=[[myBMs[1,j],myBMs[2,j]] $ j=1..npk]:

bilds:=plot::Polygon2d(myBs,s=0..1,

LineWidth=1, LineColor=RGB::Red,

AnimationStyle=BackAndForth):

plot(urbild,bilds,e1s,e2s,spiegelgerade,GridVisible=TRUE,

ViewingBox=[-5..4,-5..3.5])

MuPAD graphics

image