Papierfalten
Mathematische Modellierung mit dem CAS Maple V
Arbeitsgemeinschaft der Jugendakademie Mannheim
am Ludwig-Frank-Gymnasium Mannheim
Tobias Wißler , Stefan Becherer, Henrick Hambsch, Ole Böttcher
Waldemar Schulgowski, Konstantin Elizarov
Leitung: M. Laule
Papierfalten-HP.mws
Aufgabenstellung
Das mehrfache Falten eines Papierstreifens liefert sehr unübersichtliche Ergebnisse.
Mit Hilfe eines Computeralgebrasystems sollen entsprechende Muster erzeugt und untersucht werden.
Mathematisches Modell
I
II
III
IV
Wir durchlaufen die Kanten von unten nach oben und notieren, ob es sich um Links- bzw. Rechtskurven handelt.
I
L
II
L L R
III
L L R L L R R
IV
L L R L L R R L L L R R L R R
usw.
Ein Bildungsgesetz lässt sich demnach wie folgt notieren:
Bei der Realisierung mit Maple durchlaufen wir die Kanten und erzeugen abwechselnd links und rechts neue Ecken und somit eine neue Faltung.
Lösung mit Maple V
Notwendige Prozeduren
> | restart:with(plots):with(linalg): |
Warning, the name changecoords has been redefined
Warning, the protected names norm and trace have been redefined and unprotected
> | Neue_Ecke:=proc(P,Q,r) global NP; local M; M:=evalm(1/2*(P+Q)); if r mod 2 <> 0 then NP:=evalm(M+1/2*[Q[2]-P[2],P[1]-Q[1]]); else NP:=evalm(M+1/2*[P[2]-Q[2],Q[1]-P[1]]); fi; NP:=convert(NP,list) end: |
> | P:=[-2.,-3.];Q:=[2.,3.]; |
> | Neue_Ecke(P,Q,2); |
> | plot([P,NP,Q],scaling=constrained); |
> | falten_vorne:=proc(liste) global h; local i; h:=[liste[1]]; for i from 1 to nops(liste)-1 do Neue_Ecke(liste[i],liste[i+1],i); h:=[op(h),NP,liste[i+1]]; od; end: |
> | falten_hinten:=proc(liste) global h; local i; h:=[liste[1]]; for i from 1 to nops(liste)-1 do Neue_Ecke(liste[i],liste[i+1],i+1); h:=[op(h),NP,liste[i+1]]; od; end: |
> | liste:=[P,Q]; |
> |
Falten in einer Richtung (nach vorne):
> | Bilder1:=proc(liste,n) global h,plotliste; local i; h:=liste;plotliste:=[plot(h)]; for i from 1 to n do falten_vorne(h); plotliste:=[op(plotliste),plot(h)]; od; end: |
> | Bilder1(liste,10): |
> | display(plotliste,insequence=true,scaling=constrained,\ title=`Faltpolygon p[10](v,v,v,v,v,v,v,v,v,v)`,\ titlefont=[TIMES,ITALIC,24],thickness=2); |
> |
Falten in zwei Richtungen (nach vorne und nach hinten)
> | Bilder2:=proc(liste,n) global h,plotliste; local i; h:=liste;plotliste:=[plot(h)]; for i from 1 to n-1 do falten_vorne(h); plotliste:=[op(plotliste),plot(h)]; od; falten_hinten(h); plotliste:=[op(plotliste),plot(h)]; end: |
> | Bilder2(liste,10): |
> | display(plotliste,insequence=true,scaling=constrained,\ title=`Faltpolygon p[10](v,v,v,v,v,v,v,v,v,h)`,\ titlefont=[TIMES,ITALIC,24],thickness=2); |
> |
> | Bilder3:=proc(liste,n) global h,plotliste; local i; h:=liste;plotliste:=[plot(h)]; for i from 1 to n do if i mod 3 <> 0 then falten_vorne(h); plotliste:=[op(plotliste),plot(h)] else falten_hinten(h); plotliste:=[op(plotliste),plot(h)] fi; od; end: |
> | Bilder3(liste,10): |
> | display(plotliste,insequence=true,scaling=constrained,\ title=`Faltpolygon p[10](v,v,h,v,v,h,v,v,h,v)`,\ titlefont=[TIMES,ITALIC,24],thickness=2); |
> |
> | Bilder4:=proc(liste,n) global h,plotliste; local i; h:=liste;plotliste:=[plot(h)]; for i from 1 to n do if i mod 2 <> 0 then falten_vorne(h); plotliste:=[op(plotliste),plot(h)] else falten_hinten(h); plotliste:=[op(plotliste),plot(h)] fi; od; end: |
> | Bilder4(liste,10): |
> | display(plotliste,insequence=true,scaling=constrained,\ title=`Faltpolygon p[10](v,h,v,h,v,h,v,h,v,h)`,\ titlefont=[TIMES,ITALIC,24],thickness=2); |
> |
Literatur
Zühlke : Über Papierfalten und Drachenkurven zu Methoden der Fraktalen Geometrie
MNU 50/1
Diemer/ Bachert/ Laule : Mathematik mit Maple V
Dümmler
Westermann, Buhmann, Diemer, Endres, Laule, Wilke : Mathematische Begriffe visualisiert mit Maple
Springer