千家信息网

怎么用Python Turtle画棵樱花树送给自己

发表于:2024-11-16 作者:千家信息网编辑
千家信息网最后更新 2024年11月16日,小编给大家分享一下怎么用Python Turtle画棵樱花树送给自己,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一. 绘
千家信息网最后更新 2024年11月16日怎么用Python Turtle画棵樱花树送给自己

小编给大家分享一下怎么用Python Turtle画棵樱花树送给自己,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

一. 绘制步骤

1. 环境安装

可以参考之前的博客:

Python爬虫实现抓取电影网站信息并入库

2. 图片美化

之前没怎么用过 Python,就对别人的代码进行分析和效果优化好啦,顺便学习一下。

这个是原来的效果图,有点灰蒙蒙的,微微改动,让它明媚一点。

修改之后的代码:

from turtle import *from random import *from math import *def tree(n,l):    pd()#下笔    #阴影效果    t = cos(radians(heading()+45))/8+0.25    pencolor(t,t,t)    pensize(n/3)    forward(l)#画树枝    if n>0:        b = random()*15+10 #右分支偏转角度        c = random()*15+10 #左分支偏转角度        d = l*(random()*0.25+0.7) #下一个分支的长度        #右转一定角度,画右分支        right(b)        tree(n-1,d)        #左转一定角度,画左分支        left(b+c)        tree(n-1,d)        #转回来        right(c)    else:        #画叶子        right(90)        n=cos(radians(heading()-45))/4+0.5        ran=random()        #这里相比于原来随机添加了填充的圆圈,让樱花叶子看起来更多一点        if(ran>0.7):            begin_fill()            circle(3)            fillcolor('pink')        #把原来随机生成的叶子换成了统一的粉色        pencolor("pink")        circle(3)        if(ran>0.7):            end_fill()        left(90)        #添加0.3倍的飘落叶子        if(random()>0.7):            pu()            #飘落            t = heading()            an = -40 +random()*40            setheading(an)            dis = int(800*random()*0.5 + 400*random()*0.3 + 200*random()*0.2)            forward(dis)            setheading(t)            #画叶子            pd()            right(90)            n = cos(radians(heading()-45))/4+0.5            pencolor(n*0.5+0.5,0.4+n*0.4,0.4+n*0.4)            circle(2)            left(90)            pu()            #返回            t=heading()            setheading(an)            backward(dis)            setheading(t)    pu()    backward(l)#退回    bgcolor(0.956,0.9255,0.9882)#设置背景色(把灰色换成淡紫色)ht()#隐藏turtlespeed(0)#速度 1-10渐进,0 最快tracer(0,0)pu()#抬笔backward(50)left(90)#左转90度pu()#抬笔backward(300)#后退300tree(12,100)#递归7层done()

之后的效果温暖一点,喜欢这种更有温度的色调:

二. 技术学习

1. turtle 简介

樱花树的绘制效果是通过 Python 中的 turtle 来实现的,Python 的强大之处在于有许多很强大的库,turtle就是其中之一,是 Python 自带的一个库。

2. turtle 绘图的基础知识

turtle库绘制原理:有一只海龟在窗体正中心,在画布上游走,走过的轨迹形成了绘制的图形,海龟由程序控制,可以自由改变颜色、方向宽度等。

(1) . turtle 绘图窗体

setup用来设置窗体大小,后两个参数为非必选参数;

turtle.setup(width,height,startx,starty)

(2) . turtle 的坐标体系

画布上,默认有一个坐标原点为画布中心的坐标轴,坐标原点上有一只面朝x轴正方向的小乌龟。

这里我们描述小乌龟时使用了两个词语:坐标原点(位置),面朝x轴正方向(方向), turtle 绘图中,就是使用位置方向描述小乌龟(画笔)的状态的。

(3) . turtle 画笔属性

(4) . turtle 绘图命令

运动命令

控制命令

全局控制命令

以上是"怎么用Python Turtle画棵樱花树送给自己"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0