2021年9月21日 星期二

習題1. 畫Pokemon 精靈球

任務:參考影片的繪圖步驟,自行完成本頁的範例程式,繪製一顆Pokemon精靈球
解答:在本頁的底部。


"""
subject: draw a Pokemon Ball
程式設計:wuhinco@gmai.com 
"""
#匯入程式庫
import turtle
#設定螢幕尺寸、螢幕物件、畫筆物件
turtle.setup(800, 600)
wn = turtle.Screen()
t = turtle.Turtle()
#1.設定背景顏色或影像檔。例如:t.bgcolor("skyblue") 或是t.bgpic("pokemon.png")

#2.設定球的半徑為一變數,並指定值。例如: radius = 200

#3.設定動畫速度, 利用t.speed(數值)。數值範圍:0~10

#4.提筆, 利用t.penup()

#5.起點的y座標下降一倍半徑,利用t.sety(radius)

#6.設定區塊的顏色,利用t.color("畫筆顏色","區塊顏色")。例如:t.color("gray", "white")

#7.下筆,利用t.pendown()

#8.開始填色,利用t.begin_fill()

#9.畫圓,利用t.circle(半徑,角度), 半徑設為radius

#10.結束填色,利用t.end_fill()

#11.再移動90度, 利用t.circle(半徑,角度)

#12.設定前景和背景顏色。利用t.color(前景,背景)

#13.開始填色,利用t.begin_fill()

#14.畫半圓,利用t.circle(半徑,角度), 半徑設為radiuns, 角度設為180
 
#15.左轉90度。利用t.left(角度)

#16.前進兩倍半徑

#17.結束填色,利用t.end_fill()

#18.設定畫筆顏色為黑色"black"。利用t.pencolor("顏色")

#19. 設定畫筆尺寸為 radius / 7。利用t.pensize(radius/7)

#20. 提筆。利用t.penup()

#21.設定及移動新x座標。利用t.setx(x)。可修正線條過長問題

#22.下筆,利用t.pendown()

#23.後退兩位半徑 radius * 2或更小(radius*14/15)*2。利用t.back(長度)

#24.回到中心點。利用t.home()

#25.依序由大到小畫出3個圓,並加上不同的顏色。利用t.dot("尺寸","顏色")
# 顏色英文:灰色 "gray", 黑色 "black", 白色 "white", 紫色"purple", 藍色"blue"

#26.隱藏畫筆。利用t.hideturtle()

#顯示文件。利用t.write(文字,字體)
t.penup()
t.sety(100)
t.pendown()
t.write("Pokemon GO!", font=("Arial", 24, "normal"))
# 執行事件迴圈
wn.mainloop()
#20. 提筆。利用t.penup()

#21.設定及移動新x座標。利用t.setx(x)。可修正線條過長問題

#22.下筆,利用t.pendown()

#23.後退兩位半徑 radius * 2或更小(radius*14/15)*2。利用t.back(長度)

#24.回到中心點。利用t.home()

#25.依序由大到小畫出3個圓,並加上不同的顏色。利用t.dot("尺寸","顏色")
# 顏色英文:灰色 "gray", 黑色 "black", 白色 "white", 紫色"purple", 藍色"blue"

#26.隱藏畫筆。利用t.hideturtle()

#顯示文件。利用t.write(文字,字體)
t.penup()
t.sety(100)
t.pendown()
t.write("Pokemon GO!", font=("Arial", 24, "normal"))
# 執行事件迴圈
wn.mainloop()


2021年9月8日 星期三

第四堂課 turtle繪圖(三)世界國旗版

中華民國(國徽、國旗)、新加坡、歐盟、英國、中國 (待增...)

一、中華民國國徽

"""
subject: draw a nation flag
@author: wuhinco
"""
import turtle
turtle.setup(600, 700)
wn = turtle.Screen()
wn.title("Draw Nation flag")
t = turtle.Turtle()
t.pensize(2)
color = ["red", "gold", "green", "blue"]
#wn.bgcolor("white")
t.pencolor("black")
t.speed(5)
r1 = 75
r2 = 85
r3 = 150
r4 = r1 * 3
r1_pos = []
r3_pos = []
# draw r4
t.penup()
t.home()
t.color("blue", "blue")
t.begin_fill()
t.right(90)
t.pensize(1)
t.forward(r1 * 2)
t.setheading(0)
t.pendown()
t.circle(r4)
t.end_fill()


#draw r1
t.color("white", "white")
t.penup()
t.home()
t.begin_fill()
t.circle(r1, 15)
r1_pos.append(t.pos())
for i in range(11):
    t.circle(r1, 30)
    r1_pos.append(t.pos())
t.circle(r1, 15)
t.end_fill()

#draw r3
t.pensize(1)
t.penup()
t.home()
t.right(90)
t.forward(r1)
t.setheading(0)
#t.pendown()
r3_pos.append(t.pos())
for i in range(12):
    t.circle(r3, 30)
    r3_pos.append(t.pos())
#draw star
t.penup()
t.color("white", "white")
t.begin_fill()
for x in range(12):
    #t.pencolor(color[x % 4])
    #t.setpos()
    t.pendown()
    t.goto(r3_pos[x])
    t.goto(r1_pos[x])
t.goto(r3_pos[-1])
t.end_fill()
#draw r2
t.pencolor("blue")
t.penup()
t.home()旗
t.right(90)
x = r1 * 2 / 15
t.pensize(x)
t.forward(x / 2)
t.setheading(0)
t.pendown()
t.circle(r1 + x / 2)
t.hideturtle()

wn.mainloop()

二、中華民國國旗

"""
subject: 
    1. draw a nation flag by circle's center and become functions
    2. draw entire flag
@author: wuhinco
"""
import turtle 
def draw_medal(radius):
    
    global wn
    turtle.setup(radius * 16, radius * 32/3)
    wn = turtle.Screen()
    wn.title("Draw Nation flag")
    wn.bgcolor("red")
    
    # new home position    
    x = -radius * 4
    y = radius * 5 / 3 
    t = turtle.Turtle()
    t.pensize(2)
    t.pencolor("black")
    t.speed(4)
    r1 = radius
    #r2 = r1 + (r1 * 2)/15
    r3 = r1 * 2
    r4 = r1 * 3   #225
    
    r1_pos = []
    r3_pos = []
    
    
    """
    # draw r4
    t.penup()
    #t.home()
    t.goto(x, y)
    
    t.setheading(0)
    t.color("blue", "blue")
    t.begin_fill()
    
    t.right(90)
    t.pensize(1)
    t.forward(r1 * 2)
    t.setheading(0)
    t.pendown()
    
    t.circle(r4)
    t.end_fill()
    """
    # draw square
    t.penup()
    t.home()  
    t.color("blue", "blue")
    t.begin_fill()
    t.pendown()
    for i in range(2):
        t.left(90)
        t.forward(r1 * 16 / 3)
        t.left(90)
        t.forward(r1 * 8)    
    t.end_fill()
    
    
    #draw r1
    
    t.color("white", "white")
    t.penup()
    #t.home()
    t.goto(x, y)
    t.setheading(0)
    
    t.begin_fill()
    t.circle(r1, 15)
    r1_pos.append(t.pos())
    for i in range(11):
        t.circle(r1, 30)
        r1_pos.append(t.pos())
    t.circle(r1, 15)
    t.end_fill()
    
    
    #draw r3
    t.pensize(1)
    t.penup()
    #t.home()
    t.goto(x, y)
    t.setheading(0)
    
    t.right(90)
    t.forward(r1)
    t.setheading(0)
    #t.pendown()
    r3_pos.append(t.pos())
    for i in range(12):
        t.circle(r3, 30)
        r3_pos.append(t.pos())
    
    #draw star
    t.penup()
    t.color("white", "white")
    t.penup()
    t.begin_fill()
    for i in range(12):
        t.pendown()
        t.goto(r3_pos[i])
        t.goto(r1_pos[i])
    t.goto(r3_pos[-1])
    t.end_fill()
    
    #draw r2
    t.pencolor("blue")
    t.penup()
    #t.home()
    t.goto(x, y)
    t.setheading(0)
    
    t.right(90)
    x = r1 * 2 / 15
    t.pensize(x)
    t.forward(x / 2)
    t.setheading(0)
    t.pendown()
    t.circle(r1 + x / 2)
    t.hideturtle()
    
draw_medal(75)
wn.mainloop()



三、新加坡國旗

"""
subject: 
    1. draw singapore's flag 
    2. draw entire flag
@author: wuhinco
"""
import turtle 
import random
turtle.setup(900, 600)
wn = turtle.Screen()
wn.title("Draw Singapore flag")
wn.bgcolor("white")
def draw_star(center_pos, line, color, rate=0):
    x, y = center_pos     
    y -= 0.5 * line
    t = turtle.Turtle()
    t.hideturtle()
    t.speed(rate)
    t.penup()
    t.goto(x, y)  
    t.pendown()
    #t.setheading(300)
    t.color(color, color) 
    t.right(36)
    t.begin_fill()
    for i in range(5):  
        t.forward(line)
        t.left(144)
        t.forward(line)
        t.right(72)
    t.end_fill()
    
def draw_rect(pos, f_color, b_color, rate=5):
    t3 = turtle.Turtle() 
    t3.hideturtle()
    t3.speed(rate)
    t3.color(f_color, b_color)
    t3.pendown()
    t3.begin_fill()
    t3.goto(pos[-1])
    start_pos = end_pos = t3.pos()
    for i in pos:
        t3.goto(i)
    t3.goto(end_pos)
    t3.end_fill()
# draw red block and white block( function version )
draw_rect([(450,0),(450,300),(-450,300),(-450,0)], "red", "red")
draw_rect([(450,0),(450,-300),(-450,-300),(-450,0)], "white", "white")

t2 = turtle.Turtle() 
t2.hideturtle()
"""
# draw red block and white block( non function version )
t2.speed(10)
t2.color("red", "red")
t2.pendown()
t2.begin_fill()
t2.forward(wn.window_width()/2)
t2.left(90)
t2.forward(wn.window_height()/2)
t2.left(90)
t2.forward(wn.window_width())
t2.left(90)
t2.forward(wn.window_height()/2)
t2.left(90)
t2.forward(wn.window_width()/2)
t2.end_fill()
# draw white block
t2.color("white", "white")
t2.pendown()
t2.begin_fill()
t2.forward(wn.window_width()/2)
t2.right(90)
t2.forward(wn.window_height()/2)
t2.right(90)
t2.forward(wn.window_width())
t2.right(90)
t2.forward(wn.window_height()/2)
t2.right(90)
t2.forward(wn.window_width()/2)
t2.end_fill()
t2.penup()
"""
t2.speed(1)
t2.penup()
t2.color("white", "white")
pos_x = - wn.window_width()/4 -20
pos_y =  wn.window_height()/4
radius = wn.window_height()/4
t2.goto(pos_x , pos_y)
t2.pendown()
radius = radius *3 /2
t2.dot(radius, "white")
pos_x +=45
t2.penup()
t2.goto(pos_x, pos_y)
t2.pendown()
t2.dot(radius, "red")
pos_y -=radius/4
t2.penup()
t2.sety(pos_y)
t2.speed(0)
radius = radius / 4
t2.circle(radius,36)
for i in range(5):
    draw_star(t2.pos(), 18, "white")
    t2.circle(radius+5,72)
wn.mainloop()




四、英國國旗

