- 1、本文档共48页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
超级画板《动态几何教程》9经典范例.doc
第九篇 经典范例
本篇将用更多的例子,展示《超级画板》的高级技巧所能做出的效果。
我们尽量从比较简单的问题开始。
对于每个例子的掌握程度,可以有三个层次。
第一个层次,是能用。这是最容易的。只要看看说明,动手做做,就能用了。
第二个层次,是会做。这要多花点时间和精力,但也不难。只要对照说明,一步一步地按文件在“对象工作区”中显示的对象性质和顺序来做,有些点的坐标和曲线的方程要复制粘贴一下,就会成功。
第三个层次,是明理。这比较困难。特别是有些点的坐标,有些曲线的方程,有些被测量的表达式,这些数学式子是如何设计出来的,不很容易理解。我们没有对这些数学表达式的由来作进一步的说明。数学功底较深厚的读者,花些力量能够理解其中的道理。对多数的读者,只要能用会做就可以了。
如果有读者确实对文件中的某些表达式的设计原理有很大的兴趣而又百思不解,不妨在网上提出来讨论(例如在 , 或 等网站上)。相信能够得到满意的解答。
一 线段和圆弧的动态n等分点
1.等分线段的程序和函数
作出一条线段的等分点,例如3等分点或8等分点,这很容易。
最基本的做法,是用尺规作图。《超级画板》可以实现尺规作图,当然能等分线段。
如果想快捷一些,可以使用作定比分点的文本作图命令。在文本作图对话框的作点类的函数中可以找到这个函数:
DivisionPoint(A, B, r );
其中参数A、B是要等分的线段的两端的编号,r是分点所分的两端的长度的比。例如,4个5等分点对应的比值顺次为 1/4、2/3、3/2、、4/1。这样,一行命令只能作1个分点。
如果要一次作出4个5等分点,可以用for循环语句:
for (i=1;i5;i=i+1) {DivisionPoint(A, B, i/(5-i) );}
或while 循环语句:
i=1;
while (i5) {DivisionPoint(A, B, i/(5-i) );
i=i+1;}
也可以写成函数便于使用:
fd(A,B,n)
{for (i=1;in;i=i+1) {DivisionPoint(A, B, i/(n-i) );}}
这些程序运行情形见文件“9-1等分线段.zjz”,如图9-1。
图9-1
注意图中程序工作区是浮动窗口。双击上边框可使它归位,再双击它又成为浮动窗口。
2.线段的动态n等分点
但是,上面的程序作出的分点,分段数是不能变化的。5等分就是5等分,7等分就是7等分。能不能作一般的n等分点,当n变化时分点的个数也随着变化呢?
文件“9-2线段的n等分点.zjz”中的程序和动态图形,就是可以变化的n等分点。如图9-2,拖动n的变量尺改变n的数值,分点的个数会随着改变。
图9-2
从作图的程序可见,先作出A、B两个自由点,再对两点的坐标进行测量。根据测量的数据,可以写出线段AB的参数方程。使用作参数曲线的函数命令:
Function(m000+t*(m002-m000),m001+t*(m003-m001),t,0,1,n+1, );
这里将曲线的描点数目设置为n+1, 是因为所描的点的含线段的两端点,所以点数比分段数多1。
执行作参数曲线的函数命令后,做出的线段上并没有分点。打开参数曲线的属性对话框,在左下部勾选“画点”(参看图5-17);点的大小可选择为2。单击“确定”后,线段上的分点就出现了。
作出参数n的变量尺,拖动滑钮改变n的值,分点的数目随之改变。这种方法,n3时分点不出现,要平分线段至少要作出4等分点。
3.线段的可选择n等分点
上面的作图虽然实现了动态等分,但分点是不可选择的。既不可能从分点出发来作图,也不可能改变某一个分点的大小颜色。
文件“9-3线段的可选择n等分点.zjz”实现了线段的可选择的动态n等分点作图。如图9-3。
图9-3
作出这些分点的关键的函数ndf(p,q,n)的程序为:
ndf(p,q,n)
{for (i=1;i100;i=i+1)
{DivisionPoint(p, q, sign(n,i)*i/(n-i) );}
}
这个函数中使用了for循环语句,作了99个点,所以最多把线段100等分。但定比分点的分比为 sign(n,i)*i/(n-i);这就是说,当i=1,2,…,n-1时(sign(n,i)=1),分比为i/(n-i),作出了n-1个n等分点;当 i≥n时(sign(n,i)=0),分比为0,作出的点都和线段的端点A重合。这种把多余的点隐藏起来的技巧,后面将多次使用。
这样作出的分点可以被选择,隐藏,改变大小和颜色,可以作为进一步作图的基础。
文档评论(0)