tft每日頭條

 > 汽車

 > 蝸牛車旅行創意畫

蝸牛車旅行創意畫

汽車 更新时间:2024-08-19 17:12:17

我們已經學會了指令,變量和函數。接下來我們要學會如何設計和實現函數。

現實世界的問題是複雜的,多變的。如何将問題分析清楚,分解出相應的函數,并将其組織起來變得越來越困難。在介紹LOGO語言的分支與循環語句之前,先來學習面向過程語言的設計。

接下來考慮我們這次的任務,畫一輛小汽車,現實的汽車是很複雜的,為了降低難度,我們對他進行簡化,目标定為如下的小汽車。

蝸牛車旅行創意畫(讓海龜來幫助我們畫小汽車)1

海龜畫小汽車

初一看圖像,我們會毫無頭緒,先不要着急,我們将問題分解。

觀察圖形可知,小汽車由兩個輪子,兩個窗體,一個外邊框組成。

為此,我們将問題自上而下分解為以下步驟:

  1. 畫左輪
  2. 畫右輪
  3. 畫左窗口
  4. 畫右窗口
  5. 畫邊框,并填充顔色。

這種自上而下的分解問題是最自然的一種設計哲學,在項目管理裡也稱為工作分解結構(WBS)。

為了更好的團體之間交流,我們引入軟件設計工具,流程圖(DFD),将我們的思路文檔化。

流程圖有三大結構,分别是順序結構、選擇結構和循環結構。

這裡我們的目标比較簡單,直接用順序結構就可以了。

蝸牛車旅行創意畫(讓海龜來幫助我們畫小汽車)2

流程圖

流程圖畫好了,隻是幫我們理清楚了思路,實際問題還是沒有解決。

為了解決這一問題,我們引入數學工具,以中心點為原點,建立坐标系,分别求出幾個起始點的坐标。

蝸牛車旅行創意畫(讓海龜來幫助我們畫小汽車)3

建立坐标系

運用簡單的幾何學知識,可以知道五個點的坐标如下:

A (-150, -70)

B (150, -70)

C (-80,30)

D (30,30)

E (150, 0)

接下來實現五個函數就簡單了。

先來畫兩個汽車輪子,由于他們隻是坐标不同,我們先定義一個畫輪子的函數。

TO carwheel :radius :color arc 360 :radius setcolor :color fill END

函數carwheel負責畫輪子。

接下來分别描畫左輪和右輪

TO carleftwheel pu setxy -150 -70 pd carwheel 30 "black END

TO carrightwheel pu setxy 150 -70 pd carwheel 30 "black END

其中pu是讓海龜舉起畫筆,setxy 150 -70表示移動到坐标點A,這樣移動過程中它不會畫出行走線。pd是放下畫筆,這樣海龜就可以繼續畫了。

同樣,畫車窗也可以抽象出一個共同函數

TO carwin :size :color filled :color [repeat 4 [fd :size rt 90]] END

接下來分别描畫左窗和右窗

TO carleftwin pu setxy -80 30 pd carwin 50 "yellow END

TO carrightwin pu setxy 30 30 pd carwin 50 "yellow END

最後實現車輪廓,并填充顔色。

TO carbody pu setxy 150 0 pd fd 100 lt 90 fd 300 lt 90 fd 100 rt 90 fd 70 lt 90 fd 70 lt 90 fd 440 lt 90 fd 70 lt 90 fd 70 pu fd 150 rt 90 setcolor "red fill ht END

其中ht是将海龜隐藏的指令。

上面的函數全部實現以後,我們就可以定義主函數

TO car carleftwheel carrightwheel carleftwin carrightwin carbody END

然後調用car,我們就可以看到一輛汽車被畫出來了。

#在頭條看世界##少兒編程##南京頭條##上海頭條#

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关汽車资讯推荐

热门汽車资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved