棋 艺 人 生
※
日志分类
※
公 告
※
日 历
※
登 陆
※
日志更新
※
最新评论
※
留 言 板
※
搜 索
※
链 接
※
Blog信息
一个空心五角星递归图的解法
weiwei 发表于 2010-6-2 8:47:54
2010常熟市信息技术教师解题能力比赛前几天,一位老师在计算机群贴出了如下题目:
问中间的五角星是怎样画出来的?
正是快要下班的时候,在学校想了一会儿,没把图形的本质看透,于是把图形打印了下来,准备拿回家去慢慢研究。
回到家,吃完晚饭,就忙着打开电脑,拿出纸笔开始研究。
这题本质上是一个空心五角星,关键是要找准画五角星的起点及递归点。起点应该是在五角星的尖角,递归点在钝角。这题的难点是要确定下一级递归的系数,这要用到三角函数的知识。经过计算,五角星角中小五角星的递归系数是sin 18/(1+sin 18),即0.23769906;五角星中心的小五角星的递归系数是1/(2+2*sin 18),即0.38196602。
这是我花了一个多小时的时间好不容易想出来的。
程序有多种写法,以下为其中一种:
to wxfx :L :N
draw ht setpc 12
make "precision 7
pu setxy se -200 -200 pd
rt 18
wx :L :N
end
to wx :L :N
if :N=0 stop
repeat 5 [fd :L lt 36 wx :L*sin 18/(1+sin 18) :N-1 lt 36 fd :L rt 144]
pu fd :L rt 36 pd wx :L*1/(2+2*sin 18) :N-1 ;保留计算过程图形更精确
pu lt 36 bk :L pd
end
上面的图是执行 wxfx 160 3 的结果。
执行wxfx 160 2 结果如下:
执行 wxfx 160 4 结果如下:
如果级数N>4,小海龟无法归位,可能是计算精确度不够。执行wxfx 160 5结果如下:
阅读全文
|
回复(2)
|
引用通告
|
编辑
上一篇:
2010常熟市信息技术教师解题能力比赛阅读程序题
下一篇:
《功能强大的递归》教学设计
Re:一个空心五角星递归图的解法
顶(游客)
发表评论于
2011-4-13 8:04:51
难度比较大,
个人主页 |
引用
|
返回
|
删除
|
回复
Re:一个空心五角星递归图的解法
顶(游客)
发表评论于
2011-3-29 9:07:36
这个很有难度,支持你。
个人主页 |
引用
|
返回
|
删除
|
回复
发表评论:
昵称:
密码:
(游客无须输入密码)
主页:
标题:
© COPYRIGHT 2005 ALL RIGHTS RESERVED