2008年6月25日水曜日

エクセルでカージオイド,正葉線,リサージュ

数年前からやってるエクセルでグラフを描かせる「情報」の授業.
毎年のように正葉線,リサージュ曲線とか描かせて遊んでる.
理系の生徒ではないので,特に意味を教えることなく「きれいでしょ」というノリで.

まず1列目に 0度から360度.それを元に2列目にラジアン.
  =度*PI()/180
3列目以降に, =SIN(ラジアン),=COS(ラジアン),=TAN(ラジアン)
これでサイン,コサインの列を選んで,「折れ線グラフ」をつくると,見慣れた形.
タンジェントの列で折れ線を作ると,90度と270度におかしいことが起こっていることがわかる.
  1.63E+16 = 16300000000000000
という巨大数である.これは三角関数の数値計算を多項式(マクローリン展開)で近似計算を行っていることに由来する.
90度と270度のタンジェントは存在しないので,そのセルを削除すれば,見慣れたタンジェントの絵が出現する.
近似計算なので,たとえば,サイン180度は0になるはずが,
  1.23E-16 = 0.000000000000000123
という0に近い数となる.これくらいはグラフを描く上では問題にならない.
サインの近似式は,ラジアンをx として,
  sin x = x-x^3/6+x^5/120-x^7/5040+x^9/362880
程度までやれば十分の精度になるが,本来0になるはずの cos90度やsin180度を 0 に収束させるのは難しい.逆に言うと,エクセルの,この誤差の大きさが,シミュレーションなどにおける繰り返し計算に「エクセルは使えないソフト」である原因になっている.

さて,サインの列を選んで「レーダーグラフ」を選ぶ.
「レーダーグラフ」はたとえば「栄養の偏り」などをあらわしたりするときに使うグラフであるが,0度から360度までのサイン(本当は180度までで十分)をレーダーグラフにかけると,「カーディオイド」になる.これは円の周りに円を回転させたときの形であるが,そんなことは説明しない.
生徒いわく.「桃みたいでかわいい」

さらにサイン,コサイン2列で「散布図」を選ぶと円になる.いわゆる,パラメータ表示になっているわけだが,
「おもしろいでしょ」
で済ます.

続いて,=SIN(ラジアン*5),=COS(ラジアン*7) といった列を作らせる.
SIN(ラジアン*5) でレーダーグラフを作ると.
「花びらみたい」(正葉線)

SIN(ラジアン*5),COS(ラジアン*7) の2列で散布図をつくると,
「わぁきれい」
リサージュ曲線である.5,7の数字をいろいろ変えて遊ぶ.

「情報」の授業をやってても,そこは数学の教員の趣味になるw

0 件のコメント:

コメントを投稿

スパム対策のため,コメントは,承認するまで表示されません。
「コメントの記入者:」は「匿名」ではなく,「名前/URL」を選んで,なにかニックネームを入れてください.URL は空欄で構いません.