当前位置:   article > 正文

python通过turtle库绘制心形_turtle画爱心

turtle画爱心

环境:python3.7 turtle
python3.7可自行去官网下载 传送
其次,我们要在电脑上安装turtle库:
打开终端,输入pip install turtle即可开始下载。
两者都下载完成后,打开IDLE新建一个python文件
在开始编写代码之前,先简单说几个turtle库中的函数

turtle.setup(width,height,startx,starty)   --创建一个可视化屏幕,width表示宽,height表示高,startx表示左边框距离屏幕左边距离,starty表示上边框距离屏幕上边距离
turtle.pendown()       --落笔,即画笔移动会有痕迹
turtle.penup()         --抬笔,即画笔移动不再有痕迹
turtle.pensize(数值)   -- ?的粗细
turtle.pencolor(颜色)  --?的颜色  
turtle.circle(x,y)     --该函数可绘制圆,有两个参数,x代表半径,y代表角度,默认画笔处左侧水平距离x处为原点,y可不写,默认360(整个圆)
turtlr.goto(x,y)       --画笔从当前位置到坐标为(x,y)处
turtle.left(angle)
turtle.right(angle)     --向左或者向右转角度,即调整画笔的方向 
坐标说明:可视化屏幕的左上角代表(原点0,0)
这里只是简单的说明一些用到的函数,具体学习请自行搜索。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

准备工作好了,下面开始写代码

import turtle    # 引用turtle库

turtle.setup(500,500)   #创建一个500X500的可视化窗口
turtle.pencolor('red')  #将画笔颜色设为红色
turtle.pensize(2)       #将画笔粗细设为2
turtle.penup()          
turtle.goto(0,50)       #这是为了让心形在屏幕的正中间,根据自己创建的窗口调整
turtle.pendown()       
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

此时,运行会显示如下,想要绘制圆的上半部分(半圆),需要调整画笔方向,使其朝上。
在这里插入图片描述

import turtle

turtle.setup(500,500,100,200)
turtle.pencolor('red')
turtle.pensize(2)
turtle.penup()
turtle.goto(0,50)
turtle.pendown()
turtle.left(90)
turtle.circle(100,180)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

如下调整画笔方向后,调用turtle.circle()函数,绘制的一个半圆。
在这里插入图片描述
为了让心型比较美观,这里下半部分由两部分组成,一个60°的曲线和一条直线

import turtle

turtle.setup(500,500,100,200)
turtle.pencolor('red')
turtle.pensize(2)
turtle.penup()
turtle.goto(0,50)
turtle.pendown()
turtle.left(90)
turtle.circle(100,180)
turtle.circle(200,60)
turtle.goto(0,-180)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

接下来,把画笔回到初始位置,然后反向绘制一次就可以出一个完整的心形了
提示:turtle.circle(x,y) 当x的值为负时,会反向绘制圆,角度还是由y控制,不加y默认360°
下面直接贴出全部代码

import turtle

turtle.setup(500,500,100,200)
turtle.pencolor('red')
turtle.pensize(2)
turtle.penup()
turtle.goto(0,50)
turtle.pendown()
turtle.left(90)
turtle.circle(100,180)
turtle.circle(200,60)
turtle.goto(0,-180)
turtle.penup()
turtle.goto(0,50)
turtle.left(120)
turtle.pendown()
turtle.circle(-100,180)
turtle.circle(-200,60)
turtle.goto(0,-180)
turtle.penup()
turtle.goto(-250,250)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

最终效果图?:
在这里插入图片描述
这个心有一点点胖是真的,最后在朋友的提示下,画出了一个比较好看的,有兴趣自行探索…
在这里插入图片描述
2020.10.23:闲来无事,把这个也实现了,直接贴出来代码。

import turtle as p    #引用turtle库并重命名为p
#下面的代码就不添加注释了,上面介绍的有用法,我会在下面贴一下写代码之前的画的草图。
p.setup(500,500)   
p.pencolor('red')
p.pensize(2)
p.penup()
p.goto(0,60)
p.begin_fill()
p.fillcolor('pink')
p.pendown()
p.left(135)
p.circle(42.3,180)
p.goto(0,-60)
p.left(90)
p.goto(60,0)
p.circle(42.3,180)
p.end_fill()
p.penup()
p.goto(250,250)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

在这里插入图片描述
数学是万能的!!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/447228
推荐阅读
相关标签
  

闽ICP备14008679号