- 注册时间
- 2005-8-7
- 最后登录
- 1970-1-1
|
第一个是我最初编的plotn.BAS,支持多个图像,参数在源程序中修改。很小巧的一个作图程序。
=====================================
cloty“流线作图”给了我灵感,于是第二个作图程序——plot_ex.BAS就诞生了。
最多可以画2个函数图像和2个用参数方程画的图像,函数、方程数据请在源程序中改动。
函数方程在10、30行,15、35行是对应函数定义域的补集
比如:
{10 DEF FN Y(X)=LOG(X) 那么请务必在把15行改为15 DEF FN ERR(X)=X<=0 否则会出错。当定义域为全体实数时,15行又必须是合法的语句,怎么办呢?呵呵,改成15 DEF FN ERR(X)=X=0就OK了,应为X=0对应的点在Y轴上,反正也看不到}
参数方程在50、51行和60、61行
第2行的各个参数的含义如下:
FX1和FX2的值分别对应屏幕上画出的这两种图像的个数。只能取0、1、2三个值
LD是单位长度在屏幕上的跨度
X0、Y0是坐标原点位置。一般X0取0~159内的整数,Y取0~79内的整数。有必要的话可 以大于上限,只是看不到原点位置了。但一定不要小于下限,否则会出错。
PI不用说,是圆周率。不要改动
BC顾名思义是“步长”,单位长度的大小。一般是1,画三角函数图像时可以改成PI/4 等其它值。
其他的一般不要改动
另外,图像画完后会在屏幕左上角显示OK!此时R键重新作最初的图像,其他按键请参见求助。
目前,除了方程和画图个数FX1/FX2外,其他的基本上都可以动态修改,具体使用方法请参见<求助>。
如果大家觉得有必要的话,以上不能动态修改的两点我也可以再研究研究。做出一个更加开放的作图软件,让没有任何BASIC基础的人也能轻松的使用本软件。
=====================================
全机型适用的plot_mx.BAS如下
1.运行环境:GVBASIC+或者任何支持POKE语句的机型.
--因为某些机型(如NC3000,TC808等)的系统自带的BASIC并不支持POKE语句,当程序运行到POKE语句时会自动跳过。所以用系统自带的BASIC运行该程序时会因对FN ERR(X)未定义而在131行陷入死循环中,显示不出任何图象。
2.为什么有两个版本
通常的机型会将小于8K的BASIC程序加载到内存地址为8192的位置再运行,但奇怪的tc808却加载到了12288处,所以特别为tc808做了一个版本,仅仅修改了一下地址,其它的功能完全相同。(如果除tc808以外的机型中也有加载到非8192位置的情况,只须修改一下63行的地址即可。具体修改成什么可以在易码上问其他高手)
注意:最近markliteng为tc808移植了GVBASIC++,小于8K的BASIC程序在这个环境下会被加载到8192的位置,而不是GVBASIC+中的12288处,所以请在该环境下运行程序的tc808用户使用通用版,而非tc808专版!
3.F(X),E(X)的含义
用F4查看源程序时,你会发现10行和15行定义的函数后面有一大串F,这些F在运行程序时会被程序开头所输入的F(X),E(X)的表达式覆盖,其中F(X)对应源程序中的Y(X)(主函数),E(X)则对应ERR(X)(函数定义域以外的所有值,若定义域为全体实数请直接按输入键跳过,系统将默认为X=0)。所以输入的表达式请务必符合BASIC的规范,否则会因无法识别表达式而出错。
4.输入函数表达式时的按键说明(其它的按键信息请在作图完毕屏幕左上角显示OK后按求助键获取)
数字键,小数点,加、减、乘、除,SIN,COS,TAN,LOG,EXP,= 的对应按键与科学计算器类似;F是SQR函数;S是ABS函数;D是幂运算符^;X是自变量;左、右方向键对应<、>;F2删除最右端的一个字符;Z是括号,左右括号交替出现,另外,按下带左括号的式子(SIN(、COS(、TAN(、EXP(、SQR(、ABS()后会自动转换成右括号。
5.附件:windybell发表的动态修改原理一文(高手请跳过)
6.作者联系方式:daniel_0826@sina.com
欢迎一切提议和指教
作者:xp 2007.5.28
最后更新于2007.7.16 |
|