一、自動軌跡繪制問題分析
1.1 問題分析
自動軌跡繪制
- 需求:根據腳本來繪制圖形
- 不是代碼實現而是讀取文件中數據繪制軌跡
- 數據腳本是自動化最終要的第一步
1.2 自動軌跡繪制
300,0,144,1,0,0
300,0,144,0,1,0
300,0,144,0,0,1
300,0,144,1,1,0
300,0,108,0,1,1

二、自動軌跡繪制實例講解
2.1自動軌跡繪制
基本思路
- 步驟1:定義數據文件格式(接口)
- 步驟2:編寫程序,根據文件接口解析參數繪制圖形
- 步驟3:編制數據文件
2.2 數據接口定義
非常具有個性色彩

import turtle as t
"""
@author RansySun
@create 2019-07-20-22:47
"""
t.title("自動軌跡繪制")
t.setup(800, 600, 0, 0)
t.pencolor("red")
t.pensize("5")
# 數據讀取
fr = open("text.txt", "r")
datals = []
for line in fr:
# 去除文件中換行
line = line.replace("\n", "")
# 將每一行字符串分割,去除字符串保存在列表中
datals.append(list(map(eval, line.split(","))))
print(datals)
fr.close()
for i in range(len(datals)):
t.pencolor(datals[i][3], datals[i][4], datals[i][5])
t.fd(datals[i][0])
if datals[1]:
t.right(datals[i][2])
else:
t.left(datals[i][2])
t.done()

2.3 數據文件
# text.txt
300,0,144,1,0,0
300,0,144,0,1,0
300,0,144,0,0,1
300,0,144,1,1,0
300,0,108,0,1,1
184,0,72,1,0,1
184,0,72,0,0,0
184,0,72,0,0,0
184,0,72,0,0,0
184,1,72,1,0,1
184,1,72,0,0,0
184,1,72,0,0,0
184,1,72,0,0,0
184,1,72,0,0,0
184,1,720,0,0,0
三、自動軌跡繪制舉一反三
3.1理解方法思維
- 自動化思維:數據和功能分離,數據驅動的自動運行
- 接口化設計:格式化化設計接口,清晰明了
- 二維數據應用:應用維度組織數據
3.2 應用問題的擴展
- 擴展接口設計,增加更多控制接口
- 擴展功能設計,增加弧形等更多功能
- 擴展應用需求,發展自動軌跡繪制到動畫繪制