"""
subject: 
    1. draw a UK flag 
    2. draw entire flag
@author: wuhinco
"""
import turtle 
turtle.setup(900, 600)
wn = turtle.Screen()
wn.title("Draw UK flag")
wn.bgcolor("blue")
top_mid_x = 0
top_mid_y =  wn.window_height() / 2
top_left_x = - wn.window_width() / 2
top_left_y = wn.window_height() / 2
left_mid_x = - wn.window_width() / 2
left_mid_y = 0
bottom_left_x = - wn.window_width() / 2
bottom_left_y = - wn.window_height() / 2
bottom_mid_x = 0
bottom_mid_y = - wn.window_height() / 2
bottom_right_x = wn.window_width() / 2
bottom_right_y = - wn.window_height() / 2
right_mid_x = wn.window_width() / 2
right_mid_y = 0
top_right_x = wn.window_width() / 2
top_right_y = wn.window_height() / 2
shift = 20
t = turtle.Turtle()
t.hideturtle()
# draw x  white
t.pencolor("white")
t.pensize(80)
t.speed(5)
t.penup()
t.goto(top_left_x , top_left_y)
t.pendown()
t.goto(bottom_right_x , bottom_right_y)
t.penup()
t.goto(top_right_x , top_right_y)
t.pendown()
t.goto(bottom_left_x , bottom_left_y)

# draw x  red
t.pencolor("red")
t.pensize(30)
t.speed(5)
t.penup()
t.goto(top_left_x , top_left_y-shift)
t.pendown()
t.goto(0, -shift)
t.goto(0, shift)
t.goto(bottom_right_x , bottom_right_y + shift)
t.penup()
t.goto(top_right_x, top_right_y + shift)
t.pendown()
t.goto(0, shift)
t.goto(0, -shift)
t.goto(bottom_left_x , bottom_left_y-shift)
# draw + white
t.pencolor("white")
t.penup()
t.pensize(140)
t.goto(top_mid_x , top_mid_y)
t.pendown()
t.goto(bottom_mid_x , bottom_mid_y)
t.penup()
t.pensize(170)
t.goto(left_mid_x , left_mid_y)
t.pendown()
t.goto(right_mid_x , right_mid_y)
# draw + red
t.penup()
t.pencolor("red")
t.pensize(80)
t.goto(top_mid_x , top_mid_y)
t.pendown()
t.goto(bottom_mid_x , bottom_mid_y)
t.penup()
t.pensize(100)
t.goto(left_mid_x , left_mid_y)
t.pendown()
t.goto(right_mid_x , right_mid_y)
  
wn.mainloop()



五、歐盟

"""

subject: 
    1. draw a EU flag by circle's center and become functions
    2. draw entire flag
@author: wuhinco
"""
import turtle 
turtle.setup(900, 600)
wn = turtle.Screen()
wn.title("Draw Europe Union flag")
wn.bgcolor("blue")
def draw_star(base_pos, line):
    x, y = base_pos     
    t = turtle.Turtle()
    t.hideturtle()
    t.pencolor("black")
    t.speed(0)
    t.penup()
    t.goto(x, y)  
    t.pendown()
    #t.setheading(300)
    t.color("gold", "gold") 
    t.right(36)
    t.begin_fill()
    for i in range(5):  
        t.forward(line)
        t.left(144)
        t.forward(line)
        t.right(72)
    t.end_fill()
    
#draw_star((0, 0), 100)
t2 = turtle.Turtle() 
t2.hideturtle()
t2.speed(0)
pos = []
t2.penup()
t2.home()
radius = wn.window_height()/3
t2.goto(0,-radius)
for i in range(12):
    t2.circle(radius , 30)
    draw_star(t2.pos(), 15)
    
wn.mainloop()




六、中國

"""
subject: 
    1. draw a china flag 
    2. draw entire flag
@author: wuhinco
"""
import turtle 
turtle.setup(900, 600)
wn = turtle.Screen()
wn.title("Draw china flag")
wn.bgcolor("red")
def draw_star(center_pos, line, color):
    x, y = center_pos     
    y -= 0.5 * line
    t = turtle.Turtle()
    t.hideturtle()
    t.speed(0)
    t.penup()
    t.goto(x, y)  
    t.pendown()
    #t.setheading(300)
    t.color(color, color) 
    t.right(36)
    t.begin_fill()
    for i in range(5):  
        t.forward(line)
        t.left(144)
        t.forward(line)
        t.right(72)
    t.end_fill()
    
