选择显示字体大小

authorware三个应用实例

  我们在制作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

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

  


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons