实例:雪景艺术绘图

雪景艺术绘图

  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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值