官术网_书友最值得收藏!

二、動手練:會織網的蜘蛛

(一)實驗目的

模仿蜘蛛織網的過程,一圈一圈地織出六邊形的網來。

(二)基本思路

蜘蛛網可以看成由許多同樣的幾何圖形構成:蜘蛛網的一圈為六邊形,一個六邊形可以分割成6個三角形;整個網可以看成六邊形的圈從里到外逐漸擴大形成。

(三)編程步驟

(1)角色設計

我們沒找到現成的“蜘蛛”角色,就用籃球代表蜘蛛了。

(2)變量設計

定義一個變量sideLength,表示邊長;邊長從0開始,逐步增加;每增加一次,就畫一個六邊形。這樣蜘蛛網就一圈一圈織出來了。

(3)過程定義與腳本展示

我們定義3個過程,就是新建3個積木塊(見圖7-3中左側部分),分別是:

1)Triangle積木

  • 功能:畫一個等邊三角形。
  • 形式參數:邊長length
  • 過程描述:先沿著一個方向走length步,畫出第一條邊;然后右轉120°,再走length步,畫出第二條邊;最后再右轉120°,走length步,畫出第三條邊。這樣恰好回到出發點,也就是蜘蛛網的中心點。

2)Hexagon積木

  • 功能:畫一個六邊形。
  • 形式參數:邊長length
  • 過程描述:先調用Triangle過程畫一個三角形;然后旋轉60°,再畫一個;這樣重復6次,就畫出六邊形來了。

3)SpiderWeb積木

  • 功能:畫蜘蛛網。
  • 形式參數:無。
  • 過程描述:我們先將邊長sideLength設置為0,然后重復增加sideLength,調用Hexagon積木畫邊長為sideLength的六邊形。這樣重復5次,一個5圈的蜘蛛網就織成了。

(四)實驗結果

圖7-4中顯示的是我們畫出來的蜘蛛網,漂亮吧?

078-1

圖7-4 畫蜘蛛網的程序及實驗結果

(五)思考與延伸

當然了,我們可以擴展SpiderWeb積木:增加兩個參數,分別表示蜘蛛網的圈數和兩圈之間的距離,這樣能夠更方便地控制畫幾圈、畫多密。

需要說明的是,這里是用畫三角形的方式畫蜘蛛網,并不是蜘蛛的真實織網方式。我上網查了,在自然界里,蜘蛛是先織出經線,再繞圈織出緯線。蜘蛛拉第一根經線是最費力的,要經過樹枝、草地等;為了避免被樹枝、草葉粘住,經線都是沒有黏性的,只有緯線才有黏性,好粘住飛蟲。不同的蜘蛛拉出的經線數目也不同,通常有二十幾根之多。

主站蜘蛛池模板: 林口县| 抚顺市| 渝中区| 竹溪县| 连南| 繁峙县| 湘乡市| 玛纳斯县| 阿坝县| 衡南县| 梧州市| 九寨沟县| 华蓥市| 岚皋县| 富蕴县| 天等县| 鸡西市| 拉萨市| 汾西县| 密云县| 邵东县| 开远市| 平舆县| 连云港市| 从江县| 阳新县| 岳普湖县| 黄骅市| 梅河口市| 河南省| 丘北县| 白银市| 云林县| 承德市| 汽车| 崇信县| 平昌县| 会东县| 龙口市| 泽州县| 勐海县|