日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

【Python实用工具】(情人节献礼)turtle函数绘制动态玫瑰花

發布時間:2024/3/12 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Python实用工具】(情人节献礼)turtle函数绘制动态玫瑰花 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Turtle庫是Python語言中一個很流行的繪制圖像的函數庫,想象一個小烏龜,在一個橫軸為x、縱軸為y的坐標系原點,(0,0)位置開始,它根據一組函數指令的控制,在這個平面坐標系中移動,從而在它爬行的路徑上繪制了圖形。

1. 畫布(canvas)

畫布就是turtle為我們展開用于繪圖區域,我們可以設置它的大小和初始位置。

設置畫布大小

turtle.screensize(canvwidth=None, canvheight=None, bg=None),參數分別為畫布的寬(單位像素),, 背景顏色。 如:turtle.screensize(800,600, "green") turtle.screensize() #返回默認大小(400, 300)

turtle.setup(width=0.5, height=0.75, startx=None, starty=None),參數:width, height: 輸入寬和高為整數時, 表示像素; 為小數時, 表示占據電腦屏幕的比例,(startx, starty): 這一坐標表示矩形窗口左上角頂點的位置, 如果為空,則窗口位于屏幕中心。
如:turtle.setup(width=0.6,height=0.6)

turtle.setup(width=800,height=800, startx=100, starty=100)

2. 畫筆

2.1 畫筆的狀態

在畫布上,默認有一個坐標原點為畫布中心的坐標軸,坐標原點上有一只面朝x軸正方向小烏龜。這里我們描述小烏龜時使用了兩個詞語:坐標原點(位置),面朝x軸正方向(方向), turtle繪圖中,就是使用位置方向描述小烏龜(畫筆)的狀態。

2.2 畫筆的屬性

畫筆(畫筆的屬性,顏色、畫線的寬度等)1) turtle.pensize():設置畫筆的寬度;2) turtle.pencolor():沒有參數傳入,返回當前畫筆顏色,傳入參數設置畫筆顏色,可以是字符串如"green", "red",也可以是RGB 3元組。3) turtle.speed(speed):設置畫筆移動速度,畫筆繪制的速度范圍[0,10]整數,數字越大越快。

2.3 繪圖命令

操縱海龜繪圖有著許多的命令,這些命令可以劃分為3種:一種為運動命令,一種為畫筆控制命令,還有一種是全局控制命令。

3. 命令詳解

3.1 turtle.circle(radius, extent=None, steps=None)

描述:以給定半徑畫圓 參數: radius(半徑):半徑為正(負),表示圓心在畫筆的左邊(右邊)畫圓; extent(弧度) (optional); steps (optional) (做半徑為radius的圓的內切正多邊形,多邊形邊數為steps)。 舉例: circle(50) # 整圓; circle(50,steps=3) # 三角形; circle(120, 180) # 半圓

干貨開始:
繪制玫瑰花~

#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/8/12 15:30 # @Author : vaxtiandao # @File : flower.pyimport turtle import time turtle.speed(5)# 設置初始位置 turtle.penup() turtle.left(90) turtle.fd(200) turtle.pendown() turtle.right(90)# 花蕊 turtle.fillcolor("red") turtle.begin_fill() turtle.circle(10, 180) turtle.circle(25, 110) turtle.left(50) turtle.circle(60, 45) turtle.circle(20, 170) turtle.right(24) turtle.fd(30) turtle.left(10) turtle.circle(30, 110) turtle.fd(20) turtle.left(40) turtle.circle(90, 70) turtle.circle(30, 150) turtle.right(30) turtle.fd(15) turtle.circle(80, 90) turtle.left(15) turtle.fd(45) turtle.right(165) turtle.fd(20) turtle.left(155) turtle.circle(150, 80) turtle.left(50) turtle.circle(150, 90) turtle.end_fill()# 花瓣1 turtle.left(150) turtle.circle(-90, 70) turtle.left(20) turtle.circle(75, 105) turtle.setheading(60) turtle.circle(80, 98) turtle.circle(-90, 40)# 花瓣2 turtle.left(180) turtle.circle(90, 40) turtle.circle(-80, 98) turtle.setheading(-83)# 葉子1 turtle.fd(30) turtle.left(90) turtle.fd(25) turtle.left(45) turtle.fillcolor("green") turtle.begin_fill() turtle.circle(-80, 90) turtle.right(90) turtle.circle(-80, 90) turtle.end_fill() turtle.right(135) turtle.fd(60) turtle.left(180) turtle.fd(85) turtle.left(90) turtle.fd(80)# 葉子2 turtle.right(90) turtle.right(45) turtle.fillcolor("green") turtle.begin_fill() turtle.circle(80, 90) turtle.left(90) turtle.circle(80, 90) turtle.end_fill() turtle.left(135) turtle.fd(60) turtle.left(180) turtle.fd(60) turtle.right(90) turtle.circle(200, 60)

實現效果:

其他案例:
五角星:

#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2021/8/13 17:14 # @Author : vaxtiandao # @File : star.py# coding=utf-8 import turtle import timeturtle.pensize(5) turtle.pencolor("yellow") turtle.fillcolor("red")turtle.begin_fill() for _ in range(5):turtle.forward(200)turtle.right(144) turtle.end_fill() time.sleep(2)turtle.penup() turtle.goto(-150, -120) turtle.color("violet")turtle.mainloop()

實現效果:

總結

以上是生活随笔為你收集整理的【Python实用工具】(情人节献礼)turtle函数绘制动态玫瑰花的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。