046 實例11-自動軌跡繪制

目錄

  • 一、"自動軌跡繪制"問題分析
    • 1.1 問題分析
    • 1.2 自動軌跡繪制
  • 二、"自動軌跡繪制"實例講解
    • 2.1 自動軌跡繪制
    • 2.2 數據接口定義
    • 2.3 數據文件
  • 三、"自動軌跡繪制"舉一反三
    • 3.1 理解方法思維
    • 3.2 應用問題的擴展

一、"自動軌跡繪制"問題分析

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
184,0,72,1,0,1

46-實例11-自動軌跡繪制-01.jpg?x-oss-process=style/watermark

二、"自動軌跡繪制"實例講解

2.1 自動軌跡繪制

基本思路

  • 步驟1:定義數據文件格式(接口)
  • 步驟2:編寫程序,根據文件接口解析參數繪制圖形
  • 步驟3:編制數據文件

2.2 數據接口定義

非常具有個性色彩

46-實例11-自動軌跡繪制-02.jpg?x-oss-process=style/watermark

# AutoTraceDraw.pyimport turtle as tt.title('自動軌跡繪制')
t.setup(800, 600, 0, 0)
t.pencolor("red")
t.pensize(5)
#數據讀取
datals = []
f = open("data.txt")
for line in f:line = line.replace("\n", "")datals.append(list(map(eval, line.split(","))))
f.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[i][1]:t.right(datals[i][2])else:t.left(datals[i][2])

46-實例11-自動軌跡繪制-01.jpg?x-oss-process=style/watermark

2.3 數據文件

# data.txt300,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 應用問題的擴展

  • 擴展接口設計,增加更多控制接口
  • 擴展功能設計,增加弧形等更多功能
  • 擴展應用需求,發展自動軌跡繪制到動畫繪制

轉載于:https://www.cnblogs.com/nickchen121/p/11208273.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/247442.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/247442.shtml
英文地址,請注明出處:http://en.pswp.cn/news/247442.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

bootstrap-select采坑

bootstrap-select采坑 1.class"selectpicker" 普通的下拉框功能 2.title"請選擇城市名稱" title的作用與palcehoder一樣。 3.select class"selectpicker" multiple selectpicker和multiple屬性的搭配使用可實現多選 4.data-live-search"tru…

對vue虛擬dom的研究

Vue.js通過編譯將template 模板轉換成渲染函數(render ) ,執行渲染函數就可以得到一個虛擬節點樹在對 Model 進行操作的時候,會觸發對應 Dep 中的 Watcher 對象。Watcher 對象會調用對應的 update 來修改視圖。這個過程主要是將新舊虛擬節點進行差異對比…

element-ui之dialog組件title插槽的使用

dialog對話框組件title屬性的slot使用方法 使用背景 需要單獨控制title中某個數據顯示及樣式&#xff0c;footer也一樣 <el-dialog// 也可以這樣寫,但是沒有辦法單獨控制name age的顯示// title"name age"title"提示":visible.sync"dialogVisi…

css3自適應布局單位vw,vh

視口單位(Viewport units) 什么是視口&#xff1f; 在桌面端&#xff0c;視口指的是在桌面端&#xff0c;指的是瀏覽器的可視區域&#xff1b;而在移動端&#xff0c;它涉及3個視口&#xff1a;Layout Viewport&#xff08;布局視口&#xff09;&#xff0c;Visual Viewport…

python 操作 elasticsearch-7.0.2 遇到的問題

錯誤一&#xff1a;TypeError: search() got an unexpected keyword argument doc_type&#xff0c;得到不預期外的參數 解決方法&#xff1a;elasticsearch7里不用文檔類型&#xff0c;所以去掉 doc_typecredit_data 錯誤二&#xff1a;RequestError(400, illegal_argument_ex…

用到的Shell

sed 1i 添加的內容 file #這是在第一行前添加字符串 sed $i 添加的內容 file #這是在最后一行行前添加字符串 sed $a添加的內容 file #這是在最后一行行后添加字符串 sed -i s/.*/行首添加內容&行尾添加內容/ 文件名 //每一行 sed -i $a新增的一行 tars_build_tar.sh a…

如何解決瀏覽器縮小出現橫向滾動條時網頁背景圖出現空白的問題

原因&#xff1a; 當窗口縮小時&#xff0c;瀏覽器默認100%寬度為瀏覽器窗口的寬度。而忽略了下部內容層固定寬度(1024px)。從而出現了固定寬度大于100%寬度的現象。瀏覽以此理解來解析頁面&#xff0c;就出現了容器寬度理解上的差異&#xff0c;出現了一個非常奇特的BUG。 解…

