- 追加された行はこの色です。
- 削除された行はこの色です。
NetaTaneMenu >>>> [[準フラクタル図形]] >>>> [[授業「フラクタル」高1生]] >>>> [[フラクタル授業(2学期)]] >>>> [[2学期続き→DL]] >>>> フラクタル3学期(クライマックス)
*フラクタル3学期(クライマックス)
----
COLOR(red){12月20日(木)}
テレビ会議でそれなりにエネルギーを使って,フラクタルの内容の学習の進行があまりなかったので,3学期からアフィン変換を利用することを告げました.カオスゲームは,シェルピンスキーのギャスケットを基本に変化させたわけですが,アフィン変換を表す行列が3つあり,それぞれの変換が発生する確率が,3つとも1/3となります。
そのプログラムソースと羊歯を描くソースを説明しました。特に羊歯は,表現するアフィン変換の行列が4つあり,それぞれの変換の発生する確率は,4つとも異なります。10進Basicで描き,感動の声が上がりました。
そこで,製作途中の「アンモナイト」の3つの行列と発生確率のデータを示し,作らせてみました。それが以下の図です。喜んでいました。
#ref(anmo.JPG,center)
ただし,行列の各要素や確率の値は特有のもので,うまく自然界の模様が表れるようにこの値を探し当てることは至難の業です。そこで3学期からは,数Cで扱うこの行列と1次変換の仕組みを簡単にレクチャーをして,縮小+回転+平行移動した図形を重ね合わせることで,描き出される自然について研究しようと述べて今年最後の授業としました。
----
形態発生のアルゴリズムには重要なパラメータの組があって,それらをうまく選ばないと期待したものにはなってくれないものです。ところが,なんとかプログラムを写経して走らせるレベルだと,仕組みが分かっていないので試行錯誤で這いずり回ってしまう。実はそこから数学が始まると理想的なのですけどね。(小波)
----
COLOR(red){1月3日(木)}
#ref(2007_1222.JPG,left)
メトロというスウェーデンの新聞記事に載ったという話を聞いたので,それだけを頼りに難解なスウェーデン語の単語の山の中を,勘だけの執念で辿り着きました。
----
COLOR(red){1月10日(木)}
年末の記事は,スウェーデン政府の国立数学センターが大変興味を持ち,取材に寄越したというものであると聞き恐縮しています。
今回はカオスゲームのプレゼンテーションと新年の挨拶を兼ねて,交信をしました。
#ref(chaosgame.JPG,left)
準備物を掲示板に書き,作業も果たして理解してくれるかどうか不安だったみたいですが,見事に意志が伝わり喜んでいました。悪知恵の働く生徒もいて自分達が苦労したのを思い出して「サイコロを100回振れ」と伝えると,先方の爆笑の声が聞こえ打ち解け合いました。先方の作業も段々と緩慢になるのを見て「そろそろ杜撰になってきたなぁ。では許してやろう」と観察する余裕まで生まれていました。アフィン変換と発生確率のプログラムを提示しようとしたのですが,先方も上手で既にプログラミングをしてグラフィック化してきました。それには,こちらも驚いた様です。今後は,アフィン変換を活用して自然界の造形物を示すつもりです。
次に,スウェーデン側は図形の次元を測定してきて,フィヨルドが1.25次元なんだということに感動していました。
#ref(fiyrd.JPG,left)
今回は見事に英会話の受け答えがスムーズで,質問や筆談する者等アイデア満載の対応をしていて互いに喜んでいました。
さて,生徒達は未だ気づいていないのですが,カオスゲームのアルゴリズムを微妙に変えました。以前は,[[GRAPESでフラクタル]]のソースを活用して学習させていましたが
以下のようなソース(見てくれはあまり宜しくないです)との違いには気づいていません。これについては,徐々に気づかせようと思っています。
!Sierpinski Gasket
!--------Elements of Matrix---------
DATA 0.5,0,0,0.5,0,0
READ a1,b1,c1,d1,e1,f1
DATA 0.5,0,0,0.5,0.5,0
READ a2,b2,c2,d2,e2,f2
DATA 0.5,0,0,0.5,0.25,0.5
READ a3,b3,c3,d3,e3,f3
!-------Display Area and Starting Point--------
SET POINT STYLE 1
LET px = 0
LET py = 0
SET WINDOW 0,2,0,2
PLOT POINTS: px,py
!----Affine-transformation and the generation probability----
FOR i=0 TO 100000
LET k = RND
IF k<0.33333 THEN
LET px = a1*px+b1*py+e1
LET py = c1*px+d1*py+f1
ELSEIF k<0.66666 THEN
LET px = a2*px+b2*py+e2
LET py = c2*px+d2*py+f2
ELSE
LET px = a3*px+b3*py+e3
LET py = c3*px+d3*py+f3
END IF
SET POINT STYLE 1
SET POINT COLOR 2
PLOT POINTS: px, py
NEXT I
end