python 艺术作品_Python的艺术玩法——“孔雀开屏”篇

本文展示了如何使用Python的turtle模块创建一个孔雀开屏的艺术效果。通过定义孔雀的各环颜色和半径,结合三角函数计算角度,实现了不同形态的孔雀图案。文章提供了多个示例代码,包括完整的运行函数,可以调整半径比例和角度,展示出不同的视觉效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文用Python实现一个“孔雀开屏”的效果,Python也可以这么玩。下面是源码,注释里面的是不同画面的执行代码。

from turtle import *

from random import *

from math import *

myColor=['green', 'yellow','red','purple', 'blue','green', 'orange', 'blue']  #孔雀每环颜色

myR=[180,130,90,60,40,30,20,10]  # 孔雀每环半径

myRb=[60, 50,40,30,25,20,15,10]

def init():  #初始化

screensize(500,500)

speed(0)

penup()

def drawcircle(c,r): # 画圆圈

fillcolor(c)

begin_fill()

circle(r)

end_fill()

def peacock(): # 画孔雀

pendown()

for i in range(8):

drawcircle(myColor[i],myR[i])

penup()

def controlR(x):#调整半径比例

for i in range(len(myR)):

myR[i]=myR[i]*x

def run(n,bigR):  #最终运行函数,bigR为组合的大图形半径

#注意:right()left()函数按角度计算,三角函数按照弧度计算

angle=2*pi/n

right(90+360/n)

for i in range(n):

x=cos(angle*i)*bigR

y=sin(angle*i)*bigR

goto(x,y)

left(360/n)

peacock()

def run2(n,bigR):  #与run()区别:这里是半圆

angle=pi/n

right(90+180/n)

for i in range(n):

x=cos(angle*i)*bigR

y=sin(angle*i)*bigR

goto(x,y)

left(180/n)

peacock()

def run2(n,bigR,scale):  #最终运行函数,bigR为组合的大图形半径,scale代表弧度与2pi的比例

#注意:right()left()函数按角度计算,三角函数按照弧度计算

angle=2*pi/n*scale

right(90+360/n*scale)

for i in range(n):

x=cos(angle*i)*bigR

y=sin(angle*i)*bigR

goto(x,y)

left(360/n*scale)

peacock()

'''

#执行效果1

init()

goto(0,-160)

peacock()

controlR(0.4)

run(10,200)

#执行效果2

init()

write('PEACOCK',True, align="center",font=('Arial',30,'normal'))

controlR(0.5)

run(8,160)

#执行效果3

init()

controlR(0.1)

run(10,50)

init()

controlR(4)

left(150)

run(10,150)

goto(0,-350)

write('PEACOCK',True, align="center",font=('Arial',30,'normal'))

'''

#执行效果4

init()

goto(0,-200)

peacock()

controlR(0.4)

run2(10,200,0.55)

goto(0,-320)

write('PEACOCK',True, align="center",font=('Arial',30,'normal'))

效果一

效果1

代码如下:

#执行效果1

init()

goto(0,-160)

peacock()

controlR(0.4)

run(10,200)

效果二

效果2.jpg

代码如下:

#执行效果2

init()

write('PEACOCK',True, align="center",font=('Arial',30,'normal'))

controlR(0.5)

run(8,160)

效果三

效果3

代码如下:

#执行效果3

init()

controlR(0.1)

run(10,50)

init()

controlR(4)

left(150)

run(10,150)

goto(0,-350)

write('PEACOCK',True, align="center",font=('Arial',30,'normal'))

效果四

效果4

代码如下:

#执行效果4

init()

goto(0,-200)

peacock()

controlR(0.4)

run2(10,200,0.55)

goto(0,-320)

write('PEACOCK',True, align="center",font=('Arial',30,'normal'))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值