这里构造了一个旋转椭圆函数可以使得图案更加生动。

代码如下:

from turtle import *
from random import *
from math import *
speed(0)
pensize(2)
hideturtle()
#高级椭圆参数方程(颜色),sita为逆时针旋转角度
def ty_c(x,y,sita,a,b,p,q,c):fillcolor(c)si=2*pi/100penup()goto(x+a*cos(sita),y+a*sin(sita))pendown()t=0for i in range(201):if i*si+sita<p:penup()goto(x+a*cos(i*si)*cos(sita)-b*sin(i*si)*sin(sita)\,y+a*cos(i*si)*sin(sita)+b*sin(i*si)*cos(sita))pendown()elif p<=i*si+sita<=q :if t==0:begin_fill()t=1goto(x+a*cos(i*si)*cos(sita)-b*sin(i*si)*sin(sita)\,y+a*cos(i*si)*sin(sita)+b*sin(i*si)*cos(sita))end_fill()
#高级椭圆方程
def ty(x,y,sita,a,b,p,q):si=2*pi/100penup()goto(x+a*cos(sita),y+a*sin(sita))pendown()for i in range(201):if i*si+sita<p:penup()goto(x+a*cos(i*si)*cos(sita)-b*sin(i*si)*sin(sita)\,y+a*cos(i*si)*sin(sita)+b*sin(i*si)*cos(sita))pendown()elif p<=i*si+sita<=q:goto(x+a*cos(i*si)*cos(sita)-b*sin(i*si)*sin(sita)\,y+a*cos(i*si)*sin(sita)+b*sin(i*si)*cos(sita))
#身体
fillcolor('#ffcc00')
begin_fill()
penup()
goto(200,0)
pendown()
left(90)
forward(230)
ty(0,230,0,200,140,0,pi)
left(180)
forward(230)
pensize(3)
left(90-atan(0.5)*180/pi)
forward(sqrt(30**2+60**2))
left(atan(0.5)*180/pi)
forward(280)
left(atan(0.5)*180/pi)
forward(sqrt(30**2+60**2))
right(atan(0.5)*180/pi)
right(90)
penup()
goto(-200,8)
pendown()
pensize(2)
forward(148)
ty(-90,-140,0,110,130,pi,3*pi/2)
left(90)
forward(180)
ty(90,-140,0,110,130,3*pi/2,2*pi)
left(90)
forward(148)
left(180)
end_fill()fillcolor('#3366ff')
penup()
pensize(5)
ty_c(-90,-140,0,110,130,pi,3*pi/2,'#3366ff')
penup()
goto(90,-140)
pendown()
ty_c(90,-140,0,110,130,3*pi/2,2*pi,'#3366ff')penup()
goto(-140,-25)
fillcolor('#3366ff')
begin_fill()
left(3)
pendown()
forward(110)
right(93)
forward(65)
left(180)
penup()
goto(-90,-270)
pendown()
forward(180)
penup()
goto(200,-150)
pendown()
right(180)
forward(65)
right(93)
forward(125)
left(93)
forward(280)
end_fill()
left(90)penup()
goto(-200,-40)
pendown()
pensize(5)
fillcolor('#ffcc00')
begin_fill()
for i in range(10):if 3<=i<5:right(2)forward(12)elif i<3:right(1)forward(6)elif 5<=i<=6:left(1)forward(12)else:left(2)forward(4)
goto(-200,-140)
end_fill()penup()
goto(200,-40)
pendown()
pensize(5)
fillcolor('#ffcc00')
begin_fill()
for i in range(10):if 3<=i<5:left(2)forward(12)elif i<3:left(1)forward(6)elif 5<=i<=6:right(1)forward(12)else:right(2)forward(4)
goto(200,-145)
end_fill()#左背带
fillcolor('#0066cc')
penup()
goto(-200,6)
pendown()
pensize(5)
begin_fill()
for i in range(10):if 3<=i<5:right(1)forward(3)elif i<3:right(2)forward(1)elif 5<=i<=6:left(1)forward(3)else:left(2)forward(1)
goto(-200,-40)
pensize(3)
left(90-atan(0.5)*180/pi)
forward(100)
penup()
goto(-200,6)
end_fill()
begin_fill()
pendown()
forward(120)
right(90)
forward(42)
end_fill()
penup()
goto(-140,-50)
pendown()
fillcolor('#646464')
begin_fill()
ty(-125,-55,0,15,15,0,2.1*pi)
end_fill()
left(atan(0.5)*180/pi)
#右背带
fillcolor('#0066cc')
penup()
goto(200,6)
pendown()
pensize(5)
begin_fill()
for i in range(10):if 3<=i<5:left(1)forward(3)elif i<3:left(2)forward(1)elif 5<=i<=6:right(1)forward(3)else:right(2)forward(1)
goto(200,-40)
pensize(3)
right(90-atan(0.5)*180/pi)
forward(100)
penup()
goto(200,6)
end_fill()
begin_fill()
pendown()
forward(120)
left(90)
forward(42)
end_fill()
penup()
goto(140,-50)
pendown()
fillcolor('#646464')
begin_fill()
ty(125,-55,0,15,15,0,2.1*pi)
end_fill()
right(atan(0.5)*180/pi)
#肚兜
penup()
goto(0,-80)
pendown()
ty_c(-25,-80,0,35,100,pi+3*pi/100,3*pi/2,'#3399ff')
penup()
goto(25,-80)
pendown()
ty_c(25,-80,0,35,100,3*pi/2,2*pi,'#3399ff')
penup()
goto(-60,-85)
fillcolor('#3399ff')
begin_fill()
goto(-25,-180)
pendown()
left(90)
forward(50)
penup()
goto(60,-85)
pendown()
left(180)
forward(120)
end_fill()
left(90)ty_c(0,-130,0,40,35,0,2*pi-pi/50,'#000000')
penup()
fillcolor('#3399ff')
begin_fill()
goto(0,-95)
pendown()
goto(-40,-130)
goto(0,-165)
goto(40,-130)
goto(0,-95)
end_fill()
ty_c(0,-130,0,15,10,0,2*pi-pi/50,'#000000')
penup()
fillcolor('#3399ff')
pencolor('#3399ff')
begin_fill()
goto(0,-130)
pendown()
goto(40,-130)
goto(40,-128)
goto(0,-130)
end_fill()
pencolor('#000000')
#镜框左
penup()
goto(-200,180)
right(180)
pendown()
pensize(8)
fillcolor('#808080')
begin_fill()
for i in range(10):if 3<=i<5:left(1)forward(5)elif i<3:left(2)forward(3)elif 5<=i<=6:right(1)forward(5)else:right(2)forward(3)
goto(-200,220)
goto(-180,225)
goto(-180,185)
goto(-200,180)
penup()
goto(-200,200)
pendown()
goto(-180,205)
end_fill()
penup()
goto(-180,205)
pendown()
pencolor('#808080')
pensize(10)
goto(-180,230)
goto(-180,180)
#镜框右
pencolor('#000000')
penup()
goto(200,180)
pendown()
pensize(8)
fillcolor('#808080')
begin_fill()
for i in range(10):if 3<=i<5:right(1)forward(5)elif i<3:right(2)forward(3)elif 5<=i<=6:left(1)forward(5)else:left(2)forward(3)
goto(200,220)
goto(180,225)
goto(180,185)
goto(200,180)
penup()
goto(200,200)
pendown()
goto(180,205)
end_fill()
penup()
goto(180,205)
pendown()
pencolor('#808080')
pensize(10)
goto(180,230)
goto(180,180)
#眼镜
pencolor('#000000')
pensize(3)
penup()
fillcolor('#c0c0c0')
pensize(5)
goto(90,210)
pendown()
begin_fill()
ty(90,210,0,91,91,0,2*pi+pi/25)
end_fill()
penup()
goto(-90,210)
pendown()
begin_fill()
ty(-90,210,0,91,91,0,2*pi+pi/25)
end_fill()
pensize(3)
penup()
goto(-90,210)
pendown()
ty_c(-90,210,0,70,70,0,2*pi,'#ffcc00')penup()
goto(90,210)
pendown()
ty_c(90,210,0,70,70,0,2*pi,'#ffcc00')penup()
goto(-90,210)
pendown()
ty_c(-90,207,0,70,62,0,2*pi,'#ffffff')penup()
goto(90,210)
pendown()
ty_c(90,209,0,70,62,0,2*pi,'#ffffff')
#左眼睛
pensize(2)
a1=randint(-80,-70)
b1=randint(190,200)
c11=randint(1,5)
d=randint(8,12)
if c11==1:c12='#ff6600'
elif c11==2:c12='#33cccc'
elif c11==3:c12='#ffff99'
elif c11==4:c12='#99cc00'
else :c12='#ff99cc'
penup()
goto(a1,b1)
pendown()
ty_c(a1,b1,0,22,22,0,2*pi,c12)
penup()
goto(a1,b1)
pendown()
ty_c(a1,b1,0,10,10,0,2*pi,'#000000')
penup()
goto(a1-d,b1+d)
pendown()
ty_c(a1-d,b1+d,0,5,5,0,2*pi,'#ffffff')#右眼睛
a2=randint(70,80)
b2=randint(190,200)
c21=randint(1,5)
if c21==1:c22='#ff6600'
elif c21==2:c22='#33cccc'
elif c21==3:c22='#ffff99'
elif c21==4:c22='#99cc00'
else :c22='#ff99cc'
penup()
goto(a2,b2)
pendown()
ty_c(a2,b2,0,22,22,0,2*pi,c22)
penup()
goto(a2,b2)
pendown()
ty_c(a2,b2,0,10,10,0,2*pi,'#000000')
penup()
goto(a2-d,b2+d)
pendown()
ty_c(a2-d,b2+d,0,5,5,0,2*pi,'#ffffff')#嘴巴
e=randint(0,1)
if e==0:pensize(4)ty(0,120,0,130,80,3*pi/2-pi/5,3*pi/2+pi/5)
else:pensize(5)fillcolor('#ff8080')penup()goto(50,90)begin_fill()pendown()seth(180)circle(-150,3)circle(-400,5)circle(-800,5)circle(-200,5)seth(-90)circle(150,3)circle(360,2)circle(400,3)circle(250,4)circle(70,80)circle(100,5)circle(150,3)circle(50,20)circle(30,45)forward(25)circle(180,13)goto(50,90)end_fill()penup()goto(40,20)pensize(3)pendown()fillcolor('#993300')begin_fill()seth(120)circle(140,50)seth(-90)circle(70,80)circle(100,5)circle(150,3)goto(40,20)end_fill()#左手
seth(-90)
pensize(2)
penup()
goto(-200,-70)
fillcolor('#ffcc00')
begin_fill()
pendown()
right(60)
forward(120)
right(90)
forward(30)
goto(-200,-40)
end_fill()seth(-90)
penup()
goto(-200,-70)
pendown()
fillcolor('#808080')
right(60)
forward(117)
begin_fill()
left(90)
forward(8)
right(30)
circle(-200,2)
circle(-1,70)
forward(40)
circle(-250,1)
circle(-25,180)
forward(20)
left(20)
forward(10)
circle(10)
right(10)
forward(15)
right(90)
forward(40)
end_fill()#右手
seth(-90)
pensize(2)
penup()
goto(200,-70)
fillcolor('#ffcc00')
begin_fill()
pendown()
left(60)
forward(120)
left(90)
forward(30)
goto(200,-40)
end_fill()seth(-90)
penup()
goto(200,-70)
pendown()
fillcolor('#808080')
left(60)
forward(117)
begin_fill()
right(90)
forward(8)
left(30)
circle(200,2)
circle(1,70)
forward(40)
circle(250,1)
circle(25,180)
forward(20)
right(20)
forward(10)
circle(-10)
left(10)
forward(15)
left(90)
forward(40)
end_fill()
seth(-90)#左腿
penup()
goto(-90,-270)
pendown()
fillcolor('#3366ff')
begin_fill()
left(4)
forward(40)
seth(0)
forward(60)
goto(-28,-270)
end_fill()seth(-90)
penup()
goto(-30,-270)
pendown()
fillcolor('#333333')
begin_fill()
left(4)
forward(40)
right(120)
circle(80,10)
circle(50,15)
forward(50)
circle(24,190)
circle(40,5)
circle(-39,6)
forward(35)
circle(-150,10)
goto(-30,-310)
end_fill()#右腿
seth(-90)
penup()
goto(90,-270)
pendown()
fillcolor('#3366ff')
begin_fill()
right(3)
forward(40)
seth(180)
forward(60)
goto(28,-270)
end_fill()seth(-90)
penup()
goto(30,-270)
pendown()
fillcolor('#333333')
begin_fill()
right(3)
forward(40)
left(120)
circle(-80,10)
circle(-50,15)
forward(50)
circle(-24,190)
circle(-40,5)
circle(39,6)
forward(35)
circle(150,10)
goto(30,-310)
end_fill()
seth(90)#头发
pensize(2)
right(90)
penup()
goto(2,370)
pendown()
for i in range(10):if 3<=i<5:left(1)forward(15)elif i<3:left(4)forward(19)elif 5<=i<=6:right(15)forward(15)else:right(6)forward(20)
seth(0)penup()
goto(8,370)
pendown()
for i in range(10):if 3<=i<5:left(2)forward(8)elif i<3:left(3)forward(10)elif 5<=i<=6:right(15)forward(12)else:right(6)forward(16)
seth(0)penup()
goto(14,370)
pendown()
for i in range(10):if 3<=i<5:left(1)forward(10)elif i<3:left(5)forward(12)elif 5<=i<=6:right(15)forward(18)else:right(6)forward(20)
seth(0)penup()
goto(20,370)
pendown()
for i in range(10):if 3<=i<5:left(1)forward(11)elif i<3:left(3)forward(3)elif 5<=i<=6:right(15)forward(15)else:right(6)forward(14)
seth(0)penup()
goto(23,370)
pendown()
for i in range(10):if 3<=i<5:left(1)forward(15)elif i<3:left(3)forward(13)elif 5<=i<=6:right(15)forward(18)else:right(8)forward(16)
seth(0)seth(180)
penup()
goto(-2,370)
pendown()
for i in range(10):if 3<=i<5:right(1)forward(15)elif i<3:right(4)forward(15)elif 5<=i<=6:left(15)forward(15)else:left(6)forward(20)
seth(180)penup()
goto(-8,370)
pendown()
for i in range(10):if 3<=i<5:right(2)forward(8)elif i<3:right(3)forward(10)elif 5<=i<=6:left(15)forward(12)else:left(6)forward(14)
seth(180)penup()
goto(-14,370)
pendown()
for i in range(10):if 3<=i<5:right(1)forward(10)elif i<3:right(5)forward(8)elif 5<=i<=6:left(15)forward(18)else:left(6)forward(20)
seth(180)penup()
goto(-20,370)
pendown()
for i in range(10):if 3<=i<5:right(1)forward(13)elif i<3:right(3)forward(5)elif 5<=i<=6:left(15)forward(6)else:left(6)forward(16)
seth(180)penup()
goto(-23,370)
pendown()
for i in range(10):if 3<=i<5:right(1)forward(13)elif i<3:right(3)forward(15)elif 5<=i<=6:left(15)forward(8)else:left(8)forward(16)
seth(180)
done()

