グラフの描き方
Y=0.01(X-10)2+3 のグラフを描くには
1.座標系の設定
どの範囲について描画をおこなうか。
screen=SDL_SetVideoMode(640,480,32,SDL_SWSURFACE);
480
SDL座標のサイズを640x480とする。
640
グラフの描き方
Y=0.01(X-10)2+3 のグラフを描くには
1.座標系の設定
どの範囲について描画をおこなうか。
SetAxisParameter(640,480,64,48,40,400);
-8
48
480
40
描画座標系を、-4<x<60, -8<y<40 とする.
-4
640
64
60
グラフの描き方
SetAxisParameter(640,480,64,48,40,400);
-80
48
480
48
40
1.640を64、480を48とみなす。
2.SDL座標系で(40,400)を原点に
描画座標系では(4,8)を改めて(0,0)とする
描画座標系は(-4,-8) - (60,40)となる。
-40
640
64
64
60
グラフの描き方
forループを使ってy=0.01(x-10)2+3を描く。
x0 = -3;
y0 = 0.01*(x0-10)*(x0-10) + 3;
-80
48
480
48
40
for(x=-3;x < 60;x+=0.1){
y = 0.01*(x-10)*(x-10) + 3;
drawline(screen,x0, y0, x, y,yellow);
y0 = y;
x0 = x;
}
-40
640
64
64
60
Newton法
曲線とX軸との交点を求める方法。
適当な曲線上の一点からの接線をつかって解を探す。
オイラー法
F(x)の 導関数f(x) と
y=F(x)の 初期値(x、y) が判っている時に、
関数F(x)を数値計算的に求める方法:
→微分方程式の数値計算による解放
オイラー法
微分方程式 dy/dx=f(x) を差分式にすると、
( y[n+1] – y[n] ) / h = f(x[n])
となる。
ここで、h = x[n+1]-x[n]であり、
微小な値でなければならない。
y[n+1]
y[n]
x[n]
x[n+1]
ダウンロード

グラフの描き方