pos_x = -wn.window_width()/3
pos_y =  wn.window_height()/4
line = 70
draw_star((pos_x, pos_y), line, "yellow")

# draw 45 degrees radian and four stars
t2 = turtle.Turtle() 
t2.hideturtle()
t2.speed(6)
pos = []
t2.penup()
t2.goto(pos_x, pos_y)
radius = line * 5/2
t2.goto(pos_x + line/2+40, pos_y-radius+15)
#t2.goto(0,-radius)
#t2.circle(radius-40 , 10)
for i in range(4):
    t2.circle(radius-40 , 36)
    draw_star(t2.pos(), 18, "yellow")
wn.mainloop()





第三堂課 turtle繪圖(二)俏皮版-倫敦之眼


 一、畫星星01

import turtle

turtle.setup(500, 500)
wn = turtle.Screen()
t = turtle.Turtle()
wn.title("STAR 01")
t.backward(200)
t.speed(10)
t.pencolor("blue")
for x in range(48):
    t.forward(400) #採用固定長度
    t.right(172.5)
wn.mainloop()


二、畫星星02 

import turtle
turtle.setup(800, 900)
wn = turtle.Screen()
t = turtle.Turtle()
wn.title("STAR 02")
t.speed(10)
t.pencolor("blue")
t.backward(300)
for x in range(90):
    t.forward(600)
    t.right(148)
    t.dot(20,"red") #轉折處畫點
wn.mainloop()


三、畫星星-幸福摩天輪

import turtle
turtle.setup(600, 700)
wn = turtle.Screen()
t = turtle.Turtle()
t.speed(0) #全速
t.backward(250)
t.pencolor("pink")
# start point
t.dot(20,"red")

#每隔100像素畫一點
for x in range(100):
    t.forward(100)
    t.dot(15,"blue")
    
    t.forward(100)
    t.dot(5,"orange")
    
    t.forward(100)
    t.dot(5,"yellow")
    
    t.forward(100)
    t.dot(10,"skyblue") 
     
    t.forward(100)
    t.dot(20,"red")
    
    t.right(148)
wn.mainloop()


四、倫敦之眼

"""
subject: draw London's eye
32 seats (360 / 32 = 11.25 degrees)
64 nodes (5.625 degrees)
@author: wuhinco
"""
import turtle
turtle.setup(1000, 800)
wn = turtle.Screen()
wn.title("Love Ferris Wheel")
t = turtle.Turtle()
wn.bgcolor("royalblue")
t.speed(5)
# draw base
t.pencolor("lightgray")
t.pensize(20)
t.right(70)
t.forward(400)
t.backward(400)
t.right(40)
t.forward(400)
t.backward(400)
t.dot(10,"deeppink")
# draw inner star
t.penup()
t.pensize(1)
t.pencolor("limegreen")
t.home()
t.backward(25)
t.sety(5)
t.pendown()
for x in range(16):
    t.forward(50)
    t.pencolor("limegreen")
    t.right(157.5)
# get nodes by circle
t.speed(8)
t.pensize(1)
t.setheading(0)
t.penup()
t.home()
t.sety(25)
t.pendown()
t.backward(250)
t.pencolor("pink")
# start point
t.dot(20,"white")
for x in range(32):
    t.forward(100)
    t.dot(10,"violet")
    
    t.forward(100)
    t.dot(5,"orange")
    
    t.forward(100)
    t.dot(5,"yellow")
    
    t.forward(100)
    t.dot(10,"skyblue") 
     
    t.forward(100)
    t.dot(20,"white")
    t.dot(15,"gray")
   
    t.right(168.75)
wn.mainloop()




2021年9月6日 星期一

第二堂課 程式初體驗-使用turtle來繪圖

 

一、畫直線和矩形

import turtle


turtle.setup(400, 400) #設定螢幕尺寸(寬度, 高度),單位為像素

wn = turtle.Screen() #產生一個螢幕物件,命名為wn

t = turtle.Turtle() #產生一個turtle物件,命名為t(產生一隻畫筆)

t.pensize(1) #設定畫筆尺寸

t.pencolor("black") #設定畫筆顏色

