使用python中的turtle库绘制常见图形(三角形、正方形、五边形、六边形、圆、同心圆、边切圆、奥运五环)

使用python中的turtle库绘制常见图形

前言

本文主要介绍一些python的turtle库中绘制常见图形的方法,如三角形、正方形、五边形、圆。还有奥运五环、同心圆、边切圆、蟒蛇等图形的画法。

若有不对的地方欢迎大家指正

一、三角形、正方形、五边形、六边形的绘制

由于以上图形都是正多边形,所以每个图形中的旋转角度都是相同的,则在代码中使用的for循环来实现正多边形的实现。

源代码:

import turtle
turtle.setup(1000,450,200,200)#画布的大小及位置
turtle.penup()#抬起画笔
turtle.fd(-400)#移动画笔,也可使用turtle.goto(x,y)让画笔移动到相应的坐标
turtle.seth(90)#改变画笔的朝向,让画笔方向从起始方向开始,逆时针旋转90度
turtle.fd(100)
turtle.seth(0)#让画笔方向变为起始方向
turtle.pendown()#落下画笔
turtle.pensize(10)#调正画笔的粗细

#三角形
turtle.color("purple")
for i in range (3):
    turtle.fd(100)
    turtle.seth(-120 * (i+1))

#正方形
turtle.penup()
turtle.fd(200)
turtle.pendown()
turtle.color("blue")
for i in range (4):
    turtle.fd(100)
    turtle.seth(-90 * (i+1))

#正五边形
turtle.penup()
turtle.fd(200)
turtle.pendown()
turtle.color("red")
for i in range (5):
    turtle.fd(100)
    turtle.seth(-72 * (i+1))

#正六边形
turtle.penup()
turtle.fd(250)
turtle.pendown()
turtle.color("green")
for i in range (6):
    turtle.fd(100)
    turtle.seth(-60 * (i+1))

turtle.done()

效果图:
正多边形效果图

二、圆、同心圆、边切圆、奥运五环的绘制

1.绘制圆的代码:

import turtle
turtle.circle(10)#绘制一个半径为10的圆

2.绘制边切圆的代码:

import turtle
turtle.color('red')
turtle.circle(10)
turtle.color('green')
turtle.circle(40)
turtle.color('blue')
turtle.circle(80)
turtle.color('black')
turtle.circle(160)
turtle.done()
'''
#可以使用for循环实现,使用列表存放颜色和半径
import turtle
color = ['red','green','blue','black']
r = [10,40,80,160]
for i in range(4):
    turtle.pencolor(color[i])
    turtle.circle(r[i])
turtle.done()
'''

边切圆效果图

3.绘制同心圆的代码:

import turtle

#以坐标为(0,10)为共同的圆心
turtle.color('red')
turtle.circle(10)

turtle.penup()
turtle.goto(0,-30)
turtle.down()
turtle.color('green')
turtle.circle(40)

turtle.penup()
turtle.goto(0,-70)
turtle.down()
turtle.color('blue')
turtle.circle(80)

turtle.penup()
turtle.goto(0,-170)
turtle.down()
turtle.color('black')
turtle.circle(180)

turtle.done()
'''
import turtle

    #这里使用了列表来存放圆的颜色和半径
    #这里使用turtle.goto(x,y)让画笔移动,从而达到实现同心圆的绘制
    #以坐标为(0,0)为共同的圆心

color = ['red','green','blue','black']#存放圆的颜色
r = [10,40,80,160]#存放圆的半径
for i in range(4):
    turtle.penup()
    turtle.goto(0, -r[i])
    turtle.pendown()
    turtle.pencolor(color[i])
    turtle.circle(r[i])

turtle.done()

'''

同心圆效果图

4.绘制奥运五环:

import turtle

turtle.penup()#抬起画笔
turtle.goto(-120,0) #使画笔放在适当的位置
turtle.width(5) #调整画笔的粗细
turtle.pendown()#落下画笔

#第一个环
turtle.color('blue')#画笔颜色
turtle.circle(50)#画半径为50的圆

#第二个环
turtle.color('black')
turtle.penup()
turtle.goto(0,0)
turtle.pendown()
turtle.circle(50)

#第三个环
turtle.color('red')
turtle.penup()
turtle.goto(120,0)
turtle.pendown()
turtle.circle(50)

#第四个环
turtle.color('yellow')
turtle.penup()
turtle.goto(-60,-60)
turtle.pendown()
turtle.circle(50)

#第五个环
turtle.color('green')
turtle.penup()
turtle.goto(60,-60)
turtle.pendown()
turtle.circle(50)

turtle.done()#固定画布,在绘制结束后不让画布关闭

奥运五环效果图
5.可以使用turtle.circle(a,b)绘制圆弧
a为圆弧的半径,b为圆弧的弧度
以下是使用circle(a,b)所绘制的
蟒蛇代码:

import turtle
turtle.setup(650,350,200,200)
turtle.penup()
turtle.fd(-250)
turtle.pendown()
turtle.pensize(25)#与turtle.width()相同
turtle.pencolor("purple")
turtle.seth(-40)
for i in range(4):
    turtle.circle(40,80)
    turtle.circle(-40,80)
turtle.circle(40,80/2)
turtle.fd(40)
turtle.circle(16,180)
turtle.fd(40*2/3)
turtle.done()

在这里插入图片描述