电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

想學(xué)畫畫?python滿足你!

瀏覽:7日期:2022-07-01 11:16:11

python中的繪圖工具有不少,比如Matplotlib等等,但這些只能用來畫表格,今天我們來介紹一款可以用來畫畫的庫——turtle。

一、繪圖原理

我們通過控制初始位置為(0,0)的海龜進行移動,根據(jù)一組函數(shù)指令的控制,在平面坐標(biāo)系中移動,從而在它爬行的路徑上繪制了圖形。

二、開始繪圖

turtle是python自帶的庫,我們直接import導(dǎo)入即可

import turtle設(shè)置繪圖區(qū)域?qū)傩?p>繪圖區(qū)域背景色的設(shè)置

turtle.bgcolor(’blue’)

想學(xué)畫畫?python滿足你!

選擇想要的顏色即可

繪圖區(qū)域大小設(shè)置

turtle.setup(width=200,height=100)

參數(shù):

width, height:

輸入寬和高為整數(shù)時, 表示像素;

為小數(shù)時, 表示占據(jù)電腦屏幕的比例。

畫筆繪制圖形

讓我們先簡單的畫一條直線

turtle.forward(100)

想學(xué)畫畫?python滿足你!

forward()是turtle的內(nèi)置函數(shù),表示從原點向前進多少距離。我們還可以控制畫筆的角度讓他轉(zhuǎn)彎。與之對應(yīng)的是backward(),后退多少距離

turtle.backward(100)turtle.left(60)turtle.forward(100)

這里的left()就表示畫筆的轉(zhuǎn)彎方向和角度了,相應(yīng)的right則為向右轉(zhuǎn)。

想學(xué)畫畫?python滿足你!

如圖我們后退了100的距離然后向左偏轉(zhuǎn)60°又前進了100距離。其他常用參數(shù)請參考下面的表格

畫筆運動函數(shù)

函數(shù) 描述 turtle.forward(distance) 向當(dāng)前畫筆方向移動distance像素長 turtle.backward(distance) 向當(dāng)前畫筆相反方向移動distance像素長度 turtle.right(degree) 順時針移動degree° turtle.left(degree) 逆時針移動degree° turtle.pendown() 移動時繪制圖形,缺省時也為繪制 turtle.goto(x,y) 將畫筆移動到坐標(biāo)為x,y的位置 turtle.penup() 移動時不繪制圖形,提起筆,用于另起一個地方繪制時用 turtle.speed(speed) 畫筆繪制的速度范圍[0,10]整數(shù) turtle.circle() 畫圓,半徑為正(負(fù)),表示圓心在畫筆的左邊(右邊)畫圓

畫筆參數(shù)

命令 說明 turtle.pensize(width) 繪制圖形時的寬度 turtle.pencolor() 畫筆顏色 turtle.fillcolor(colorstring) 繪制圖形的填充顏色 turtle.color(color1, color2) 同時設(shè)置pencolor=color1, fillcolor=color2 turtle.filling() 返回當(dāng)前是否在填充狀態(tài) turtle.begin_fill() 準(zhǔn)備開始填充圖形 turtle.end_fill() 填充完成; turtle.hideturtle() 隱藏箭頭顯示; turtle.showturtle() 與hideturtle()函數(shù)對應(yīng)

全局控制命令

命令 說明 turtle.clear() 清空turtle窗口,但是turtle的位置和狀態(tài)不會改變 turtle.reset() 清空窗口,重置turtle狀態(tài)為起始狀態(tài) turtle.undo() 撤銷上一個turtle動作 turtle.isvisible() 返回當(dāng)前turtle是否可見 stamp() 復(fù)制當(dāng)前圖形 turtle.write(s[,font=('font-name',font_size,'font_type')]) 寫文本,s為文本內(nèi)容,font是字體的參數(shù),里面分別為字體名稱,大小和類型;font為可選項, font的參數(shù)也是可選項

三、for循環(huán)語句

如果我們要畫一個正方形按照上邊的方法代碼為

