当前位置:   article > 正文

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

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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45

效果图:
正多边形效果图

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

1.绘制圆的代码:

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

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()
'''
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

边切圆效果图

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()

'''
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44

同心圆效果图

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()#固定画布,在绘制结束后不让画布关闭
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40

奥运五环效果图
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()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

在这里插入图片描述

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

闽ICP备14008679号