turtle画两种类型的爱心

Posted 算法与编程之美

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了turtle画两种类型的爱心相关的知识,希望对你有一定的参考价值。

引言

正确运用turtle库可以画出两种不同类型的爱心,其中“标准型爱心”主要使用函数定义法,通过定义一个函数并在画爱心的轮廓时调用即可成功;“可爱型爱心”主要由两个相同的半圆以及一些倾斜的直线组成,画好的重点是提前找好每条直线的倾斜角和长度。

方法

  1. 已经配置好的Pycharm软件

  2. 预备知识:

命令说明
turtle.penup()提起笔移动,不绘制图形,用于另起一个地方绘制
turtle.goto(x,y)将画笔移动到坐标为x,y的位置
turtle.speed(speed)设置画笔移动速度,画笔绘制的速度范围[0,10]整数,数字越大越快
turtle.seth(angle)只改变海龟的行进方向(角度按逆时针),但不行进,angle为绝对度数

实验结果与讨论

1.标准型爱心

from turtle import *
#定义函数为值love,目的是绘制爱心上方的曲线
def  love():
   for i in range(200):      #重复200次下面的代码
       right(1)          
       forward(1)         #画笔向前1像素
#为爱心设置样式
pensize(2)                 #调整画笔粗细为2像素
speed(10)                 #调节画笔速度10
color('black','red')           #画笔颜色及填充颜色
begin_fill()                #开始填充
left(140)
forward(111.65)
love()                     #调用函数
left(120)
love()
forward(111.65)            #调用函数
end_fill()                 #结束填充
hideturtle()               #隐藏画笔
done()                   #结束运行,常用于python编辑器,idea等中

2.可爱型爱心

import turtle
from turtle import *
#设置画笔的样式
turtle.pensize(3)
turtle.color("black","red")
turtle.speed(5)
#开始填充
begin_fill()
#绘制左爱心
turtle.left(90)
turtle.circle(50,180)
turtle.forward(30)
turtle.left(30)
turtle.forward(50)
turtle.goto(0,-120)
#绘制右爱心,与左爱心对称且大小完全相同
turtle.up()
turtle.goto(0,0)
turtle.down()
turtle.seth(90)
turtle.circle(-50,180)
turtle.forward(30)
turtle.right(30)
turtle.forward(50)
turtle.goto(0,-120)
#隐藏画笔
hideturtle()
#填充结束
end_fill()
done()

4 结语

针对如何运用turtle绘制爱心问题,提出解决办法,即调用函数和几何线条加半圆两种方法,通过在pycharm中运行,可以证明该方法是行之有效的,本文的方法运用的重复代码仍较多,未来将继续研究该问题,解决代码冗余问题。

实习编辑:王晓姣

稿件来源:深度学习与文旅应用实验室(DLETA)

以上是关于turtle画两种类型的爱心的主要内容,如果未能解决你的问题,请参考以下文章

使用python绘制爱心

python-函数和代码复用—七段数码管绘制和爱心

python 怎么画爱心?如何在Python里面画爱心啊?求解

如何用turtle画一个红色字母A

请问如何用Python turtle画一个多角星?

用Python的turtle模块画生日蛋糕