Affine Abbildungen

Prof. Dr. Dörte Haftendorn: Mathematik mit MuPAD 4.0, ( MuPAD 3 im Okt. 05)    Update 8.06.07

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

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

Beliebige Abbildungsmatrix   hier eintragen

A := matrix([[3/2, 1/2], [1/2, 3/4]]);

math

Die Spalten sind Bilder  von image    image

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

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

Transponieren, damit die Spalten die Urbild-Punkte sind:

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

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):

plot(urbild,e1s,e2s,GridVisible=TRUE, ViewingBox=[0..7,0..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,GridVisible=TRUE,

ViewingBox=[0..4,0..3.5])

MuPAD graphics

image

Nochmal ansehen, das ist die Urbildfigur

myUrM

math

Translationsvektor‎ hier eintragen

trans:=matrix([3,2]);

math

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

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

MuPAD graphics

t:=linalg::transpose(matrix([[trans[1],trans[2]] $ npk]))

math

Hier muss man den Translationsvektor "aufblähen" damit die Urbildfigur in einem Rutsch

abgebildet werden kann.

myBM:=A*myUrM +t   //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,GridVisible=TRUE,

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

MuPAD graphics

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

Ein Schmankerl, dieses Bild als Animation:

tr:=r*linalg::transpose(matrix([[trans[1],trans[2]] $ npk]))

math

myBMr:=A*myUrM +tr   //die Bildpunkte

math

Hier wird dafür gesorgt, dass die Bildfigur an einer von r abhängigen Stelle gezeichnet

werden kann.

translat:=plot::Arrow2d([0,0],r*trans,r=0..1,LineColor=RGB::Magenta):

myBr:=[[myBMr[1,j],myBMr[2,j]] $ j=1..npk]:

bildr:=plot::Polygon2d(myBr,r=0..1,

LineWidth=1, LineColor=RGB::Red,

AnimationStyle=BackAndForth):

plot(urbild,bildr,e1s,e2s,translat,GridVisible=TRUE,

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

MuPAD graphics

image