You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
# graph area
|
|
|
|
set plotx 50
|
|
|
|
set ploty 50
|
|
|
|
set plotw 380
|
|
|
|
set ploth 220
|
|
|
|
set cx (plotx + (plotw / 2))
|
|
|
|
set cy (ploty + (ploth / 2))
|
|
|
|
|
|
|
|
# graph range
|
|
|
|
set xmin (0 - 10)
|
|
|
|
set xmax 10
|
|
|
|
set ymin (0 - 10)
|
|
|
|
set ymax 10
|
|
|
|
|
|
|
|
set xinc (plotw / (xmax - xmin))
|
|
|
|
set yinc (ploth / (ymax - ymin))
|
|
|
|
|
|
|
|
color 3 3 3 > mlines
|
|
|
|
|
|
|
|
# print axis
|
|
|
|
|
|
|
|
func makegrid
|
|
|
|
rect plotx ploty plotw ploth 0
|
|
|
|
|
|
|
|
set x plotx
|
|
|
|
do
|
|
|
|
line x ploty x (ploty + ploth) mlines
|
|
|
|
set x (x + xinc)
|
|
|
|
while (x <= plotx + plotw)
|
|
|
|
|
|
|
|
set y ploty
|
|
|
|
do
|
|
|
|
line plotx y (plotx + plotw) y mlines
|
|
|
|
set y (y + yinc)
|
|
|
|
while (y <= ploty + ploth)
|
|
|
|
|
|
|
|
line cx ploty cx (ploty + ploth) 32767
|
|
|
|
line plotx cy (plotx + plotw) cy 32767
|
|
|
|
end
|
|
|
|
|
|
|
|
#
|
|
|
|
# BIG LOOP - ask for equ, graph it
|
|
|
|
#
|
|
|
|
|
|
|
|
makegrid
|
|
|
|
set clearcmd "clear"
|
|
|
|
do
|
|
|
|
rect 0 0 480 40
|
|
|
|
|
|
|
|
print "f(x) = "
|
|
|
|
gets > Fx
|
|
|
|
|
|
|
|
if (Fx == clearcmd)
|
|
|
|
makegrid
|
|
|
|
else
|
|
|
|
# do function
|
|
|
|
set x xmin
|
|
|
|
do
|
|
|
|
solve Fx > y
|
|
|
|
set y (0 - y)
|
|
|
|
if ((y > ymin) & (y < ymax))
|
|
|
|
pixel (cx + x * xinc) (cy + y * yinc) 511
|
|
|
|
end
|
|
|
|
set x (x + 1 / xinc)
|
|
|
|
while (x < xmax)
|
|
|
|
end
|
|
|
|
|
|
|
|
ppos 0 0
|
|
|
|
while (1)
|