たまには数学の記事を書かないとね。
HTML5とJavascriptで、上記の画像を作って、アニメGIFにしてみました。
f(x)=sin x
のグラフは、高校生になれば良く見ることだろう。
2点が決まれば、
g(x)=ax+b
という直線の方程式は一意に定まる。
それは、2点のxy座標を代入した2式を作り、連立方程式を解けば、a、bは定まる。
同一直線上に無い3点が決まれば、
g(x)=ax2+bx+c
という放物線の方程式は一意に定まる。
同一直線上、同一放物線上に無い4点が決まれば、
g(x)=ax3+bx2+cx+d
という三次方程式は一意に定まる。
…
と、高次方程式で考えていく。
sinカーブ上のn+1個の点を、n次方程式に代入すれば、上記のように、ある一定区間がsinカーブと重なっていくのである。
アニメGIFでは、マクローリン展開の項を低次の項から順々に増やし、その方程式がどんな曲線を描いているのかを、ちゃんとJavascriptで計算し、HTML5のCanvasに描いている。
ついでに数式も描いたんだけど、そこが一番面倒だったかもしれないな。
テーラーにしろ、マクローリンにしろ、1600年後半から1700年前半の数学者で、テーラー展開が1715年に導入されたとあります。
なんかすごいよねぇ。
自分は数学は多少は理解出来るけど、こんなとてつもない発想力や想像力は無いし、当時としてはこんな風に動くような魅せ方は出来なかっただろうから、頭の中でイメージを膨らましていたんだろう。
今は具現化に関しては恵まれているので、ちょっとした知識さえあれば、誰でもこれくらいのことは出来てしまうので、イメージの具現化がしやすいし、具現化されたものから確信を得やすいのかもしれません。
さて、唐突にこんなものを作ったのには理由があって、それはまた別の記事で。
ではでは
PS:
Javascriptには、Math.pow()関数はあるけど、Math.fact()ととかMath.gamma()のような階乗関数もしくはガンマ関数は無いんだね。
まぁ、どちらも無くても整数乗や整数階乗なので、そこまで問題ではないんだけど、あるのかと思って探した時間が勿体なかったかな。