首页 新闻 搜索 短信 分类 聊天 企业
上移动梦网
赢手机大奖

新浪首页 > 科技时代 > 网上学园 > 高级编程 > 正文
漂亮图形轻松做 Authorware应用实例

http://www.sina.com.cn 2002/05/14 10:24 赛迪网--中国电脑教育报

  文/姚永奎

  我们在制作Authorware作品的过程中,有时非常希望能够做一些漂亮的几何图形。可是,Authorware对几何图形的支持并不好,我们不得不使用其他一些工具来完成这些几何图形,然后再以图片的形式导入到Authorware中来。但是在Authorware中编辑修改这些图形就很不方便了。不过任何事情都不是绝对的,如果我们对Authorware的函数熟悉,而又肯动用我们在高中学过的那些“浅显”的数学知识,那么做几个漂亮的几何图形也并不是问题的啦!请看以下的三个例子,希望能为朋友们起到抛砖引玉的作用。

  漂亮的网格圆环

  现在的少男少女们都比较喜欢扮“酷”,我们在大街上会经常见到有人用线缠绕出图1所示的这个网格圆环作为装饰品,怎么样?不错吧!难怪前卫族们都喜欢!


图1

  当然原理很简单:按固定的间隔,从一定点出发,向另一点连线,按顺时针或逆时针的方向依次做下去,直到做成圆环为止。按照该理论的指导,咱们也可以在Authorware中做出这个网格圆环。以下就是源程序:

  h:=320

  k:=240〖设定屏幕上坐标点(h,k)为圆环的中心位置〗

  angle:=0

  k1:=0

  r:=150

  Circle(2,h-2,k-2,h+2,k+2)〖画一个小圆代表圆心〗

  Circle(2,h-r-2,k-r-2,h+r+2,k+r+2)〖以r值为半径画出外边的大圆〗

  repeat while angle<=2*Pi

  x1:=r*COS(angle)+h

  y1:=r*SIN(angle)+k

  x2:=r*COS(angle+0.8*Pi)+h

  y2:=r*SIN(angle+0.8*Pi)+k〖计算圆上那两个点在屏幕上的坐标,其中“0.8*Pi”为两个点的间隔弧长所对圆心角的弧度数,调整这个数字您可以得到不同的圆环〗

  Line(1,x1,y1,x2,y2) 〖在上述两点间连线〗

  angle:=angle+0.05

  end repeat

  美丽的六叶花

  朋友们看到图2的这个六叶花了嘛!感觉还是不错吧!看着几根线条绕在一起,可能觉得有点复杂,其实要真画起来却一点也不难。大家应该还记得圆的内接正六边形吧!先画一个圆,并做出它的内接正六边形,以那六个顶点为圆心,以与该圆相同的半径画圆,那么最中间的图形就是这个形状了。此处的关键是把那些没有用的部分去掉。(卧龙传说建议:朋友们还是看看作者的源程序吧,了解他的思路,再加入自己的一些小东东,就可以做出非常有个性的图案了):


图2

  h:=320

  k:=240

  angle:=0

  k1:=0

  r:=150 〖还是那些初始值的设置,(h,k)为圆心坐标,r为半径〗

  Circle(3,h-r,k-r,h+r,k+r) 〖先画出那个基本的圆〗

  jiao:=2*Pi/3

  repeat while k1<=6

  dianx:=r*COS(k1*(Pi/3))+h

  diany:=r*SIN(k1*(Pi/3))+k 〖计算圆内接正六边形的六个顶点的坐标。因为是正六边形,所以相邻两点间隔弧长所对的圆心角为Pi/3。〗

  k2:=0

  repeat while k2<=119

  sanx:=r*COS(jiao)+dianx

  sany:=r*SIN(jiao)+diany 〖(sanx,sany)是以正六边形顶点为圆心的圆上的点坐标。每个圆与中间圆的交点间弧长所对圆心角是2×Pi/3,所以k2的值要从0增加到119。〗

  Circle(2,sanx-2,sany-2,sanx+2,sany+2)  〖在每个点处画一个小圆〗

  jiao:=jiao+Pi/180

  k2:=k2+1

  end repeat

  jiao:=jiao-Pi/3 〖看看外边相邻两个圆的关系就知道了〗

  k1:=k1+1

  end repeat

  快门形状

  真是有趣!得到如图3所示的这个形状算得上歪打正着,这是笔者在调试前面程序的过程中出现的。呵呵,整个程序和上面的程序基本相同,只是有个别地方有所调整。您自己比较一下就知道了。我就不用废话了吧?(卧龙传说:从作者刚才的自述中可以看出,数学这个东东真是千奇百怪,想要的不出来,不想要的偏要出来,如果我们充分利用它们之间的细微差别,那么我们的生活将会更加精彩)。


图3

  本例的源程序如下:

  h:=320

  k:=240

  angle:=0

  k1:=0

  r:=150

  Circle(3,h-r,k-r,h+r,k+r)

  jiao:=2*Pi/3

  repeat while k1<=12

  dianx:=r*COS(k1*(Pi/6))+h

  diany:=r*SIN(k1*(Pi/6))+k

  k2:=0

  repeat while k2<=59

  sanx:=r*COS(jiao)+dianx

  sany:=r*SIN(jiao)+diany

  Circle(2,sanx-2,sany-2,sanx+2,sany+2)

  jiao:=jiao+Pi/180

  k2:=k2+1

  end repeat

  jiao:=jiao-Pi/6

  k1:=k1+1

  end repeat

  您看,这些图形是不是并不太难?您也试试吧!


  


发表评论】【初学者园地】【科技聊天】【关闭窗口

新 闻 查 询

 相关链接
【学园专题】多媒体设计与制作
Authorware中动画控制滑块的制作(2002/05/13 17:13)
“滚动字幕”特殊效果实现二法(2002/05/10 09:47)
让Authorware“旋转移动”更轻松(2002/04/15 11:23)
用Authorware“DIY”音乐播放器(2002/04/11 14:34)
多媒体制作工具Authorware变量技巧(2002/04/10 11:02)
Authorware中音量控制程序的制作(2002/04/09 13:50)
巧用Authorware函数实现定时关机(2002/04/08 14:55)
用Authorware制作精美功能菜单(2002/03/25 13:42)


科技时代意见反馈留言板 电话:010-82612286 或 010-82628888-3488   欢迎批评指正

新浪简介 | 用户注册 | 广告服务 | 招聘信息 | 中文阅读 | Richwin | 联系方式 | 帮助信息

Copyright © 1996 - 2002 SINA.com, Stone Rich Sight. All Rights Reserved

版权所有 四通利方 新浪网