import turtleturtle.forward(100)turtle.left(90)turtle.forward(100)turtle.left(90)turtle.forward(100)turtle.left(90)turtle.forward(100)turtle.left(90)

一個簡單的四邊形就要如此重復(fù),繪制更復(fù)雜的圖形還這樣做的話就顯得不科學(xué)了,這時候我們就要用到for循環(huán)了。使用for循環(huán)的語句優(yōu)化過的代碼為

totalTimes=4 for times in range(totalTimes): turtle.forward(100) turtle.left(90)

想學(xué)畫畫?python滿足你!

四、簡單示例

繪制五角星

import turtlet=turtle.Pen() #獲得畫筆t.hideturtle() #隱藏箭頭t.begin_fill() #填充圖形for x in range(1, 6): t.forward(100) t.left(216) #在這里先向右直行,然后左轉(zhuǎn)216°(左下,正五角星度數(shù)180/5=36°)t.end_fill() #填充完成

想學(xué)畫畫?python滿足你!

繪制櫻花樹

import turtle as Timport randomimport time # 畫櫻花的軀干(60,t)def Tree(branch, t): time.sleep(0.0005) if branch > 3: if 8 <= branch <= 12: if random.randint(0, 2) == 0:t.color(’snow’) # 白 else:t.color(’lightcoral’) # 淡珊瑚色 t.pensize(branch / 3) elif branch < 8: if random.randint(0, 1) == 0:t.color(’snow’) else:t.color(’lightcoral’) # 淡珊瑚色 t.pensize(branch / 2) else: t.color(’sienna’) # 赭(zhě)色 t.pensize(branch / 10) # 6 t.forward(branch) a = 1.5 * random.random() t.right(20 * a) b = 1.5 * random.random() Tree(branch - 10 * b, t) t.left(40 * a) Tree(branch - 10 * b, t) t.right(20 * a) t.up() t.backward(branch) t.down() # 掉落的花瓣def Petal(m, t): for i in range(m): a = 200 - 400 * random.random() b = 10 - 20 * random.random() t.up() t.forward(b) t.left(90) t.forward(a) t.down() t.color(’lightcoral’) # 淡珊瑚色 t.circle(1) t.up() t.backward(a) t.right(90) t.backward(b) # 繪圖區(qū)域t = T.Turtle()# 畫布大小w = T.Screen()t.hideturtle() # 隱藏畫筆t.getscreen().tracer(5, 0)w.screensize(bg=’wheat’) # wheat小麥t.left(90)t.up()t.backward(150)t.down()t.color(’sienna’) # 畫櫻花的軀干Tree(60, t)# 掉落的花瓣P(guān)etal(200, t)w.exitonclick()

想學(xué)畫畫?python滿足你!

更多關(guān)于python的文章,歡迎關(guān)注python客棧。

想學(xué)畫畫?python滿足你!

