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 ---- COLOR(red){2月7日(木)} 今月終わりには,生徒が要約レポートを提出しなければならないので 突貫で教えました. 相似・回転・平行移動を使ってアフィン変換でフラクタル図形のプログラムを 作ることを目標にしました. 本当は,数学Cの行列・一次変換を教えてから, 進めたかったのですが,時間の都合でshift,rotate,scaleという 都合の良い文法を活用することにしました. (1)コッホ曲線とシェルピンスキーのギャスケット コッホ曲線で自己相似集合については,「二等辺三角形」 #ref(koch.JPG,left) 内部自己相似集合については,「線分」 #ref(koch1.jpg,left) で示すことにしました.シェルピンスキーのギャスケットは,彼らが興味を持てば課題です. (2)樹木と羊歯 コッホ曲線の応用で,線分をうまく配置して繋いでいけば,身近な枯れ木になることを示した. #ref(tree.JPG,left) 線分の回転の角度等を変化させると四季の樹木が描けます.COLOR(red){左から春→夏→...} #ref(shiki.JPG,left) ただし,下図のように確率も用いて表現することは,今回は触れていません. #ref(trees.JPG,left) 羊歯については,1つの長方形から始めて,変換した4つの長方形を順次重ね,繋ぎ合わせる と生成できるということを示しました. #ref(shida.JPG,left) (3)血管系 雑談混じりに1つ示しました. #ref(kekkan.JPG,left) ※今後は,生徒のレポート作成に授業時間が割かれることになります.1年間手探りで 飛び入りの内容もあり,軌道修正しましたがそれなりに達成感はありました. 生徒はプログラムに興味を持って,色んな工夫をしています. 40枚の論文に描ききれるだろうかと迄.中には,C言語で描き始めてレビ曲線まで描いてしまっている様です.SIZE(9){(引用文献)石村貞夫,石村園子,『フラクタル数学』,(株)東京図書,1997/9}