
| 出版日期:2002-05-06 总期号:466 本年期号:16 |
|
轻松画任意正弦曲线
宋志明 前几天,有位PLMM找我做一个正弦函数图像的课件,可是,就要打包完工的时候,这位MM突然提出要求:能不能在课堂上随时改变坐标系的单位长度,然后根据新的单位长度,画出新的曲线?以便灵活清楚地演示一个或多个周期的正弦曲线。我晕!可是没办法,MM,尤其是PLMM永远是对的。死掉了若干脑细胞并有若干次死机记录之后,办法终于有了!您也看看?说不定下次也会有个PLMM来找您呢! 实现思路 想来想去,想到在Authorware中有一个系统变量Displayx,它反映了显示图标中显示对象中心距离演示窗口左端的像素数。用它减掉坐标原点距离演示窗口左端的像素数,得到的岂不是可以用来作为坐标系的单位长度? 需要我们做的,那就是让那个显示对象是可以移动的,单位长度不就可以任意调整了?然后编个小程序,根据新的单位长度画出新的曲线就行了。 实现过程 1、先拖一个计算图标到流程线上,命名为“初值”,双击打开其输入窗口,输入如下的内容: h:=320 k:=240 SetLine(2) Line(2,h-300,k,h+300,k) Line(2,h,k+150,h,k-150) SetFrame(2,RGB(255,0,0)) SetFill(1,RGB(255,0,0)) Circle(2,h-3,k-3,h+3,k+3) 此段程序主要是定义坐标原点(h,k),并画个红圆来表示。同时画好坐标轴,此处以两条带箭头的线表示。 2、拖一个显示图标到流程线上,命名为“单位长度”,双击打开其演示窗口,用画圆工具画一个小圆,并填充红色。呆会儿咱们就要靠拖动它来改变单位长度了,所以有必要做些设置。 选中这个显示图标,执行菜单命令“Modify→Icon→Properties…”,弹出“Properties:Display Icon”对话框,在“Display”标签中,选中“Update Displayed Variables”复选框,并将“Layout”标签中“Positioning”的值选为“On Screen”,将“Movable”的值选为“On Screen”。 3、再拖一个交互图标到流程线上,在其右侧放一个计算图标,在弹出的“Respose Type”对话框中,选择“Button”方式。并将该计算图标命名为“画曲线”,双击打开其输入窗口,输入如下的内容: SetLine(0) w:=DisplayX@"单位长度" jiange:=ABS(w-h) r:=INT(h/jiange/(2*Pi)) x:=h-(r+1)*jiange*2*Pi angle:=0 repeat while x<=h+(r+1)*jiange*2*Pi y:=-jiange*SIN(angle/jiange)+k Circle(1,x-1,y-1,x+1,y+1) x:=x+1 angle:=angle+1 end repeat 再拖一个计算图标到“画曲线”图标的右侧,双击打开其输入“Quit()”即可。好了,现在基本的功能实现了。打包后,您可用鼠标拖动如图所示的小圆到您所希望的位置,然后点击[画曲线]按钮,一条准确的正弦曲线就会自动地出现在您的面前。现在,您无论是想画多个周期的曲线还是只想画一个周期的曲线,都可以随心所欲了。 什么?还想再标得更清楚一些,想标上横轴和纵轴的单位长度? 先选中那个“画曲线”计算图标,然后按快捷键“Ctrl+G”,将其放入同名的组图标中,双击组图标,打开其流程线,在“画曲线”计算图标前放一个显示图标,命名为“横1”。双击打开其演示窗口,随便在什么位置,用文字工具写入“1”,调整其控制句柄,使其范围最小,并使显示模式为“Transparent”,执行菜单命令“Text→Alignment→Center”使文字在控制框中居中显示。关掉演示窗口。再次选中这个显示图标,执行菜单命令“Modify→Icon→Properties…”,弹出“Properties:Display Icon”对话框,在“Display”标签中,选中“Update Displayed Variables”复选框,并将“Layout”标签中“Positioning”的值选为“On Screen”,并在“Initia”中X值输入框中输入“DisplayX@"单位长度"”,在Y值输入框中输入“k+10”。
下面设置纵轴上的标识,这个就简单了。您先复制一个“横1”显示图标,并将其粘在流程线上“横1”的下方。但是要记得将.“Properties:Display Icon”对话框中“Initia”中X值改为“h-5”,将Y值改为“k-ABS(DisplayX@"单位长度"-h)”。 好了,赶紧给PLMM看看吧! |
|||||||||||||||||||||||