![見出し画像](https://assets.st-note.com/production/uploads/images/150660487/rectangle_large_type_2_5f7970ac4a6aecae810e411e24d7c0ae.jpeg?width=1200)
高校数学10分プログラミング(数学Ⅰ編 1.2次関数)1日目「1次関数のグラフを描く」
マガジンリスト > 数学Ⅰ編 1.2次関数 > 1日目 課題
おはようございます。
今日から、高校数学10分プログラミングでは数学Iで学ぶ「2次関数」の内容を扱っていきます。今回はその1日目です。
本日の課題は、1次関数のグラフを描くプログラムを作成することです。
課題
1次関数
$$
y = \frac{1}{2} x + 1
$$
のグラフを描くプログラムを作成してください。
ヒント
まず、キャンバス上に座標軸を準備する必要があります。これは記事『高校数学をプログラミングで解く(数学I編)「1-0-2 グラフを描くための準備(その2)」』でキャンバス上に座標軸を描く関数 setAxes を作成しましたので、この関数を利用します。
この setAxes 関数を利用して1次関数のグラフを描くスケッチ「drawLinearFunction」も準備しています。以下の zip ファイルをダウンロードして展開または解凍してご利用ください。
展開または解凍して得られるスケッチ「drawLinearFunction」の中のpdeファイル「drawLinearFunction.pde」をダブルクリックしてスケッチ「drawLinearFunction」の開発環境ウィンドウを立ち上げます。開発環境ウィンドウのタブ欄で「drawLinearFunction」タブを選択すると、そのテキストエリアに以下のソースコードが書かれています。
void setup(){
size(500,500);
noLoop();
float x_range = 10.0; // x軸の表示範囲 -x_rangeからx_rangeまで
float y_range = 10.0; // y軸の表示範囲 -y_rangeからy_rangeまで
setAxes(x_range, y_range); // 座標軸の準備
noFill();
stroke(0,0,0);
// グラフの定義域
float x_min = -x_range;
float x_max = x_range;
int plot_num = 200; // グラフを描くための頂点の個数
// グラフを描画
float x, y; // 関数の座標
float X, Y; // キャンバス上の座標
beginShape();
for(int i=0; i<=plot_num; i++){
x = x_min + (x_max - x_min) / plot_num * i; // 関数のx座標
y = linearfunction(x); // 関数の値
// キャンバス上の座標位置に換算
X = width / 2.0 / x_range * x;
Y = height / 2.0 / y_range * y;
vertex(X, Y);
}
endShape();
}
float linearfunction(
float x
){
return
}
ソースコード1 スケッチ「drawLinearFunction」の 「drawLinearFunction」タブに書かれているコード
このソースコードの中の
float linearfunction(
float x
){
return
}
の部分に課題の1次関数を書き加えて、実行ボタンを押すと、キャンバス上に座標軸とともに1次関数が描かれるはずです。
それでは、よろしくお願いします。
MK's papa
この記事が気に入ったらサポートをしてみませんか?