以上就是想學(xué)畫畫?python滿足你!的詳細內(nèi)容,更多關(guān)于python 畫畫的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 驾驶人在线_专业学车门户网站| 单电机制砂机,BHS制砂机,制沙机设备,制砂机价格-正升制砂机厂家 单级/双级旋片式真空泵厂家,2xz旋片真空泵-浙江台州求精真空泵有限公司 | 无线联网门锁|校园联网门锁|学校智能门锁|公租房智能门锁|保障房管理系统-KEENZY中科易安 | 培训中心-翰香原香酥板栗饼加盟店总部-正宗板栗酥饼技术 | 高清视频编码器,4K音视频编解码器,直播编码器,流媒体服务器,深圳海威视讯技术有限公司 | 西门子代理商_西门子变频器总代理-翰粤百科 | 绿萝净除甲醛|深圳除甲醛公司|测甲醛怎么收费|培训机构|电影院|办公室|车内|室内除甲醛案例|原理|方法|价格立马咨询 | 餐饮小吃技术培训-火锅串串香培训「何小胖培训」_成都点石成金[官网] | 沈阳网站建设_沈阳网站制作_沈阳网页设计-做网站就找示剑新零售 沈阳缠绕膜价格_沈阳拉伸膜厂家_沈阳缠绕膜厂家直销 | 气体检测仪-氢气检测仪-可燃气体传感器-恶臭电子鼻-深国安电子 | 宜兴市恺瑞德环保科技有限公司 | 电子万能试验机_液压拉力试验机_冲击疲劳试验机_材料试验机厂家-济南众标仪器设备有限公司 | 成都治疗尖锐湿疣比较好的医院-成都治疗尖锐湿疣那家医院好-成都西南皮肤病医院 | 喷漆房_废气处理设备-湖北天地鑫环保设备有限公司 | 锂电池砂磨机|石墨烯砂磨机|碳纳米管砂磨机-常州市奥能达机械设备有限公司 | Type-c防水母座|贴片母座|耳机接口|Type-c插座-深圳市步步精科技有限公司 | 植筋胶-粘钢胶-碳纤维布-碳纤维板-环氧砂浆-加固材料生产厂家-上海巧力建筑科技有限公司 | led太阳能路灯厂家价格_风光互补庭院灯_农村市政工程路灯-中山华可路灯品牌 | 润滑油加盟_润滑油厂家_润滑油品牌-深圳市沃丹润滑科技有限公司 琉璃瓦-琉璃瓦厂家-安徽盛阳新型建材科技有限公司 | 托盘租赁_塑料托盘租赁_托盘出租_栈板出租_青岛托盘租赁-优胜必达 | 物流之家新闻网-最新物流新闻|物流资讯|物流政策|物流网-匡匡奈斯物流科技 | 土壤墒情监测站_土壤墒情监测仪_土壤墒情监测系统_管式土壤墒情站-山东风途物联网 | 耐火浇注料价格-高强高铝-刚玉碳化硅耐磨浇注料厂家【直销】 | 电脑知识|软件|系统|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网 | 微水泥_硅藻泥_艺术涂料_艺术漆_艺术漆加盟-青岛泥之韵环保壁材 武汉EPS线条_EPS装饰线条_EPS构件_湖北博欧EPS线条厂家 | 免费B2B信息推广发布平台 - 推发网| 全自动过滤器_反冲洗过滤器_自清洗过滤器_量子除垢环_量子环除垢_量子除垢 - 安士睿(北京)过滤设备有限公司 | 广东佛电电器有限公司|防雷开关|故障电弧断路器|智能量测断路器 广东西屋电气有限公司-广东西屋电气有限公司 | 选矿设备-新型重选设备-金属矿尾矿重选-青州冠诚重工机械有限公司 | 合肥钣金加工-安徽激光切割加工-机箱机柜加工厂家-合肥通快 | 船用锚链|专业锚链生产厂家|安徽亚太锚链制造有限公司 | 专业生产动态配料系统_饲料配料系统_化肥配料系统等配料系统-郑州鑫晟重工机械有限公司 | 广州展览设计公司_展台设计搭建_展位设计装修公司-众派展览装饰 广州展览制作工厂—[优简]直营展台制作工厂_展会搭建资质齐全 | 移动机器人产业联盟官网 | 木材烘干机,木炭烘干机,纸管/佛香烘干设备-河南蓝天机械制造有限公司 | 钢格栅板_钢格板网_格栅板-做专业的热镀锌钢格栅板厂家-安平县迎瑞丝网制造有限公司 | 防勒索软件_数据防泄密_Trellix(原McAfee)核心代理商_Trellix(原Fireeye)售后-广州文智信息科技有限公司 | 三板富 | 专注于新三板的第一垂直服务平台 | 山东臭氧发生器,臭氧发生器厂家-山东瑞华环保设备 | 整车VOC采样环境舱-甲醛VOC预处理舱-多舱法VOC检测环境仓-上海科绿特科技仪器有限公司 | 混合生育酚_醋酸生育酚粉_琥珀酸生育酚-山东新元素生物科技 |