效果如下:

小黄人代码(Python)相关推荐

  1. 用python画小黄人代码-Python turtle模块小黄人程序

    import turtle t = turtle.Turtle() wn = turtle.Screen() turtle.colormode(255) t.hideturtle() t.speed( ...

  2. 用python画小黄人-学Python画画:应用Turtle库画一个蠢萌的小黄人

    学Python画画:应用Turtle库画一个蠢萌的小黄人 前言: 还记得小黄人哪只蠢萌蠢萌的单眼小黄人?就是喜欢做什么事都喜欢逞能的那只,下面用Python来实现一下,正在逃跑的小黄人.进群:7003 ...

  3. MATLAB绘制小黄人

    最近因为疫情的原因,在家比较无聊,顺便学习用matlab画画. 首先,在网上找了一张小黄人的简笔画. 然后,选好坐标原点,计算出要画的图形位置坐标. 最后,用代码绘制出图形,并填充上颜色. 下面是我自 ...

  4. Python小黄人绘制

    Python小黄人绘制 使用python turtle库绘制小黄人 ​ 附上各坐标点的坐标图 完整代码: import turtle as t # 初始化 t.setup(800,800) t.pen ...

  5. Python 画图之小黄人~

    前言: 今天小编就用Turtle画一个小黄人. 首先我们来介绍一下Turtle图形库 Turtle 库,又称海龟库,是 Python 语言中一个很流行的绘制图像的函数库. 大家可以想象一个小乌龟,在一 ...

  6. 音频算法之小黄人变声 附完整C代码

    前面提及到<大话音频变声原理 附简单示例代码>与<声音变调算法PitchShift(模拟汤姆猫) 附完整C++算法实现代码> 都稍微讲过变声的原理和具体实现. 大家都知道,算法 ...

  7. 【python绘图库turtle实战】使用python绘图库turtle绘制:太阳花、彩虹线与小黄人【含完整源码】

    本文使用python的turtle绘制3幅图代码示例: 1.绘制太阳花 import turtle as t import time t.color("red","yel ...

  8. 用python实现小黄人自动绘制

    用python实现小黄人自动绘制 学了python的画笔之后用python画笔实现了小黄人的绘制 就是分部位的绘制小黄人的身体,引用系统小海龟函数 下面展示一些 全部代码. import turtle ...

  9. Python库 turtlede的使用(绘制小黄人、樱花树、小猪佩奇、皮卡丘)

    最近在学习Python库turtle的用法,顺便也整理了几个用turtle库画的图形,具体如下. 一  turtle的基本操作 1. 引用 turtle库 2. 常用的基础函数 (1)绘制状态的函数 ...

最新文章

  1. Tomcat容器入门介绍
  2. VS中怎样对C#项目进行单元测试
  3. PHP学习笔记:php二手交易市场系统
  4. 如何打造一份优雅的简历?
  5. Spark对Kafka两种连接方式的对比——Receiver和Direct
  6. 分布式内存文件系统Alluxio
  7. Oracle11g安装完成后给用户解锁
  8. 计算机ip配置不正确怎么办,电脑ip地址不对该怎么办
  9. 不限流量的物联卡是否真存在
  10. 祝贺自己的博客又一个关键字排名上去了
  11. 【数据预测】基于matlab灰狼算法优化LSSVM数据预测【含Matlab源码 433期】
  12. 【是程序猿就干了这碗心灵鸡汤】我们这一代人的困惑
  13. 计算机网络之TCP报文
  14. 快速去除PDF打开密码和限制
  15. stm32f412新工程配置的记录
  16. 【视频检测】FlowNet: Learning Optical Flow with Convolutional Networks
  17. 计算机管理里面的“服务”怎么删除?
  18. Python爬取文章和小说内容
  19. ubuntu mysql-admin_ubuntu 14.04中安装phpadmin即mysql图形管理界面
  20. 《痞子衡嵌入式半月刊》 第 56 期

热门文章

  1. JAVA百万抢购活动实现简易时序图
  2. DDR4内存条电路设计
  3. 云计算时代 甲骨文行将势弱?
  4. 还在纠结选择用什么浏览器?手机端用国产浏览器也很香
  5. jason前端面试题
  6. Android App开发之位图加工Bitmap中转换位图的像素色彩、裁剪内部区域、利用矩阵变换位图的讲解及实战(附源码和演示)
  7. java 框架 直播_java如何实现秀场直播功能?基于即构SDK开发
  8. 【vnc远程桌面】未联网状态下使用离线包配置vnc
  9. 计算机工程学院文艺例会,计算机工程系团总支学生会召开第二次全体例会
  10. oracle查询当前日期月份,oracle查询截至到当前日期月份所在年份的所有月份