python画齿轮代码 pythonturtle画刀_python画齿轮代码


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)


python画齿轮代码 pythonturtle画刀_python turtle 绘图_02

forward是让画笔前进,forward(100)表示了让画笔前进100的距离。

right()是让画笔t向右转向,right(90)则表示转向的角度为90度。 for i in range(4)表示,让接下来的代码重复了4次。 那我们来试试画一个三角形? 首先我们知道,三角形有3条边,转向的角度也不是90度,正三角形的内角是60度,那么大家可以猜猜我们要转向多少度呢?

python画齿轮代码 pythonturtle画刀_python turtle 绘图_03

转120度啦!至于为什么,大家可以用橡皮当作画笔t来试试哦!

那么画三角形的代码就是:

for i in range(3):    t.forward(100)    t.left(120)


python画齿轮代码 pythonturtle画刀_python画齿轮代码_04

很好!

如果我们要画一个七边形呢? enmmmm  首先七边形,我们要「画一条边」的代码重复七次。 然后,要计算转向的角度,七边形的内角是:(7 - 2)* 180 / 7 那么,转向的角度就是:180 - (7 - 2)* 180 / 7 = 51.42 你能画出来一个正七边形嘛?

for i in range(7):    t.forward(100)    t.right(51.42)


python画齿轮代码 pythonturtle画刀_python turtle 绘图_05


我们也可以使用变量来帮助我们方便的画图:

  • 使用变量n来表示要画的多边形的边数
  • 使用变量n代入公式自动计算出来要转向的角度
n = 12for i in range(n):        t.step(100)        t.right(180 - (n-2)*180/n)


python画齿轮代码 pythonturtle画刀_python画圆形螺旋线_06

基础图形 - 圆


绘制圆形的方法我们之前有提到,这里再来复习一下!

# t.circle(radius,extend)

这一行指令能够让我们的画笔t画出一个指定样子的圆形,或者弧形。

其中:

  • radius 我们要绘制的圆形或者弧形的半径
  • extend 我们要绘制的圆形或者弧形的对应的角度

我们来看几个例子!


t.circle(100,360)

画出了一个半径为100,角度为360度的整圆。


python画齿轮代码 pythonturtle画刀_Python代码画喜羊羊怎么画_07

t.circle(100,180)

画出了一个半径100,角度为180度的弧形。


python画齿轮代码 pythonturtle画刀_python画圆形螺旋线_08

对于圆形,我们通过练习绘制一个太极图来进行学习~

首先,我们画出一个黑色半圆~

t.begin_fill()t.circle(100,180)t.end_fill()


python画齿轮代码 pythonturtle画刀_Python代码画喜羊羊怎么画_09

注意这里的代码多了一些东西,其中:


  • 在begin_fill() 到 end_fill() 之间的图形会填充我们指定的颜色
  • 我们画了一个半径为100的半圆

接下来,我们画出来小的黑色半圆,组成一个阴阳鱼中的一部分。


t.begin_fill()t.circle(50,180)t.end_fill()


python画齿轮代码 pythonturtle画刀_python画圆形螺旋线_10

然后是太极图的另外一半!


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画齿轮代码 pythonturtle画刀_Python代码画喜羊羊怎么画_11


完成啦! 在下一期的教程中,我们将开始尝试绘制一些好看的螺旋图案,偷偷给你看一下哦!

python画齿轮代码 pythonturtle画刀_Python代码画喜羊羊怎么画_12