turtle库实例——雪景艺术绘图
turtle图形艺术效果中隐含着很多随即元素,如随机颜色,尺寸,位置和数量等。因此在图形艺术绘制中需要引入随机函数库random。常用randint()函数生成指定范围内的随机数。
本实例选择“雪景”作为编程目标。
“雪景”图形艺术背景为黑色,分为上下两个区域,上方是漫天彩色雪花,下方是由远及近的灰色横线渐变。该图运用了随机元素,如雪花的位置·颜色·大小·花瓣数目·地面灰色线条长度·线条位置等,需要使用turtle库和random库。
绘制分为三个步骤
- 构建图的背景。定义上方雪花绘制函数drawSnow()和下方雪地绘制函数drawGround()
- 绘制雪花效果。 为体现艺术效果,drawSnow()函数首先隐藏turtle画笔,设置画笔大小,绘制速度,然后使用for循环绘制100朵雪花。为使雪花颜色随机,使用random()函数生成画笔颜色rgb值。这里采用turtle库默认0~1浮点数RGB取值。在指定区域随机选择坐标绘制雪花。
- 绘制雪地效果。drawGround()函数使用for循环绘制地面400道小横线,笔画大小,位置坐标,线段长度均通过randint()函数作为随机数产生。为使小横线的灰度呈现由远及近的效果,rgb值应根据坐标y进行变化。
“雪景”绘制在python窗体中,图形艺术程序往往动画时间较长,可以在主程序调用Tracer(False)函数关闭动画效果,达到一次性绘制所有效果。
from turtle import *
from random import *
def drawSnow():hideturtle()pensize(2)for i in range(100):r,g,b=random(),random(),random()pencolor(r,g,b)penup()setx(randint(-350,350))sety(randint(1,270))pendown()dens=randint(8,12)snowsize=randint(10,14)for j in range(dens):forward(snowsize)backward(snowsize)right(360/dens)def drawGround():hideturtle()for i in range(400):pensize(randint(5,10))x=randint(-400,350)y=randint(-280,-1)r,g,b=-y/280,-y/280,-y/280pencolor((r,g,b))penup()goto(x,y)pendown()forward(randint(40,100))
setup(800,600,200,200)
tracer(False)
bgcolor("black")
drawSnow()
drawGround()
done()
turtle库实例——雪景艺术绘图相关推荐
- Python+实例解析雪景艺术绘图
本文章介绍python实例解析--雪景艺术绘图 turtle图形艺术,又称turtle艺术(turtle Art)指利用turtle库画笔创造性绘制徇丽多彩艺术图形的过程 turtle图形艺术效果中隐 ...
- python turtle 绘图小猪佩奇,Python使用turtle库绘制小猪佩奇(实例代码)
这篇文章主要介绍了Python使用turtle库绘制小猪佩奇,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 turtle(海龟)是Python重要的标准库之一,它 ...
- python turtle循环图案-Python绘图Turtle库详解
Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行 ...
- python turtle库setpos_Python内置海龟(turtle)库绘图命令详解(二)
继续谈利用海龟库(turtle库)做图.在这篇文章(Python内置海龟(turtle)库绘图命令详解(一))中已经介绍了turtle的一些基本画图命令,包括画布的设计.画笔属性与状态的设置以及画笔的 ...
- python樱花代码_使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例
今天为大家介绍几个Python"装逼"实例代码,python绘制樱花.玫瑰.圣诞树代码实例,主要使用了turtle库 Python绘制樱花代码实例 动态生成樱花 效果图(这个是动态 ...
- python里自带的绘画库是_Python绘图Turtle库详解
Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行 ...
- 用python画圣诞树-使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例
今天为大家介绍几个Python"装逼"实例代码,python绘制樱花.玫瑰.圣诞树代码实例,主要使用了turtle库 Python绘制樱花代码实例 动态生成樱花 效果图(这个是动态 ...
- Python绘图:turtle库基础语法介绍
目录 一.turtle库的导入 二.绘图命令介绍 1. 画布属性设置 2. 画笔属性设置 3. 移动画笔和转角绘图 4. 图形绘制与图形填充 三.turtle绘图实例:绘制太阳花 Python ...
- python从入门到入魔第八天——turtle库使用(含玫瑰花绘制实例)
turtle库的作用 python 提供画图工具标准库:turtle库包绘图坐标体系.画笔控制函数和形状绘制函数,用来绘制想要的图画,turtle库的调用方式参考Python从入门到入魔第五天--ji ...
最新文章
- CSDN湘苗培优,遇见更好的自己
- PTA 基础编程题目集 7-7 12-24小时制 C语言
- nodejs 截断字符串_node.js – nodejs:字符串操作
- Android 10.0 系统服务之ActivityMnagerService-AMS启动流程-[Android取经之路]
- vs2015 x86 opencv3.3(编译)
- MapReduce with MongoDB and Python[ZT]
- 链式栈的初始化,判空,进栈,出栈,求长,求顶,打印,清空和销毁
- python本地镜像源搭建_【Python】pip配置国内镜像源,让Python模块安装飞起来。
- c++函数模板和类模板
- Java中的ThreadPoolExecutor类
- 无心剑随感《译诗但求达意传神》
- ORA-01552 :非系统表空间 'xxxx'不能使用系统回退段
- 隐马尔可夫模型,最大熵马尔可夫模型和条件随机场的区别与联系
- 九度OJ-1112-导弹拦截-最长不增子序列
- a标签传值乱码问题怎么解?
- android分享数据到不同平台组件化
- [ExtJS5学习笔记]第22 Extjs5正在使用beforeLabelTpl添加所需的配置选项标注星号标记...
- 软件工程之软件维护与再工程
- **冠图DWG图纸加密个人版**
- Unity WebGL基于js通信实现网页录音