Hi!大家好! 在之前中秋节/国庆的时候,我们带来了一篇简短的教程: 我是如何用Python画出一个月饼的? 有小朋友后台留言表示: “月饼画出来了,怎么画其他形状呢?我不会” 别急,跟着我们的教程,带你了解如何使用turtle库,画出更多精彩图案!

基础图形 - 多边形

在绘制出多彩纷呈的图案之前,我们首先需要了解一些基本操作! 首先你需要:
  • Visual studio code
  • python 3.X (Python 3的版本都可)
  • 一只笔,一张纸,方便你自己进行创作和计算
在我们安装Python的同时,turtle库就已经自动安装好了,因此我们可以直接新建一个.py文件,然后开始绘图! 首先输入如下代码:
import turtlet = turtle.Pen()
import在英文中的意思是「导入」,这条命令可以告诉Python,我们将要使用哪个库,哪个“工具箱”,turtle库就像一个绘画的工具箱。 我们同样在画图前我们需要一只“笔”,对吗? 这里我们新建了一只名叫t的笔,我们可以对t发号施令,让它画出我们想看的图案。 如何绘制一个经典的正方形?我们可以使用如下代码:
for i in range(4):        t.forward(100)        t.right(90)
forward是让画笔前进,forward(100)表示了让画笔前进100的距离。 right()是让画笔t向右转向,right(90)则表示转向的角度为90度。 for i in range(4)表示,让接下来的代码重复了4次。 那我们来试试画一个三角形? 首先我们知道,三角形有3条边,转向的角度也不是90度,正三角形的内角是60度,那么大家可以猜猜我们要转向多少度呢? 转120度啦!至于为什么,大家可以用橡皮当作画笔t来试试哦! 那么画三角形的代码就是:
for i in range(3):    t.forward(100)    t.left(120)
很好! 如果我们要画一个七边形呢? enmmmm  首先七边形,我们要「画一条边」的代码重复七次。 然后,要计算转向的角度,七边形的内角是:(7 - 2)* 180 / 7 那么,转向的角度就是:180 - (7 - 2)* 180 / 7 = 51.42 你能画出来一个正七边形嘛?
for i in range(7):    t.forward(100)    t.right(51.42)
我们也可以使用变量来帮助我们方便的画图:
  • 使用变量n来表示要画的多边形的边数
  • 使用变量n代入公式自动计算出来要转向的角度
n = 12for i in range(n):        t.step(100)        t.right(180 - (n-2)*180/n)

基础图形 - 圆

绘制圆形的方法我们之前有提到,这里再来复习一下!
# t.circle(radius,extend)
这一行指令能够让我们的画笔t画出一个指定样子的圆形,或者弧形。 其中:
  • radius 我们要绘制的圆形或者弧形的半径
  • extend 我们要绘制的圆形或者弧形的对应的角度
我们来看几个例子!
t.circle(100,360)
画出了一个半径为100,角度为360度的整圆。
t.circle(100,180)
画出了一个半径100,角度为180度的弧形。 对于圆形,我们通过练习绘制一个太极图来进行学习~ 首先,我们画出一个黑色半圆~
t.begin_fill()t.circle(100,180)t.end_fill()
注意这里的代码多了一些东西,其中:
  • 在begin_fill() 到 end_fill() 之间的图形会填充我们指定的颜色
  • 我们画了一个半径为100的半圆
接下来,我们画出来小的黑色半圆,组成一个阴阳鱼中的一部分。
t.begin_fill()t.circle(50,180)t.end_fill()
然后是太极图的另外一半!
t.fillcolor('white')t.begin_fill()t.circle(-50,180)t.end_fill()t.circle(-100,180)
你看出来其中有什么不同了嘛?
  • t.fillcolor()可以让我们指定填充的颜色,默尔是黑色的
  • t.circle(-50,180) -50会让我们画圆的方向反过来
  • 最后一个t.circle()我们没有填充颜色是为了防止覆盖黑色的部分
接下来是画出来太极图的两个眼,我们需要使用到几个新的指令:
t.penup()
将画笔提起来,这样画笔移动就不会留下痕迹啦!
t.pendown()
将画笔放下来,这样画笔移动可以留下痕迹!
t.goto()
将画笔移动到指定位置! 画出两个小圆的方式如下:
t.penup()t.goto(0,135)t.pendown()t.fillcolor("white")t.begin_fill()t.circle(15)t.end_fill()t.penup()t.goto(0,35)t.pendown()t.fillcolor("black")t.begin_fill()t.circle(15)t.end_fill()
完成啦! 在下一期的教程中,我们将开始尝试绘制一些好看的螺旋图案,偷偷给你看一下哦!

更多推荐

Python代码画喜羊羊怎么画_Python教程小小turtle绘图教学(一)