/* [wxMaxima batch file version 1] [ DO NOT EDIT BY HAND! ]*/ /* [ Created with wxMaxima version 0.8.5 ] */ /* [wxMaxima: title start ] Affine Abbildungen [wxMaxima: title end ] */ /* [wxMaxima: comment start ] (A. Filler, Elementare Lineare Algebra, Kapitel 7, Abschnitt 7.3) [wxMaxima: comment end ] */ /* [wxMaxima: section start ] Darstellung einer affinen Abbildung R2->R2 anhand der Eckpunkte eines Quadrates und seiner Bildpunkte [wxMaxima: section end ] */ /* [wxMaxima: comment start ] Die folgende Befehlsfolge ermöglicht es auf einfache Weise, eine affine Abbildung in R2 durch ein Quadrat (mit den Eckpunkten P,Q,R,S) (BLAU) und das Bild dieses Quadrates (ROT) darzustellen. Sie müssen nur die - Abbildungsmatrix A und den - Verschiebungsvektor v verändern, um beliebige affine Abbildungen R2->R2 auf diese Weise zu verdeutlichen. HINWEIS: Sollte die Bildfigur nicht vollständig dargestellt werden, so müssen Sie ggf. den Darstellungsbereich -- xrange = [-8,8], yrange = [-6,6] -- vergrößern. [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ A:matrix([3,0],[1,2]); v:matrix([0],[2]); fx(x,y):= x*A[1,1] + y*A[1,2] + v[1,1]$ fy(x,y):= x*A[2,1] + y*A[2,2] + v[2,1]$ P:[1,1]$ Q:[-1,1]$ R:[-1,-1]$ S:[1,-1]$ P1:[fx(1,1),fy(1,1)]$ Q1:[fx(-1,1),fy(-1,1)]$ R1:[fx(-1,-1),fy(-1,-1)]$ S1:[fx(1,-1),fy(1,-1)]$ load("draw")$ draw2d( user_preamble = ["set size ratio 1" , "set zeroaxis"], xrange = [-8,8], yrange = [-6,6], point_type=circle, color = blue, points ([P,Q,R,S]), line_width = 3, transparent=true, polygon([P,Q,R,S]), color = red, points ([P1,Q1,R1,S1]), polygon([P1,Q1,R1,S1]) )$ /* [wxMaxima: input end ] */ /* [wxMaxima: section start ] Darstellung einer affinen Abbildung R3->R3 anhand der Eckpunkte eines Würfels und seiner Bildpunkte [wxMaxima: section end ] */ /* [wxMaxima: comment start ] Die folgende Befehlsfolge ermöglicht es auf einfache Weise, eine affine Abbildung in R3 durch einen Würfel (mit den Eckpunkten A1,B1,C1,D1,E1,F1,G1,H1) (BLAU) und das Bild dieses Würfels (ROT) darzustellen. Sie müssen nur die - Abbildungsmatrix A und den - Verschiebungsvektor v verändern, um beliebige affine Abbildungen R3->R3 auf diese Weise zu verdeutlichen. HINWEIS: Sollte die Bildfigur nicht vollständig dargestellt werden, so müssen Sie ggf. den Darstellungsbereich -- xrange = [ , ], yrange = [ , ], zrange = [ , ] -- vergrößern. [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ A:matrix([1,-2,0],[1,2,0],[-1,0,1]); v:matrix([3],[-3],[-2]); fx(x,y,z):= x*A[1,1] + y*A[1,2] + z*A[1,3] + v[1,1]$ fy(x,y,z):= x*A[2,1] + y*A[2,2] + z*A[2,3] + v[2,1]$ fz(x,y,z):= x*A[3,1] + y*A[3,2] + z*A[3,3] + v[3,1]$ load(draw)$ A1:[-1,1,1]$ B1:[-1,-1,1]$ C1:[-1,-1,-1]$ D1:[-1,1,-1]$ E1:[1,1,1]$ F1:[1,-1,1]$ G1:[1,-1,-1]$ H1:[1,1,-1]$ A2:[fx(-1,1,1),fy(-1,1,1),fz(-1,1,1)]$ B2:[fx(-1,-1,1),fy(-1,-1,1),fz(-1,-1,1)]$ C2:[fx(-1,-1,-1),fy(-1,-1,-1),fz(-1,-1,-1)]$ D2:[fx(-1,1,-1),fy(-1,1,-1),fz(-1,1,-1)]$ E2:[fx(1,1,1),fy(1,1,1),fz(1,1,1)]$ F2:[fx(1,-1,1),fy(1,-1,1),fz(1,-1,1)]$ G2:[fx(1,-1,-1),fy(1,-1,-1),fz(1,-1,-1)]$ H2:[fx(1,1,-1),fy(1,1,-1),fz(1,1,-1)]$ draw3d( user_preamble = ["set size ratio 1"], grid=true, xaxis=true, yaxis=true, xrange = [-6.4,6.4], yrange = [-6.4,6.4], zrange = [-4,4], color = blue, line_width = 3, points_joined = true,point_type=none, points([A1,B1,C1,D1,A1,E1,F1,G1,H1,E1]), points([B1,F1]),points([C1,G1]),points([D1,H1]), color = red, points([A2,B2,C2,D2,A2,E2,F2,G2,H2,E2]), points([B2,F2]),points([C2,G2]),points([D2,H2]) )$ /* [wxMaxima: input end ] */ /* [wxMaxima: subsect start ] Beispiele aus dem Buch [wxMaxima: subsect end ] */ /* [wxMaxima: comment start ] Zentrische Streckung + Verschiebung (Beispiel 7.27) [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ A:matrix([3,0,0],[0,3,0],[0,0,3]); v:matrix([6],[-1],[-2]); fx(x,y,z):= x*A[1,1] + y*A[1,2] + z*A[1,3] + v[1,1]$ fy(x,y,z):= x*A[2,1] + y*A[2,2] + z*A[2,3] + v[2,1]$ fz(x,y,z):= x*A[3,1] + y*A[3,2] + z*A[3,3] + v[3,1]$ load(draw)$ A1:[-1,1,1]$ B1:[-1,-1,1]$ C1:[-1,-1,-1]$ D1:[-1,1,-1]$ E1:[1,1,1]$ F1:[1,-1,1]$ G1:[1,-1,-1]$ H1:[1,1,-1]$ A2:[fx(-1,1,1),fy(-1,1,1),fz(-1,1,1)]$ B2:[fx(-1,-1,1),fy(-1,-1,1),fz(-1,-1,1)]$ C2:[fx(-1,-1,-1),fy(-1,-1,-1),fz(-1,-1,-1)]$ D2:[fx(-1,1,-1),fy(-1,1,-1),fz(-1,1,-1)]$ E2:[fx(1,1,1),fy(1,1,1),fz(1,1,1)]$ F2:[fx(1,-1,1),fy(1,-1,1),fz(1,-1,1)]$ G2:[fx(1,-1,-1),fy(1,-1,-1),fz(1,-1,-1)]$ H2:[fx(1,1,-1),fy(1,1,-1),fz(1,1,-1)]$ draw3d( user_preamble = ["set size ratio 1"], grid=true, xaxis=true, yaxis=true, xrange = [-9,9], yrange = [-9,9], zrange = [-6,6], color = blue, line_width = 3, points_joined = true,point_type=none, points([A1,B1,C1,D1,A1,E1,F1,G1,H1,E1]), points([B1,F1]),points([C1,G1]),points([D1,H1]), color = red, points([A2,B2,C2,D2,A2,E2,F2,G2,H2,E2]), points([B2,F2]),points([C2,G2]),points([D2,H2]) )$ /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Axiale Streckung + Verschiebung (Beispiel 7.28) [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ A:matrix([2,0,0],[0,4,0],[0,0,1/2]); v:matrix([5],[-2],[-3]); fx(x,y,z):= x*A[1,1] + y*A[1,2] + z*A[1,3] + v[1,1]$ fy(x,y,z):= x*A[2,1] + y*A[2,2] + z*A[2,3] + v[2,1]$ fz(x,y,z):= x*A[3,1] + y*A[3,2] + z*A[3,3] + v[3,1]$ load(draw)$ A1:[-1,1,1]$ B1:[-1,-1,1]$ C1:[-1,-1,-1]$ D1:[-1,1,-1]$ E1:[1,1,1]$ F1:[1,-1,1]$ G1:[1,-1,-1]$ H1:[1,1,-1]$ A2:[fx(-1,1,1),fy(-1,1,1),fz(-1,1,1)]$ B2:[fx(-1,-1,1),fy(-1,-1,1),fz(-1,-1,1)]$ C2:[fx(-1,-1,-1),fy(-1,-1,-1),fz(-1,-1,-1)]$ D2:[fx(-1,1,-1),fy(-1,1,-1),fz(-1,1,-1)]$ E2:[fx(1,1,1),fy(1,1,1),fz(1,1,1)]$ F2:[fx(1,-1,1),fy(1,-1,1),fz(1,-1,1)]$ G2:[fx(1,-1,-1),fy(1,-1,-1),fz(1,-1,-1)]$ H2:[fx(1,1,-1),fy(1,1,-1),fz(1,1,-1)]$ draw3d( user_preamble = ["set size ratio 1"], grid=true, xaxis=true, yaxis=true, xrange = [-9,9], yrange = [-9,9], zrange = [-6,6], color = blue, line_width = 3, points_joined = true,point_type=none, points([A1,B1,C1,D1,A1,E1,F1,G1,H1,E1]), points([B1,F1]),points([C1,G1]),points([D1,H1]), color = red, points([A2,B2,C2,D2,A2,E2,F2,G2,H2,E2]), points([B2,F2]),points([C2,G2]),points([D2,H2]) )$ /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Verallgemeinerte Scherung (Beispiel 7.29) [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ A:matrix([2,1,1],[0,2,0],[0,0,2]); v:matrix([5],[4],[3]); fx(x,y,z):= x*A[1,1] + y*A[1,2] + z*A[1,3] + v[1,1]$ fy(x,y,z):= x*A[2,1] + y*A[2,2] + z*A[2,3] + v[2,1]$ fz(x,y,z):= x*A[3,1] + y*A[3,2] + z*A[3,3] + v[3,1]$ load(draw)$ A1:[-1,1,1]$ B1:[-1,-1,1]$ C1:[-1,-1,-1]$ D1:[-1,1,-1]$ E1:[1,1,1]$ F1:[1,-1,1]$ G1:[1,-1,-1]$ H1:[1,1,-1]$ A2:[fx(-1,1,1),fy(-1,1,1),fz(-1,1,1)]$ B2:[fx(-1,-1,1),fy(-1,-1,1),fz(-1,-1,1)]$ C2:[fx(-1,-1,-1),fy(-1,-1,-1),fz(-1,-1,-1)]$ D2:[fx(-1,1,-1),fy(-1,1,-1),fz(-1,1,-1)]$ E2:[fx(1,1,1),fy(1,1,1),fz(1,1,1)]$ F2:[fx(1,-1,1),fy(1,-1,1),fz(1,-1,1)]$ G2:[fx(1,-1,-1),fy(1,-1,-1),fz(1,-1,-1)]$ H2:[fx(1,1,-1),fy(1,1,-1),fz(1,1,-1)]$ draw3d( user_preamble = ["set size ratio 1"], grid=true, xaxis=true, yaxis=true, xrange = [-9,9], yrange = [-9,9], zrange = [-6,6], color = blue, line_width = 3, points_joined = true,point_type=none, points([A1,B1,C1,D1,A1,E1,F1,G1,H1,E1]), points([B1,F1]),points([C1,G1]),points([D1,H1]), color = red, points([A2,B2,C2,D2,A2,E2,F2,G2,H2,E2]), points([B2,F2]),points([C2,G2]),points([D2,H2]) )$ /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Weitere verallgemeinerte Scherung (Beispiel 7.30) [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ A:matrix([-3,-3,2],[-2,2,1],[1,0,3]); v:matrix([-2],[-2],[2]); fx(x,y,z):= x*A[1,1] + y*A[1,2] + z*A[1,3] + v[1,1]$ fy(x,y,z):= x*A[2,1] + y*A[2,2] + z*A[2,3] + v[2,1]$ fz(x,y,z):= x*A[3,1] + y*A[3,2] + z*A[3,3] + v[3,1]$ load(draw)$ A1:[-1,1,1]$ B1:[-1,-1,1]$ C1:[-1,-1,-1]$ D1:[-1,1,-1]$ E1:[1,1,1]$ F1:[1,-1,1]$ G1:[1,-1,-1]$ H1:[1,1,-1]$ A2:[fx(-1,1,1),fy(-1,1,1),fz(-1,1,1)]$ B2:[fx(-1,-1,1),fy(-1,-1,1),fz(-1,-1,1)]$ C2:[fx(-1,-1,-1),fy(-1,-1,-1),fz(-1,-1,-1)]$ D2:[fx(-1,1,-1),fy(-1,1,-1),fz(-1,1,-1)]$ E2:[fx(1,1,1),fy(1,1,1),fz(1,1,1)]$ F2:[fx(1,-1,1),fy(1,-1,1),fz(1,-1,1)]$ G2:[fx(1,-1,-1),fy(1,-1,-1),fz(1,-1,-1)]$ H2:[fx(1,1,-1),fy(1,1,-1),fz(1,1,-1)]$ draw3d( user_preamble = ["set size ratio 1"], grid=true, xaxis=true, yaxis=true, xrange = [-9,9], yrange = [-9,9], zrange = [-6,6], color = blue, line_width = 3, points_joined = true,point_type=none, points([A1,B1,C1,D1,A1,E1,F1,G1,H1,E1]), points([B1,F1]),points([C1,G1]),points([D1,H1]), color = red, points([A2,B2,C2,D2,A2,E2,F2,G2,H2,E2]), points([B2,F2]),points([C2,G2]),points([D2,H2]) )$ /* [wxMaxima: input end ] */ /* [wxMaxima: comment start ] Abbildung des Raumes in eine Ebene (Beispiel 7.31) [wxMaxima: comment end ] */ /* [wxMaxima: input start ] */ A:matrix([1,2,0],[2,3,1],[1,1,1]); v:matrix([-4],[3],[1]); fx(x,y,z):= x*A[1,1] + y*A[1,2] + z*A[1,3] + v[1,1]$ fy(x,y,z):= x*A[2,1] + y*A[2,2] + z*A[2,3] + v[2,1]$ fz(x,y,z):= x*A[3,1] + y*A[3,2] + z*A[3,3] + v[3,1]$ load(draw)$ O:[0,0,0]$ O2:[fx(0,0,0),fy(0,0,0),fz(0,0,0)]$ A1:[-1,1,1]$ B1:[-1,-1,1]$ C1:[-1,-1,-1]$ D1:[-1,1,-1]$ E1:[1,1,1]$ F1:[1,-1,1]$ G1:[1,-1,-1]$ H1:[1,1,-1]$ A2:[fx(-1,1,1),fy(-1,1,1),fz(-1,1,1)]$ B2:[fx(-1,-1,1),fy(-1,-1,1),fz(-1,-1,1)]$ C2:[fx(-1,-1,-1),fy(-1,-1,-1),fz(-1,-1,-1)]$ D2:[fx(-1,1,-1),fy(-1,1,-1),fz(-1,1,-1)]$ E2:[fx(1,1,1),fy(1,1,1),fz(1,1,1)]$ F2:[fx(1,-1,1),fy(1,-1,1),fz(1,-1,1)]$ G2:[fx(1,-1,-1),fy(1,-1,-1),fz(1,-1,-1)]$ H2:[fx(1,1,-1),fy(1,1,-1),fz(1,1,-1)]$ draw3d( user_preamble = ["set size ratio 1"], grid=true, xaxis=true, yaxis=true, xrange = [-9,9], yrange = [-9,9], zrange = [-6,6], points([O]),points([O2]), color = blue, line_width = 3, points_joined = true,point_type=none, points([A1,B1,C1,D1,A1,E1,F1,G1,H1,E1]), points([B1,F1]),points([C1,G1]),points([D1,H1]), color = red, points([A2,B2,C2,D2,A2,E2,F2,G2,H2,E2]), points([B2,F2]),points([C2,G2]),points([D2,H2]) )$ /* [wxMaxima: input end ] */ /* Maxima can't load/batch files which end with a comment! */ "Created with wxMaxima"$