N88-BASICでグラフ
ネット上で、
x2 + (y - √|x|)2 = 1
という式を見つけました。
これを描いてみようと思います。
式変形して
x2 + y2 - 2(√|x|)y + x = 1
y2 - 2(√|x|)y + x2 + x - 1 = 0
2次方程式の解の公式より、
[y2 + 2by + c = 0, y = -b±√(b2 - c)]
y = √|x|±√{x - (x2 + x - 1)}
y = √|x|±√(1 - x2)
(-1≦x≦1) … √内≧0より
NL-BASICとnl~.zip(graph.bas)は
以下のリンクからダウンロードできます
Readme.txtを読んで遊んで下さい
下記リストをマウスで選択しCtrl+cでコピーし、
NL-BASICの画面でAlt+v(Ctrl+vではないので注意)
でプログラムを読込めます。
graph.bas
100 '----------------------------------------------------------------------
110 ' x^2 + (y - √|x|)^2 = 1
120 ' y = √|x|±√(1 - x^2) (-1≦x≦1)
130 '----------------------------------------------------------------------
140 CLS 3 '--- 画面消去
150 C = 2 '--- 色
160 CX = 320 '--- 原点座標
170 CY = 200
180 LX = 100 '--- x=1をlx dotで描く
190 LY = 100
200 OX = CX + (-1 * LX) '--- 初めの点
210 OY1 = CY - ( 1 * LY)
220 OY2 = CY - ( 1 * LY)
230 FOR X=-1 TO 1 STEP 1 / LX
240 B = SQR(ABS(X))
250 D = SQR(1 - X * X)
260 Y1 = B + D '--- ±の点
270 Y2 = B - D
280 PX = CX + X * LX '--- 現在の点
290 PY1 = CY - Y1 * LY
300 PY2 = CY - Y2 * LY
310 LINE(OX, OY1)-(PX, PY1), C
320 LINE(OX, OY2)-(PX, PY2), C
330 OX = PX
340 OY1 = PY1
350 OY2 = PY2
360 NEXT
N88-BASICをお持ちでない方は、
以下のVL-BASICかNL-BASICで、
動かして下さい。
(どちらもWindows用です。)
上記プログラムリストをコピペして
テキストファイルを作るか、
(Noteで作るときはANSI形式で保存しないと漢字が化けます。)
テキストファイル(graph.basまたはgraph.txt)
をダウンロードして、
NLBasic.exeまたは、VLBasic.exe
に重ねると動きます。
VL-BASIC(N88-BASIC互換?)ホームページへのリンク
NL-BASIC(N88-BASIC互換?)ホームページへのリンク
ホームページに書いてあるパスワードを入力して、
Readme.txtを読んで、遊んで見て下さい。