温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

怎么用Python绘制一个可爱的米老鼠

发布时间:2022-03-17 09:03:39 阅读:567 作者:iii 栏目:开发技术
Python开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

本篇内容介绍了“怎么用Python绘制一个可爱的米老鼠”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

一、效果展示

二、代码详解

python绘制米老鼠的原理是:应用turtle库首先绘制头的外轮廓,然后绘制耳朵、手、衣服、裤子、脚、鞋子等不同模块。

1.导入库

首先导入本文需要加载的库,如果你有些库还没有安装,导致运行代码时报错,可以在Anaconda Prompt中用pip方法安装。

import os
import pygame
import turtle as t

本文应用到的库较少,只应用了os、pygame和turtle三个库。os库可以设置文件读取的位置。pygame库是为了绘制过程更有趣,在绘图过程中添加了背景音乐。turtle库是绘图库,相当于给你一支画笔,你可以在画布上用数学逻辑控制的代码完成绘图。

2.播放音乐

接着应用pygame库播放背景音乐,本文的音乐是关于《余生请多指教》的歌曲。

#播放音乐
print('播放音乐')
pygame.mixer.init()
pygame.mixer.music.load(r"F:\公众号\49.余生请多指教\杨紫,肖战 - 余生请多指教 (Live).mp3") 
pygame.mixer.music.set_volume(0.5) 
pygame.mixer.music.play(110)

这一部分的代码和整体代码是剥离的,可以选泽在最开始放上该代码,也可以直接删除。如果选择播放音乐,需要在代码music.load函数中把你想放音乐的地址填进去。 

3.画米老鼠头部外轮廓

然后进入米老鼠的正式绘制过程,先画的是头部外轮廓。

t.title('阿黎逸阳的代码公众号')
t.speed(10)
#t.screensize(1000800)
t.setup(startx=0, starty = 0, width=800, height = 600)
##画外轮廓
#画头
print('画头')
t.penup()
t.goto(20100)
t.begin_fill()
t.left(90)
t.pendown()
t.color('black')
t.pensize(2)
t.circle(60190)
t.left(150)
t.circle(-20110)
t.left(170)
t.circle(-35100)
t.circle(-15100)
t.left(140)
t.circle(-15100)
t.circle(-3595)
t.left(160)
t.circle(-2072)
t.end_fill()
t.left(20)
t.circle(-1080)
t.begin_fill()
t.circle(-6055)
t.left(60)
t.forward(20)
t.left(130)
t.forward(130)
t.left(120)
t.circle(-6030)
t.left(95)
t.forward(65)
t.end_fill()
t.penup()
t.goto(-10089)
t.pendown()
t.left(30)
t.circle(2060)
t.right(15)
t.circle(6030)
t.begin_fill()
#下巴
print('画下巴')
#t.right(30)
t.circle(6020)
t.right(30)
t.circle(33110)

关键代码详解:

t.pensize(width):设置画笔的尺寸。

t.color(color):设置画笔的颜色。

t.penup():抬起画笔,一般用于另起一个地方绘图使用。

t.goto(x,y):画笔去到某个位置,参数为(x,y),对应去到的横坐标和纵坐标。

t.pendown():放下画笔,一般和penup组合使用。

t.left(degree):画笔向左转多少度,括号里表示度数。

t.right(degree):画笔向右转多少度,括号里表示度数。

t.circle(radius,extent,steps):radius指半径,若为正,半径在小乌龟左侧radius远的地方,若为负,半径在小乌龟右侧radius远的地方;extent指弧度;steps指阶数。

画外轮廓的关键是:通过调节circle函数中的半径和弧度来调节曲线的弧度,从而使得米老鼠的轮廓比较流畅。

4.画衣服和耳朵

画完头部外轮廓后就可以分模块画其它组成部分了,本小节画衣服和耳朵。

