实例:雪景艺术绘图

雪景艺术绘图

  turtle艺术绘制图形艺术,指利用turtle库画笔创造性绘制绚丽多彩艺术图形的过程

  turtle图形艺术效果中隐含着很多随机元素,如随机颜色、尺寸、位置和数量等。在图形艺术绘制中需要引入随机函数库random。常用randint()函数,生成指定范围内的随机数

   “雪景”图形艺术背景为黑色,分为上下两个区域,上方是漫天彩色雪花,下方是由远及近的灰色横线渐变。该图运用了随机元素如雪花位置、颜色、大小、花瓣数目、地面灰色线条长度、线条位置等,需要使用turtle库和random库

  绘制分为三个步骤:

    1.构建图的背景

    2.绘制雪花效果

    3.绘制雪地效果

第一步:构建图的背景

  设定窗体大小为800x600像素,窗体颜色为black。然后,定义上方雪花绘制函数drawSnow()和下方雪地绘制函数drawGround()

第二步:绘制雪花效果

  为体现艺术效果,drawSnow()函数首先隐藏turtle画笔、设置画笔大小、绘制速度,然后使用for循环绘制100朵雪花。雪花大小snowsize、雪花花瓣数dens都分别设定为一定数值范围随机数。最后通过for循环绘制出多彩雪花

第三步:绘制雪地效果

  drawGround()函数使用for循环绘制地面400个小横线,画笔大小pensize、位置坐标x/y、线段长度均通过randint()函数作为随机数产生

 1 #DrawGround.py
 2 from turtle import*
 3 from random import*
 4
 5 def drawSnow(): # 绘制雪花效果
 6     hideturtle()
 7     pensize(2)
 8     for i in range(100):
 9         r, g, b = random(), random(), random() # [0.0,1.0)
10         pencolor(r,g,b)
11         up()
12         setx(randint(-350,350)) # 移动x轴
13         sety(randint(1,270)) # 移动y轴
14         down()
15         dens = randint(8,12) # [8,12]
16         snowsize = randint(10,14)
17         for j in range(dens):
18             fd(snowsize)
19             bk(snowsize)
20             rt(360/dens)
21
22 def drawGround(): # 绘制雪地效果
23     hideturtle() # 隐藏turtle图标  相反地 showturtle
24     for i in range(400):
25         pensize(randint(5,10))
26         x = randint(-400,350)
27
28         y = randint(-280,-1)
29         r, g, b = -y/280, -y/280, -y/280 # 颜色模式colormodule  rgb小数  rgb整数0-255
30         pencolor(r,g,b)
31         up()
32         goto(x,y)
33         down()
34         fd(randint(40,100))
35 # 创建图的背景
36 setup(800,600,200,200)
37 tracer(False)
38 bgcolor("black") # 背景颜色
39 drawSnow()
40 drawGround()
41 done() # 结束绘制

更多学习

原文地址:https://www.cnblogs.com/ShuComputerProgram/p/python123.html

时间: 2024-08-29 18:56:32

实例:雪景艺术绘图的相关文章

iOS:quartz2D绘图(画一些简单的图形,如直线、三角形、圆、矩形、文字等)

前一篇几乎已经详细介绍了Quartz2D的所有知识,这一篇以及后面就不废话了,主要是用具体的实例来演示绘图效果. 这里我们先来绘制一些简单的图形(如直线.三角形.圆.矩形.文字.图像),它有两种方式可以绘制,一种是通过上下文绘制,另一种是通过路径绘制.下面对绘制三角形做了一个两种方式绘制的演示. 绘制基本的图形,需要在操作的视图类中重写- (void)drawRect:(CGRect)rect方法,并在在该方法中绘制图形.绘制图像既可以重写该方法绘制,也可以不用重写该方法,它有封装好的方法.这里

C# 产生验证码图片

 一.实例并初始化GDI+ 位图 Bitmap image = new Bitmap(int width,int height); 二.实例并初始化绘图画面对象 Graphics g = Graphics.FromImage(image); 1.  清空并已指定的颜色填充背景 g.Clear(Color.White); 2. 画图片的背景噪音线 Point Point_1 = new Point(random.Next(image.Width), random.Next(image.Heig

R语言的帮助使用和图形功能简单介绍

R语言帮助,在Windows桌面下,有很多种.最长使用的是在命令行下help() > help.start() 会在浏览器中,打开帮助的主页 假设要查询某个详细的函数,能够例如以下(比如,查询mean函数): > help("mean") R中demo(graphics)绘图实例 R的绘图功能十分强大,以下是demo(graphics)绘图实例.详细的绘图方法会在兴许的博文中介绍. 參考文献: http://cran.r-project.org/manuals.html

zabbix入门到精通之Zabbix对linux主机的监控

我们大概了解了怎么对台主机进行监控,主要步骤设计到添加主机,并且为主机添加监控项,这里主要为item,然后在item的基础上对item进行绘图并且通过screen的方式把不同的监控图像汇总到一张screen上.通过对quick章节我们认识到item监控项在zabbix中是非常重要的,而item的监控是通过key来定义的,key又分为系统预定义好的key和自定义的key组成,这一节,我们通过对zabbix预定义的内存key来了解一下key到底是怎么组成和怎么使用的. Key 参数 类型 单位 举例

OpenGl学习进程(8)第六课:点、边和图形(三)绘制图形

本节是OpenGL学习的第六个课时,下面介绍OpenGL图形的相关知识:     (1)多边形的概念: 多边形是由多条线段首尾相连而形成的闭合区域.OpenGL规定,一个多边形必须是一个“凸多边形”.通过点.直线和多边形,就可以组合成各种几何图形.一段弧可以看成是是很多短的直线段相连,这些直线段足够短,以至于其长度小于一个像素的宽度.通过位于不同平面的相连的小多边形,还可以组成一个“曲面”. 什么是凸边形: 凸边形:多边形内任意两点所确定的线段都在多边形内,由此也可以推导出,凸多边形不能是空心的

html5 之 canvas 相关知识(二)API-fillStyle

颜色.样式和阴影 fillStyle 设置或返回用于填充绘画的颜色.渐变或模式 定义和用法 context.fillStyle=color|gradient|pattern;//指示绘图填充色的CSS颜色值|用于填充绘图的渐变对象线性或放射性|用于填充绘图的 pattern 对象 实例一:矩形绘制,也是最简单的使用方法. context.fillStyle=color <canvas id="canvas" width=300 height=150></canvas&

吴裕雄 python 机器学习——人工神经网络感知机学习算法的应用

import numpy as np from matplotlib import pyplot as plt from sklearn import neighbors, datasets from matplotlib.colors import ListedColormap from sklearn.neural_network import MLPClassifier ## 加载数据集 np.random.seed(0) # 使用 scikit-learn 自带的 iris 数据集 ir

QT开发(十六)——QT绘图实例-钟表

QT开发(十六)--QT绘图实例-钟表 一.钟表实现原理 钟表的实现需要设置定时器,定时器每隔一秒发送timeout()信号到QWidget::update()槽函数,update()槽函数将会重绘一次窗口,重写重绘事件函数paintEvent(QPaintEvent *event),根据获取的当前系统时间的时钟.分钟.秒钟重绘钟表的时针.分针.秒针. QTimer *timer = new QTimer(this); timer->start(1000);//一秒钟 connect(timer

《JavaScript+DOM变成艺术》的摘要(三)---图片库实例

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>图片库</title> <meta name="description" content=&q