## 繪圖套件指令說明
Turtle,概念是源自於 Seymour Papert 和 Wally Feurzig 於1966 年所創造用來引導孩子們學習程式設計的海龜繪圖(Logo)程式語言。
一個Python模組是一個檔案,內含Python程式指令,可以提供其他Python程式應用。只要匯入模組,就可以使用在模組裡事先定義的函式或變數。例如:匯入 turtle 模組後,就可以使用 Screen()方法來產生畫布,或是使用 Turtle() 方法產生一個海龜進行繪圖,這二個方法都是在 turtle 模組裡定義的。
Turtle 套件很是適合中學生來認識 Python ,讓學生熟悉座標、移動、角度的概念,學會最基本的用指令來與電腦溝通。並結合數學課程中幾何圖形概念,讓學生從規律圖形識別出其數學結構。
### 安裝套件
```python=
# 安裝 ColabTurtle 模組
!pip3 install ColabTurtle
# 匯入 ColabTurtle 模組
from ColabTurtle.Turtle import *
# 呼叫 initializeTurtle() 函數,來初始化 Turtle
initializeTurtle ()
# 清除畫面
clear()
```
## 練習12
12.練習題
(12-1) 畫出一個螺旋正方形,更改i的範圍,每次畫的長度,轉的角度,畫出一個你覺得最炫的圖形。
### (12-1)程式碼
```python=
from ColabTurtle.Turtle import *
initializeTurtle()
speed(10) #讓海龜暴走
for i in range(200): # 畫200次
forward(3*i) # 試試改變長度為i、4*i或其它
right(90) # 試試改變角度為91、100、151或其它
```
### 繪圖結果

### (12-2)程式碼
```python=
from ColabTurtle.Turtle import *
initializeTurtle()
import turtle
num = 60 # 正方形數量
len = 180 # 線條長度
dec = 3 # 下一個正方形邊長減少長度
for i in range(4):
forward(len)
right(90)
len = len-dec
```
### 繪圖結果

### (12-3)程式碼
```python=
from ColabTurtle.Turtle import *
initializeTurtle()
import turtle
speed(10)
iNum = 60 # 正方形數量
jNum = 4 # 正方形有四個邊
len = 200 # 線條長度
angle = 90 # 每次轉90度
more = 10 # 下一個正方形多轉10度
dec = 3 # 下一個正方形邊長減少長度
right(10) # 先轉10度
for i in range(60): # 正方形數量
for _ in range(4):
forward(len)
right(angle)
len=len-3
right(10) # 下一個正方形長度少dec
```
### 繪圖結果

## 作業挑戰一: 仿真AI智慧型畫圖機器人製作
### 題目說明
設計一個簡易AI智慧型畫圖機器人(依輸入值決定圖形):
輸出入介面如下:
電腦:請問您要畫幾邊形
主人:10
電腦:主人這是您要的圖形:
…
### 程式碼
```python=
from ColabTurtle.Turtle import *
initializeTurtle()
import turtle
print("電腦:請問您要畫幾邊形", end="")
n=int(input())
penup()
goto(300,300)
pendown()
left(90)
print("主人這是您要的圖形",end="")
for i in range(n):
forward(60)
right(360/n)
```
### 繪圖結果

## 作業挑戰二:
```python=
from ColabTurtlePlus.Turtle import *
import math
# 初始化
clearscreen()
setup(500, 500)
showborder()
speed(10)
# 設置畫筆顏色和寬度
color("brown")
pensize(2)
# 設定初始位置
T = Turtle()
T.left(90) # 初始時讓烏龜朝向上方
# 樹的繪製函數
def draw_tree(length, angle, width):
if length < 10: # 假設樹枝長度小於 10 時停止繪製
return
else:
T.pensize(width) # 設定當前樹枝的寬度
T.forward(length) # 繪製樹幹或分支
# 繪製右邊分支
T.left(angle)
draw_tree(length * 0.7, angle, width * 0.7)
# 回到原來的樹幹位置
T.right(2 * angle)
draw_tree(length * 0.7, angle, width * 0.7)
# 返回到樹幹的底部
T.left(angle)
T.backward(length)
# 開始繪製樹
T.jumpto(0, -200) # 樹的底部
draw_tree(100, 25, 5) # 開始繪製,樹幹長度為 100,角度為 25 度,樹枝寬度為 5
```
### 繪圖結果

## 作業挑戰三: 花朵創作
### 題目說明
請使用本章學過的技巧,創作一朵花
:::warning
畫圓圈
第一種方法: ColabTurtlePuls
circle(100) - 限於在ColabTurtlePlus模組才能使用
第二種方法: ColabTurtle
或是在ColabTurtle中自訂函式circle來畫圓
def circle(n)
:::
:::success
換顏色
color()
:::
:::info
小技巧
常用的顏色可以參考 網站
black 黑色
snow 雪白
green 綠色
yellow 黃色
red 紅色
gray 灰色
while 白色
orange 橙色
blue 藍色
purple 紫色
pink 粉色
例如:color("red"),就可以把繪圖的顏色轉變成紅色喔。
:::
記得,顏色前後要加上引號『"』
### 程式碼
```python=
from ColabTurtle.Turtle import *
initializeTurtle()
import turtle
speed(10)
color("red")
for i in range(60):
for i in range(30):
forward(18)
right(12)
right(10)
```
### 繪圖結果