#上半身
t.backward(5)
t.right(150)
t.forward(18)
#t.left(10)
t.circle(-10025)
#衣服下弧线
print('画衣服下弧线')
t.right(50)
t.circle(-7563)
t.left(60)
t.circle(10030)
t.right(80)
t.circle(-3070)
t.circle(-2055)
t.forward(70)
t.end_fill()
t.penup()
t.goto(-100, -10)
t.pendown()
t.pensize(1.2)
t.left(175)
#t.pencolor('red')
t.pencolor('white')
t.circle(-3030)
#胳肢窝处的线
#1
t.penup()
t.goto(-81, -3)
t.pendown()
t.pensize(1.3)
t.setheading(30)
#t.pencolor('red')
t.pencolor('white')
t.forward(13)
#2
t.penup()
t.goto(-81, -3)
t.pendown()
t.pensize(1.3)
t.setheading(-18)
#t.pencolor('red')
t.pencolor('white')
t.circle(2032)
##画耳朵
#画右耳朵
print('画右耳朵')
t.penup()
t.goto(8140)
t.pendown()
t.begin_fill()
t.setheading(-10)
t.color('black')
t.circle(30160)
t.circle(6020)
t.circle(30160)
t.end_fill()
#画左耳朵
print('画左耳朵')
t.penup()
t.goto(-90130)
t.pendown()
t.begin_fill()
t.setheading(40)
t.color('black')
t.circle(30160)
t.circle(6020)
t.circle(30160)
t.circle(6020)
t.end_fill()

5.画眼睛、鼻子、嘴

本小节介绍画眼睛、鼻子、嘴的代码,为了看起来效果更好,需要注意的是眼睛的对称。

#画眼睛
print('画眼睛')
#眼睛下方的线
t.penup()
t.goto(-48105)
t.pendown()
t.pensize(1.5)
t.right(17)
t.circle(-4042)
#左眼睛
t.penup()
t.goto(-42106)
t.pendown()
t.left(160)
t.circle(-3050)
t.circle(-7180)
t.left(30)
t.circle(-3044)
#左眼珠
t.penup()
t.goto(-42106)
t.pendown()
t.begin_fill()
t.right(140)
t.circle(3020)
t.circle(-4180)
#t.left(25)
t.circle(-1551)
t.end_fill()
#右眼睛
t.penup()
t.goto(-29107)
t.pendown()
t.right(160)
t.circle(-5028)
t.circle(-7180)
t.left(17)
t.circle(-3046)
#右眼珠
t.penup()
t.goto(-29107)
t.pendown()
t.begin_fill()
t.right(140)
t.circle(3020)
t.circle(-4180)
#t.left(25)
t.circle(-1551)
t.end_fill()
#画鼻子
print('画鼻子')
t.penup()
t.goto(-42102)
t.pendown()
t.begin_fill()
t.setheading(15)
t.circle(-4022)
t.circle(-7180)
t.circle(4020)
t.right(43)
t.circle(-7180)
t.end_fill()
#画嘴
print('画嘴')
#上弧线
t.penup()
t.goto(-8085)
t.pendown()
t.pensize(1.7)
t.setheading(-45)
t.circle(6090)
#嘴
t.begin_fill()
t.penup()
t.goto(-6773)
t.pendown()
t.setheading(-70)
t.circle(6030)
t.circle(20100)
t.right(10)
t.circle(6025)
t.setheading(210)
t.circle(-6055)
t.end_fill()
#画舌头
print('画舌头')
t.penup()
t.goto(-6057)
t.pendown()
t.begin_fill()
t.setheading(40)
t.color('black','pink')
t.circle(-1890)
t.setheading(61)
t.circle(-1690)
t.setheading(-122)
t.circle(-6020)
t.setheading(200)
t.circle(-5020)
t.setheading(150)
t.circle(-6020)
t.end_fill()
#画笑脸弧度
#左弧度
t.penup()
t.goto(-8677)
t.pendown()
t.pensize(1.7)
t.setheading(70)
t.circle(-1860)
#右弧度
t.penup()
t.goto(-586)
t.pendown()
t.pensize(1.7)
#t.setheading(10)
t.circle(-1860)
print('画下巴')
#画下巴
t.penup()
t.goto(-5840)
t.pendown()
t.setheading(140)
t.circle(-6010)
#右嘎吱窝 
t.penup()
t.goto(-240)
t.pendown()
t.pencolor('white')
t.pensize(1.2)
t.setheading(-90)
t.forward(11)

“怎么用Python绘制一个可爱的米老鼠”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×