我们在制作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
您看,这些图形是不是并不太难?您也试试吧!