for x in range(100): #重複執行100x=0,1,2...99

t.forward(x) #每次前進x 像素

t.right(90) #右轉90

wn.mainloop() #等待事件迴圈。# wn.bye()



試看看:
  1. 調整x的大小 。例如: t.forward(x * 2), t.forward(x * 3)...

  2. 調整角度的大小。例如:t.right(89)、t.right(45)、t.ringt(120)…

  3. 調整畫筆尺寸。例如:t.pensize(5)...

  4. 調整畫筆顏色。例如:t.pencolor("red")
    其他顏色名稱:"blue""green""yellow"、"darkred"
    超連結:其他顏色名稱 (需刪除單字間的空格)


二、畫圓形

(一)單一圓形

import turtle


turtle.setup(600, 600)

wn = turtle.Screen()

t = turtle.Turtle()

t.pensize(5)

t.speed(5) #動畫速度:(慢)110(快)0:無動畫效果

t.pencolor(“red”) #設定畫筆顏色為紅色

t.circle(150) # 半徑150像素的圓形




#畫圓、弧、畫點
import turtle

turtle.setup(800, 800)
wn = turtle.Screen()
t = turtle.Turtle()
t.pensize(1)
t.speed(5)
t.pencolor("red")
t.circle(200)

#每移動30度,畫一點
t.pencolor("red")
for i in range(12):
    t.circle(200, 30)
    t.dot(20, "blue")

wn.mainloop()



三、畫多條直線

import turtle


turtle.setup(400, 400)

wn = turtle.Screen()

t = turtle.Turtle()

t.pensize(5)

#顏色串列

color = ["red", "orange","yellow", "green", "cyan","blue", "purple"]

t.speed(0)

for x in range(360):

t.pencolor(color[x % 7]) #利用餘數運算color[0] 紅色、#color[1] 橙色,…

t.forward(200) #前進

t.penup() #提筆

t.backward(200) #後退

t.pendown() #下筆

t.right(4)


wn.mainloop() #等待事件迴圈。# wn.bye()



四、turtle預設值與常用指令
(一)座標系統




