您現在的位置是:首頁 > 網路遊戲首頁網路遊戲

少兒程式設計Python系列之七:拼圖裡的幾何圖形——“聰明的烏鴉”

  • 由 向陽花開滿山紅 發表于 網路遊戲
  • 2022-02-20
簡介等腰三角形 1個——嘴巴90°扇形 2個——脖子矩形 1個——身體部分半圓 1個——身體部分月牙 2個——翅膀短線條 3個——尾巴02重難點分析扇形的繪製在前面小魚的繪製案例中有重點講解

烏鴉翅膀怎麼畫

《烏鴉喝水》是我們小學課本里學到的一則寓言故事。它告訴我們:

遇到困難要善於思考、勤懂腦,再困難的事情也會迎刃而解。

同時,這個故事也讓我們認識到,烏鴉也是極聰明的一類動物,雖然它的腦容量不到人腦的1%,但具有完全自主的智慧,能感知、認知、推理、學習和執行。

少兒程式設計Python系列之七:拼圖裡的幾何圖形——“聰明的烏鴉”

分享這樣一則科學小故事:

一隻烏鴉找到堅果,但卻砸不開。它發現把堅果放在馬路上讓車軋過去可弄開堅果,但飛馳的車輛很危險;它又發現靠近紅綠燈的路口,車子和人有時會停下來。於是,它把堅果拋在斑馬線上,等車子行人通過後的間歇去吃被砸開的堅果。

本篇就帶領讀者一起,通過幾何圖形學習如何繪製一隻聰明的烏鴉。

01

圖形分析

首先匯入海龜庫,建立畫筆、停止動畫等操作是每個作品必須牢記的內容。本文建立的畫筆名稱為

p

。基礎程式碼輪廓如下:

import

turtle

p=turtle。Pen

()

……

turtle。done

()

等腰三角形構成一個長又尖的

嘴巴

,兩個90°的扇形上下反向擺放組成

脖子

,一個矩形加一個半圓構成

身體

的主體部分,上下兩個彎彎的

月牙

形狀的翅膀不斷讓其更具靈動性,再加上身後三根彎彎的

短線條

的尾巴。最後在右下角繪上本作品的主題:

CROW

(烏鴉),一隻聰明的烏鴉就勾勒完成。

少兒程式設計Python系列之七:拼圖裡的幾何圖形——“聰明的烏鴉”

等腰三角形 1個——嘴巴

90°扇形 2個——脖子

矩形 1個——身體部分

半圓 1個——身體部分

月牙 2個——翅膀

短線條 3個——尾巴

02

重難點分析

扇形的繪製在前面

小魚

的繪製案例中有重點講解。請參考如下連結:

少兒程式設計Python系列之三:拼圖裡的幾何圖形——“一條小魚”

烏鴉的翅膀是透過兩個圓形錯位重疊的遮擋構造而成。如下圖:先定位到指定位置座標(40,0),繪製一個直徑為120的紅點;在向左移動一小段位置,即定位(5,0)座標,繪製一個直徑為120的藍點,並遮擋了紅點的大半部分。剩餘的紅色區域即為月牙效果,修改藍點為白色,與背景顏色吻合,則整個月牙效果凸顯。

少兒程式設計Python系列之七:拼圖裡的幾何圖形——“聰明的烏鴉”

烏鴉的尾巴,設定畫筆變粗,透過畫弧線的方式來完成,即:呼叫

circle(半徑,弧度)

,設定引數即可。

其他部分為規則形狀,繪製時控制好定位,確定角度即可。為了更好的佈局定位,

建議從身體矩形開始繪製,依次是脖子、嘴、尾巴、翅膀等部分。

03

圖形繪製(完整程式碼)

參考程式碼如下:

1、矩形——身體前半部分

p。penup

()

p。goto

-30

60

p。pendown

()

p。pencolor

“#00CACA”

p。fillcolor

“#00CACA”

p。begin_fill

()

for

i

in

range

4

):

if

i%

2

==

0

p。forward

60

else

p。forward

120

p。right

90

p。end_fill

()

上述程式碼中,注意迴圈巢狀結構中的程式碼縮排。

2、扇形——脖子

p。penup

()

p。goto

-40

60

p。pendown

()

p。pencolor

“green”

p。fillcolor

“green”

p。begin_fill

()

p。setheading

180

p。forward

60

p。left

90

p。circle

60

90

p。left

90

p。forward

60

p。end_fill

()

p。pencolor

“#00CACA”

p。fillcolor

“#00CACA”

p。penup

()

p。goto

-100

70

p。pendown

()

p。begin_fill

()

p。setheading

90

p。forward

60

p。right

90

p。circle

-60

90

p。right

90

p。forward

60

p。end_fill

()

3、等腰三角形——嘴

p。penup

()

p。goto

-110

70

p。pendown

()

p。pencolor

“yellow”

p。fillcolor

“yellow”

p。begin_fill

()

p。seth

90

p。forward

60

p。left

105

p。forward

120

p。left

150

p。forward

120

p。end_fill

()

4、半圓——身體後半部分

p。penup

()

p。goto

40

60

p。pendown

()

p。pencolor

“#ff0099”

p。fillcolor

“#ff0099”

p。begin_fill

()

p。seth

0

p。circle

-60

180

#向右旋轉

p。seth

90

p。forward

120

p。end_fill

()

5、短弧線——尾巴

p。penup

()

p。goto

110

30

p。pendown

()

p。pensize

15

p。pencolor

“green”

p。seth

5

p。circle

50

80

p。penup

()

p。goto

120

0

p。pendown

()

p。pencolor

“yellow”

p。seth

0

p。circle

50

80

p。penup

()

p。goto

120

-30

p。pendown

()

p。pencolor

“blue”

p。seth

-30

p。circle

50

80

6、月牙——翅膀

#繪製翅膀(上面)

p。penup

()

p。goto

40

130

p。pendown

()

p。pencolor

“red”

p。fillcolor

“red”

p。pensize

2

p。dot

120

p。goto

5

130

p。pencolor

“white”

p。dot

120

#繪製翅膀(下面)

p。penup

()

p。goto

50

-130

p。pendown

()

p。pencolor

“yellow”

p。dot

120

p。goto

90

-120

p。pencolor

“white”

p。dot

120

7、文字標註

#寫文字

p。penup

()

p。goto

200

-250

p。pendown

()

p。pencolor

“green”

p。write

“CROW”

font=

“Arial”

20

))

p。hideturtle

()

至此,完整圖形繪製完畢。

04

總結

本案例的重點是學習月牙的繪製技巧,當然還有其他方式同樣也可以實現。

少兒程式設計Python系列之七:拼圖裡的幾何圖形——“聰明的烏鴉”

提供的參考程式碼並非最佳化程式碼,讀者可以嘗試用函式封裝程式碼,或從其他的實現角度改寫程式碼。只有將所學知識轉化為應用實踐案例,學習才會更有意義。

一起來試試吧。

Top