JavaScriptで数式を入力したらその関数のグラフを書くアプリを作成します。

HTML部分

まずHTML部分を示します。

style.css

ページが読み込まれたときの処理

JavaScript部分を示します。

ページが読み込まれたらcanvasのサイズを調整して背景を黒で塗りつぶしたあとでxy軸を描画します。

最初は1ピクセルを0.01とします。したがって原点に相当する部分から100ピクセル右の部分が(1,0)となります。レンジスライダーの値は-5 ~ -1までで、この値で10のn乗を計算して1ピクセルあたりの値を変化させます。

index.js

XY軸を描画する処理を示します。canvasの中央が原点になります。XY軸をはっきりと描画したいので、先に方眼を描画します。最後にX軸とY軸を描画します。

関数のグラフを描画する処理

テキストボックスに入力された数式を取得して関数のグラフを描画する処理を示します。

動作させてみる

テキストボックスに Math.pow(x, 2) と入力してから[グラフを描画する]ボタンをクリックすると放物線が描画されます。

Math.pow(x, x)だと(xのx乗)だとこうなります。

受験数学でよくでてくる eのx乗×sin x(Math.pow(2.71828, x) * Math.sin(x))だとこうなります。

ただ困ったことにこの方法だと連続ではない関数がつながって描画されてしまいます。

tan x のグラフを書くと未定義の部分がつながってしまいます。