【Python】turtle绘图(1)——简易图形

树木

【Python】turtle绘图(1)——简易图形_第1张图片

如上所示,这样一幅图,可以清晰地看出整个图形由两个规则图形组成,即矩形和等腰三角形。

使用turtle进行绘制的时候,可按如下顺序进行:

【Python】turtle绘图(1)——简易图形_第2张图片

代码如下:

  1. 首先导入库包

import turtle as t 
import math as m 
  1. 进行基础设置

t.setup(600,600) # 窗口大小及位置的设置
t.hideturtle() # 隐藏代表乌龟的箭头图标
t.speed(0) # 绘图速度设置为最快
  1. 绘制代表树叶的等腰三角形

t.penup() # 抬笔
t.goto(-50,-100) # 让乌龟移动到坐标为(-50,-100)的位置
t.setheading(0) # 设置乌龟的朝向
t.pendown() # 落笔
t.begin_fill() # 开始填充。想要对图形进行填充,就必须在这个图形刚开始画前写上此函数
t.fillcolor('dark green') # 设置填充颜色
t.pencolor('dark green') # 设置笔迹的颜色,即图形边线的颜色
t.forward(100) # 前进
t.setheading(105) # 改变朝向
t.forward(50 / m.sin(15 / 180 * m.pi)) # 前进
t.setheading(255) # 改变朝向
t.forward(50 / m.sin(15 / 180 * m.pi)) # 前进
t.end_fill() # 结束填充。开始填充和结束填充成对出现

此处需要使用到math库的sin函数,需要注意的是它的参数是弧度制的,不是角度制。

  1. 绘制代表树干的矩形

t.penup()
t.goto(-20,-100)
t.pendown()
t.setheading(0)
t.pencolor('brown')
t.begin_fill()
t.fillcolor('brown')
for i in range(2):
    t.forward(40)
    t.right(90)
    t.forward(60)
    t.right(90)
t.end_fill()

这边主要用到一个循环结构,for语句,矩形的绘制可以按一长一宽的顺序分为两部分,也就是循环两次。


整体代码:

import turtle as t 
import math as m 

t.setup(600,600)
t.hideturtle()
t.speed(0)


t.penup()
t.goto(-50,-100)
t.setheading(0)
t.pendown()
t.begin_fill()
t.fillcolor('dark green')
t.pencolor('dark green')
t.forward(100)
t.setheading(105)
t.forward(50 / m.sin(15 / 180 * m.pi))
t.setheading(255)
t.forward(50 / m.sin(15 / 180 * m.pi))
t.end_fill()


t.penup()
t.goto(-20,-100)
t.pendown()
t.setheading(0)
t.pencolor('brown')
t.begin_fill()
t.fillcolor('brown')
for i in range(2):
    t.forward(40)
    t.right(90)
    t.forward(60)
    t.right(90)
t.end_fill()

t.done()

山峦

【Python】turtle绘图(1)——简易图形_第3张图片

这个图案比上面的图更为简单一些,只需绘制两个交叠的等边三角形即可,整体代码如下:

import turtle as t 


t.setup(600,600)
t.hideturtle()
t.speed(0)


t.penup()
t.goto(-100,0)
t.pendown()
t.setheading(0)
t.pencolor('dark green')
t.begin_fill()
t.fillcolor('dark green')
for i in range(3):
    t.forward(100)
    t.left(120)
t.end_fill()


t.penup()
t.goto(-30,0)
t.pendown()
t.setheading(0)
t.pencolor('dark green')
t.begin_fill()
t.fillcolor('dark green')
for i in range(3):
    t.forward(80)
    t.left(120)
t.end_fill()


t.done()

由于是正三角形,十分规则,每条边的长度和每个角的角度都是相等的,又可利用循环结构来简化绘制。


标识

【Python】turtle绘图(1)——简易图形_第4张图片

这张图用到一个不同的图形——圆,可以使用circle()函数来实现;另一个需要注意的就是,这是圆与矩形的重叠,且两者的颜色不一样,这就需要我们思考一下绘制的顺序。

只有先绘制出填充为红色的圆,而后再绘制白色填充的矩形,方能达到此效果;若是先绘制矩形,再绘制圆,则圆在矩形的上层,将矩形覆盖住,便只能看见填充为红色的圆。

整体代码:

import turtle as t 


t.setup(600,600)
t.hideturtle()
t.speed(0)


t.penup()
t.goto(0,-100)
t.pendown()
t.setheading(0)
t.pencolor('red')
t.begin_fill()
t.fillcolor('red')
t.circle(100)
t.end_fill()


t.penup()
t.goto(-80,-10)
t.pendown()
t.pencolor('white')
t.setheading(0)
t.begin_fill()
t.fillcolor('white')
for i in range(2):
    t.forward(160)
    t.left(90)
    t.forward(20)
    t.left(90)
t.end_fill()

t.done()

你可能感兴趣的:(Python_turlte,python,课程设计)