(二)常用指令

    1. Turtle motion 動作

        Move and draw 移動和繪圖

  • forward(n) | fd(n) 前進n個像素
    例:t.forward(100) #前進100個像素

  • back(n)| bk(n) | backward(n後退n個像素

  • 例:t.backward(100) #後退100個像素

  • right(angle) | rt(angle) 右轉特定角度
    例:t.right(90) # 右轉90

  • left(angle) | lt(angle) 左轉特定角度
    例:t.left(90) # 左轉90

  • goto(x, [y] ) | setpos(x, [y] ) | setposition(x, [y] ) 移動到某位置
    例:t.goto(100) # 水平移動到x = 100的位置

例:t.goto(100, 200) # 移動到(100, 200)的位置

  • setx(x ) 設定(移動到)x座標
    例:t.setx(100) # 水平移動x = 100的位置

  • sety(y ) 設定(移動到)y座標
    例:t.sety(100) # 垂直移動y = 100的位置

  • setheading(angel) | seth(angel) 設定方向(角度

    例:
    t.setheading(0) # 設定方向為0度(向東)
    例:t.setheading(90) # 設定方向為90度(向北)
    例:t.setheading(180) # 設定方向為180度(向西)
    例:t.setheading(270) # 設定方向為270度(向南)

  • home() 移動到原點(0, 0)
    例:t.home() # 移動到原點ndo() 回復上一動作

  • circle(radius, extent=None, steps=None) 畫圓(弧)形
    例:t.circle( 100) #逆時鐘方向,畫半徑100像素的圓形
    例:t.circle(-100) #順時鐘方向,畫半徑100像素的圓形
    例:t.circle(100, 90) #畫半徑100像素1/4圓弧,圓心角90度的弧形。

  • dot([size], color ) 畫點
    例:t.dot( 100, “red”) #直徑100像素的紅色圓點

  • speed(n) 動畫速度

例:t.speed(5) #動畫的速度為51(慢)~10(快)。0:最快

2. Pen control 畫筆的控制 

    (1) Drawing state 繪圖的狀態)

  • pendown() | pd() | down() 下筆

  • penup() | pu() | up() 提筆

  • pensize(size) | width() 筆的寬度

    (2) Color control 畫筆的顏色控制

  • pencolor([color_value]) 設定畫筆顏色
    例:t.pencolor( ) #傳回畫筆顏色

例:t.pencolor(“red) #傳回畫筆顏色。參數:文字
例:t.pencolor(‘#ff0000) #設定畫筆顏色為紅色。參數:16進位
例:t.pencolor((255, 0, 0)) #設定畫筆顏色為紅色。參數:(r, g, b)
例:t.pencolor(255, 0, 0) #設定畫筆顏色為紅色
例:t.pencolor( 0, 255, 0) #設定畫筆顏色為綠色
例:t.pencolor(255, 255, 255)) #設定畫筆顏色為白色
例:t.pencolor( 0, 0, 0) #設定畫筆顏色為黑色

Filling 填色

  • filling( ) 傳回填色狀態 True False

  • begin_fill( ) 開始填色

  • end_fill( ) 結束填色

    例:
    t.color(“red”, “yellow”) # 前景,背景
    t.begin_fill( )
    t.circle(80)
    t.end_fill( )

(三)顏色清單
       https://trinket.io/docs/colors
        
        使用顏色名稱時需刪除中間的空白

四、習題:畫出下列圖形




4-1 提示:角度約27 4-2 提示:長度固定,角度設為172.5



4-1 提示:角度約27 

4-2 提示:長度固定,角度設為172.5

4-3 提示:角度設為120 

4-4角度設為45

4-5 提示:角度設為120度,並加上t.dot()


五、進階習題:畫我國國徽或國旗、或世界國旗













第一堂課 安裝Anaconda

 

一、安裝Anaconda


  • 官方網址:https://anaconda.com

  • 個人版(免費版)下載:超連結
    https://repo.anaconda.com/archive/Anaconda3-2021.05-Windows-x86_64.exe






二、安裝pygame模組
  1.  windows 功能表中啟動Anaconda Prompt(anaconda3)

  2. 輸入並執行 pip install spyder 
  3. pygame 模組,主要運用在 遊戲的撰寫。


三、軟體升級

  1. windows 功能表中啟動Anaconda Prompt(anaconda3)

  1. 輸入並執行conda update anaconda

  2. 輸入並執行conda update conda

  3. 輸入並執行 pip install –upgrade spyder


備註:手機和平板可由Google商店和App Store下載其他開發軟體:
(1) pydroid3 (android
版)、(2)pythonista (iOS)


四、互動式開發環境(Spyder IDE)



五、調整版面(layouts)



六、調整工具列

調整工具列項目


七、第一個程式

()在主要程式編輯區輸入 print(“Hello world.”)

 

()在程式直譯器輸入 print(“Hello world.”)

 

八、執行程式 (按Run 或 F5)

 

    

九、試一下

  • 運算子(運算符號)Operator:

    • + Addition 加法

    • - Substration 減法

    • * Multiplication 乘法

    • / Division 除法

    • // Floor division(Whole number) 整數除法(只保留整數)

    • % Mod 求餘數

    • ** Exponentiation 求次方

     
     




  • 運算子(符號)的優先順序:

    • ( )

    • – (負號)

    • * /

    • + - (減號)

    • left-to-right: same precedence

  • 註:** 優於 - (負號)



十、習題:計算幾何圖形面積

1. 三角形底為 10 cm,高為 3cm,面積為何?

答:



2. 圓半徑為10 cm,面積為何?

答:



3. 梯形的上底和下底分別為4 cm 6 cm,高為 3 cm。面積為何?

答:



習題1. 畫Pokemon 精靈球

任務:參考影片的繪圖步驟,自行完成本頁的範例程式,繪製一顆Pokemon精靈球 解答:在本頁的底部。 """ subject: draw a Pokemon Ball 程式設計:wuhinco@gmai.com  """...