前端設計模式

1. 單例模式 2.裝飾器模式 轉載于:https://www.cnblogs.com/lyraLee/p/11210985.html

區別 (function($){...})(jQuery)、$(function(){ })和$.fn

一、(function($){…})(jQuery) 首先function(arg){...}定義了一個匿名函數&#xff0c;參數為arg,而調用時需要在函數后面寫上括號和實參&#xff0c;由于操作符的優先級&#xff0c;函數本身也需要括號&#xff0c;也就成了&#xff1a; &#xff08;function(arg){...}&…

git 清除緩存

清除git緩存 git config --local --unset credential.helpergit config --global --unset credential.helpergit config --system --unset credential.helper保存git緩存 git config --global credential.helper store轉載于:https://www.cnblogs.com/zhouyideboke/p/11211650.…

網頁里如何使用js禁用控制臺

網頁里如何禁用右擊事件&#xff1f;使用jQuery&#xff0c;幾句代碼就可以搞定了 document.oncontextmenu function(){return false;} 簡單示例&#xff1a; js實現&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><…

Java生鮮電商平臺-訂單中心服務架構與異常訂單邏輯

Java生鮮電商平臺-訂單中心服務架構與異常訂單邏輯 訂單架構實戰中闡述了訂單系統的重要性&#xff0c;并從訂單系統的信息架構和流程上對訂單系統有了總體認知&#xff0c;同時還穿插著一些常見的訂單業務規則和邏輯。上文寫到訂單的拆單部分時擱置了&#xff0c;現在接上文繼…

Vuex的全面用法總結

1. vuex簡介 vuex是專門用來管理vue.js應用程序中狀態的一個插件。他的作用是將應用中的所有狀態都放在一起&#xff0c;集中式來管理。需要聲明的是&#xff0c;這里所說的狀態指的是vue組件中data里面的屬性。了解vue的同學應該是明白data是怎么回事的吧&#xff0c;如果不懂…

vue中通過第三方代理解決跨域問題

最近在學node&#xff0c;遇到了跨域的問題&#xff0c;來記錄下方法 首頁服務端的框架是通過express-generator 搭建起來的 npm install -g express-generator 具體接下來的細節不多說&#xff0c;今天主要說跨域 的問題 左側為服務端項目結構&#xff0c;www為可執行文件&am…

使用V-chart時配置踩過的一些坑

如何配置圖表信息 echart的配置項可謂是相當的海量&#xff0c;能不看就不看。而v-chart對其進行了不少的簡化&#xff0c;所以我們想要自定義一個圖表時&#xff0c;最好按照以下步驟來檢查&#xff1a; 圖表私有屬性 v-chart每一個圖表都有自己獨有的設置項&#xff0c;想…

ZDOzMRVAOq

11 轉載于:https://www.cnblogs.com/wc529065/p/11212226.html

vue 出現Elements in iteration expect to have 'v-bind:key' directives

是由于eslint檢測出現bug 解決方法有兩種 v-for 后添加 :keyitem <li v-for"item in list" :key"item"> 在build處關閉eslint檢測 ...(config.dev.useEslint ? [createLintingRule()] : []),

requestAnimationFram

window.requestAnimationFrame() 告訴瀏覽器——你希望執行一個動畫&#xff0c;并且要求瀏覽器在下次重繪之前調用指定的回調函數更新動畫。該方法需要傳入一個回調函數作為參數&#xff0c;該回調函數會在瀏覽器下一次重繪之前執行 注意&#xff1a;若你想在瀏覽器下次重繪之…

vue/return-in-computed-property Enforce that a return statement is present in computed property

此規則強制return語句在computed屬性中得完整存在。 <script> export default {computed: {/* ? GOOD */foo () {if (this.bar) {return this.baz} else {return this.baf}},bar: function () {return false},/* ? BAD */baz () {if (this.baf) {return this.baf}},ba…

vue-cli3 一直運行 /sockjs-node/info?t= 解決方案

首先 sockjs-node 是一個JavaScript庫&#xff0c;提供跨瀏覽器JavaScript的API&#xff0c;創建了一個低延遲、全雙工的瀏覽器和web服務器之間通信通道。 服務端&#xff1a;sockjs-node&#xff08;https://github.com/sockjs/sockjs-node&#xff09; 客戶端&#xff1a;so…