next up previous
Next: 2.3 まとめ Up: 2 十進BASICでグラフィックス Previous: 2.1 イントロ

2.2 チュートリアルを忘れた人向け

既に配った十進BASICの説明書も忘れた (持って来て下さい)、 という人のために (コンピューターの画面上で見られますが、 自分で打ち込む場合は紙を見ながらの方がやりやすいと思います)、 「2.6 グラフィックス」の例題プログラムをここに引用しておきます。

例14 (関数のグラフ)

10 DEF f(x)=x^3-3*x+1 
20 SET WINDOW -4,4,-4,4
30 DRAW GRID
40 FOR x=-4 TO 4 STEP 0.1
50    PLOT LINES: x,f(x);
60 NEXT x
70 END
(要点: 1変数実数値関数のグラフ $ y=f(x)$ の描き方の定跡みたいなプログラム)

例15 (OPTION ANGLE DEGREES, DRAW GRID())

10 OPTION ANGLE DEGREES
20 DEF f(x)=sin(x)
30 SET WINDOW -360,360,-4,4
40 DRAW GRID(90,1)
50 FOR x=-360 TO 360
60    PLOT LINES: x,f(x);
70 NEXT x
80 END
(要点: 三角関数の単位を度にする OPTION ANGLE DEGREESDRAW GRID(,) の使い方)

例16 (``PLOT LINES'' で線を切る)
2つの関数のグラフを描くために、途中で「切る」必要がある。
100 DEF f(x)=x^2
110 DEF g(x)=x^3
120 SET WINDOW -4,4,-4,4
130 DRAW GRID
140 FOR x=-4 TO 4 STEP 0.1
150    PLOT LINES: x,f(x);
160 NEXT x
170 PLOT LINES
180 FOR x=-4 TO 4 STEP 0.1
190    PLOT LINES: x,g(x);
200 NEXT x
210 END
(要点: ``PLOT LINES: x,y;'' は線をつなげていくので、 170 行目のセミコロンなしの PLOT LINES で線を切る。)

例17 (パラメーター曲線)

10 OPTION ANGLE DEGREES
20 DEF f(t)=3*COS(t)
30 DEF g(t)=2*SIN(t)
40 SET WINDOW -4,4,-4,4
50 DRAW grid
60 FOR t=0 TO 360
70    PLOT LINES: f(t),g(t);
80 NEXT t
90 END
(要点: パラメーター曲線 $ x=f(t)$, $ y=g(t)$ の描き方の定跡みたいなプログラム)

例18 (極方程式表示の曲線)

10 DEF f(t)=SIN(2*t)
20 SET WINDOW -1,1,-1,1
30 DRAW grid
40 FOR t=0 TO 2*PI STEP PI/360
50 PLOT LINES: f(t)*COS(t), f(t)*SIN(t);
60 NEXT t
70 END
(要点: 極方程式 $ r=f(\theta)$ は、 $ x=f(\theta)\cos\theta$, $ y=f(\theta)\sin\theta$ として単なるパラメーター曲線)

例19 (直交座標から極座標への変換)

100 SET WINDOW -4,4,-4,4
110 DRAW grid
120 FOR t=0 TO 2*pi STEP pi/180
130    LET x=cos(t)+1
140    LET y=sin(t)
150    LET r=x^2+y^2
160    LET a=ANGLE(x,y)*2
170    PLOT LINES: r*cos(a),r*sin(a);
180 NEXT t
190 END
($ x=r\cos t$, $ y=r\sin t$$ x$, $ y$ から $ r$, $ t$ を 求めるには、r=SQRT(x^2+y^2), t=ANGLE(x,y) とすればOK)


\begin{yodan}
C 言語のプログラムならば、\texttt{r=sqrt(x*x+y*y);} (または
\text...
...えやすくて良い
(BASIC の規格の方が趣味が良い)、と私は思います。 \qed
\end{yodan}


next up previous
Next: 2.3 まとめ Up: 2 十進BASICでグラフィックス Previous: 2.1 イントロ
Masashi Katsurada
平成22年6月9日