Python turtle 小项目

本文介绍了使用Python的Turtle库绘制多种图形的方法,包括爱心、雪花、太阳花及更复杂的有规律图形,通过调整参数可以创造出不同的视觉效果。

用turtle绘制各种曲线

一、爱心

首先,导入需要的turtle海龟和math数学库

import turtle as tt
from math import *

 设置画笔参数

tt.speed(0)
tt.pensize(4)
tt.pencolor("red")
tt.pu()

计算爱心桃下一个点的坐标公式:

x=a[15(sin t)^{3}]

y=a(15 cos t-5cos2t-2cos3t-cos4t)

在代码中添加函数

def args(a,t):
    x=a*(15*(sin(t)**3))
    y=a*(15*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t))
    return x,y

循环

while t<=360:
    tt.goto(args(a,t))
    tt.pd()
    t+=1

最后让turtle窗口保持显示

tt.done()

最终代码

import turtle as tt
from math import *

def args(a,t):
    x=a*(15*(sin(t)**3))
    y=a*(15*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t))
    return x,y

tt.speed(0)
tt.pensize(4)
tt.pencolor("red")
tt.pu()
a,t=8,0
while t<=360:
    tt.goto(args(a,t))
    tt.pd()
    t+=1
tt.done()

二、雪花

导入所需要的模块

import turtle as t
import random

定义函数

def snow(leng):
    if leng>2:
        t.pd()
        for i in range(6):
            snow(leng/3)
            t.forward(leng)
            t.left(60)
            t.forward(leng)
            t.right(120)
            t.pencolor(random.choice(["red","green","purple","blue","yellow"]))
        t.pu()

设置画笔参数

t.delay(0)
t.speed(0)
t.tracer(20)
t.pensize(4)
t.pencolor("blue")

执行画雪花的函数

snow(100)

让屏幕保持显示

t.done()

最终代码

import turtle as t
import random

def snow(leng):
    if leng>2:
        t.pd()
        for i in range(6):
            snow(leng/3)
            t.forward(leng)
            t.left(60)
            t.forward(leng)
            t.right(120)
            t.pencolor(random.choice(["red","green","purple","blue","yellow"]))
        t.pu()

t.delay(0)
t.speed(0)
t.tracer(20)
t.pensize(4)
t.pencolor("blue")
snow(100)
t.done()

三、太阳花

 导入需要的模块

import turtle as t

设置画笔属性

t.speed(0)
t.pencolor("red")
t.fillcolor("yellow")
t.pensize(2)

设置变量

n=40
degree=360/n
leng=300

绘制太阳花

t.begin_fill()
for i in range(n):
    t.forward(leng)
    t.left(180-degree)
t.end_fill()

窗口保持显示

t.done()

最终代码

import turtle as t

t.speed(0)
t.pencolor("red")
t.fillcolor("yellow")
t.pensize(2)

n=40
degree=360/n
leng=300

t.begin_fill()
for i in range(n):
    t.forward(leng)
    t.left(180-degree)
t.end_fill()

t.done()

注:n表示太阳花角的数量的多和少(需要被360整除),leng表示太阳花的直径,这两个变量的值可以自己修改

当n=60

 

当n=20

 


四、有规律的图形

1

效果:

代码 :

import turtle as t

n=30 # 个数
degree=360/n
leng=100 # 边长

t.speed(0) # 速度
t.pencolor("blue") # 颜色

for i in range(n):
    for j in range(4):
        t.forward(leng)
        t.right(90)
    t.right(degree)

t.done()

 2

效果:

代码:

import turtle as t
import random

de=10 # 每根树枝的倾斜角度

def tree(x,y,degree,length,n):
    if n<=5:
        t.pencolor("green")
    else:
        t.pencolor("brown")
    t.pu()
    t.goto(x,y)
    t.setheading(degree)
    t.pd()
    t.forward(length)
    if n==1:
        return
    else:
        pos=t.pos()
        tree(pos[0],pos[1],degree+de+random.randint(-5,5),length+random.randint(-5,5),n-1 if random.randint(1,100)<=90 else n)
        tree(pos[0],pos[1],degree-de+random.randint(-5,5),length+random.randint(-5,5),n-1 if random.randint(1,100)<=90 else n)

t.speed(0)
t.delay(0)
t.tracer(400)
tree(0,-300,90,30,10)
t.done()

 


制作不易,喜欢的话点赞关注哦!

Python实现一些小道具小功能(Python implements some small props) Image-Edit 几个基本的图片编辑工具,包括一下功能: 文件:打开,保存,退出 编辑:放大,缩小,灰度,亮度,旋转,截图 变换:傅里叶变换,离散余弦变换,Radon变换 噪声:高斯,椒盐,斑点,泊松 滤波:高通,低通,平滑,锐化 直方图统计:R直方图,G直方图,B直方图 图像增强:伪彩色,真彩色,直方图均衡,NTSC颜色模型,YCbCr颜色模型,HSV颜色模型 阈值分割 生态学处理 特征提取 图像分类与识别 Beautify-Camera 主要功能 文件:打开,保存,打开摄像头 操作:还原,人脸识别 滤镜:怀旧,木刻,灰色,彩色,风格化,增强细节 调节:亮度,饱和度,伽马变换,边缘保持 磨皮美白:美白度,磨皮程度,磨皮精度 灰度直方图 Calculator 主要功能 基本的加减乘除和开根号等运算 Painting绘画 主要功能 File:新建画板,打开图片,保存图片 Edit:复制,清空画板 Image:翻转 工具:基本画笔,橡皮擦,图形创建工具等 编辑区,色彩调节区,字体调节区等 NotePad 主要功能 基本文本编辑,类似于记事本 RandomPassWord 主要功能 随机生成一串密码,包括大小写字母,数字,符号,可指定长度 Browser 主要功能 基本浏览器功能 MusicPlayer 主要功能 音乐播放器 PyTunes 主要功能 轻量级音乐播放器
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值