学编程:Python入门考级必备[5]

海龟画图(5)  妙手丹青

一、初始化

二、坐标与角度

三、画圆与点与技巧

四、填充颜色与圆内内切多边形

炼 海龟画图


一、初始化

英文:turtle 中文:海龟
海龟能在一个画布上游走,游走的轨迹就形成了绘制的图形。
1.怎么在 Python 编程中找到海龟呢?
答:导入海龟画图工具: import turtle
2. 怎么用海龟这个工具?
初始化海龟,例如设置画布大小与位置、画笔颜色、粗细、抬笔还是落笔。

import turtle # 导入库 ( 必须导入库,后面才能用其他功能 )
# 画布大小与位置,每一行代码自己运行下
turtle.setup(600,400,0,0) # 600 ,宽 400 ,在左上角
turtle.setup(500,400)        # 长 500 ,宽 400 默认中间位置
width:设置窗口的宽度,默认为屏幕的 50%。
height:设置窗口的高度,默认为屏幕的 50%。
startx:窗口距离屏幕左边缘多少距离,负值表示距离右边缘,None 表示窗口水平居中。
starty:窗口距离屏幕上边缘多少距离,负值表示距离下边缘,None 表示窗口垂直居中。

turtle.setup(600,400)       画布的大小 长600,宽400

turtle.pensize(5)               画笔大小 5

turtle.pencolor("red")      画笔颜色 红色

turtle.pendown()              落笔

turtle.penup()                   抬笔

turtle.forward(200)           前进 200

turtle.backward(100)        后退 100

turtle.right(90)            右转 90

turtle.left(90)              左转 90

turtle.seth(90)           朝向正上方


1 :请编程实现让画笔,往前走 100 ,再左转 120 100 ,再左转 120 100 最终得到一个正三角形
要求: 1. 画布默认在中间 长 600 ,宽 400; 2. 画笔大小 6, 颜色蓝色;
import turtle   #导入库
# 画布大小与位置
#turtle.setup(600,400) # 长600,宽400,在左上角
#turtle.setup(500,400)# 长500,宽400 默认中间位置

#turtle.pensize(4)
#turtle.pencolor("blue")
# 1.画三角形
# turtle.seth(90) # 向上画
turtle.forward(100)
turtle.left(120)
turtle.forward(100)
turtle.left(120)
turtle.forward(100)
turtle.left(120)

二、坐标与角度

海龟画笔 默认 一开始的位置坐标是中间(0,0)位置,
头朝向正右方,角度 seth 为 0;
正上方角度 seth 为 90;正左方角度 seth 为 180;
正下方角度为 270 或-90。

对“练 1”题进行修改,从正上方开始画,该怎么画呢?


 用 turtle.goto 可以把画笔移到相应的坐标位置。

turtle.goto(100,0)#移动到(100,0)的位置,画一条 100 长度的直线。

请用两种方式画出一个正方形,如上图:。
要求:1. 画布长 800,宽 600,在(200,200)位置;2.画笔大小 4 颜色紫色;3. 从正下方开始画,边长 200。
# 2.画正方形
turtle.setup(800,600,200,200)
turtle.pensize(4)
turtle.pencolor("purple")
turtle.seth(270)

turtle.forward(200)
turtle.left(90)
turtle.forward(200)
turtle.left(90)
turtle.forward(200)
turtle.left(90)
turtle.forward(200)
turtle.left(90)

# 2.坐标画正方形

turtle.setup(800,600,200,200)
turtle.pensize(4)
turtle.pencolor( "purple" )
turtle.seth(270) #不影响
turtle.goto(200,0)
turtle.goto(200,-200)
turtle.goto(0,-200)
turtle.goto(0,0)

练 3:那如何把正方形画在画布中心位置?
答:
1.初始化完成后,使用抬笔 goto 移到正方形某顶点位置,例如 goto(-100,-100);
2.移好位置,落笔,用“练 2 ”的代码修改后即可。
请你来完成下这个大大的作品。
turtle.penup()
turtle.goto(-100,-100)
turtle.pendown()
#画边长200的正方形
turtle.forward(200)
turtle.left(90)
turtle.forward(200)
turtle.left(90)
turtle.forward(200)
turtle.left(90)
turtle.forward(200)

三、画圆与点与技巧

海龟画笔,我们可以调整它的 速度、隐藏还是显示、关闭停止、回到原点 等。
turtle.speed(1)       # 设置画笔移动速度为 1 ,速度最快为 0
turtle.hideturtle()   # 隐藏画笔
turtle.showturtle() # 显示画笔
turtle.home()      # 返回原点,回到默认方向,有痕迹
turtle.done()       # 停止画笔等待关闭
turtle.speed(2)       # 画笔速度 2
turtle.goto(200,0)
turtle.hideturtle()   # 隐藏画笔
turtle.goto(200,-200)
turtle.goto(0,-200)
turtle.showturtle() # 显示画笔
turtle.home()         #回到原点与默认方向
turtle.done()         #停止画笔等待关闭

turtle.circle( 半径 , 角度 )     画圆圈
turtle.color( 画笔 , 填充 )     设置画笔颜色,且填充颜色
turtle.dot( 直径 , 颜色 )         画点
turtle.circle(100) # 半径为正,圆心在画笔箭头方向的左边,顺时针绕圆心画。
turtle.circle(-50) # 半径为负,圆心在画笔箭头方向的右边,顺时针绕圆心画。

4 :请在原点画出上下左右四个圆 ( 填空 )
要求 : 1. 在原点位置,画笔粗细 5 ,每个圆要不同的颜色,半径为 80

import turtle

turtle.pensize(5)

turtle.               # 原点

turtle.                   # 默认黑色,画上圆

turtle.seth(   )          # 面向上方

turtle.pencolor(     )    # 红色

turtle.circle(80)         # 画左边圆

turtle.seth(180)          # 面向左方

turtle.color(     )       # 黄色

turtle.circle(80)         # 画下边圆

turtle.                   # 面向左方

turtle.                   #

turtle.                   # 画右边圆


练 5:画三个点,连接起来是一个正三角形的样子。
1. 边长 150,要把三角形的中点放在原点位置;
2. 每个点都是不同的颜色,直径为 25;最后隐藏画笔。
#练5:画三个点,连接起来是一个正三角形的样子。
turtle.fillcolor("blue")
turtle.begin_fill()
turtle.pensize(6)
turtle.forward(100)
turtle.dot(25,"green")
turtle.left(120)
turtle.forward(200)
turtle.dot(25,"orange")
turtle.left(120)
turtle.forward(200)
turtle.dot(25,"black")
turtle.left(120)
turtle.forward(100)
turtle.end_fill()
turtle.hideturtle()


四、填充颜色与圆内内切多边形

turtle.fillcolor("red") #设置填充颜色为红色
turtle.begin_fill() #开始填充
turtle.end_fill() #填充结束
turtle.circle(130,steps=6) # circle( 半径 , steps= 边数 )
先声明要填充的颜 色 turtle.fillcolor("red"), 从什么时候开始填充 。 turtle.begin_fill()到什么时候填充结束 turtle.end_fill()。如上图。
练 6:画一个直径 260 的圆圈,圆内切正六边形,且填充颜色为红色。
#练6:画一个直径260的圆圈,圆内切正六边形,且填充颜色为红色。
turtle.pensize(5)
turtle.fillcolor("red")
turtle.circle(130)
turtle.begin_fill()
turtle.circle(130,steps=6)
turtle.end_fill()
turtle.hideturtle()

炼 海龟画图

1.绘制如下图形,一个正方形,内有三个红点,中间红点在正方形中心。要求如下:

(1)正方形边长为 200,线条为黑色;
(2)圆点的直径均为 20 ,填充颜色为红色,画完后隐藏画笔;
(3)中间圆点的圆心位置为画布正中心,三个圆心之间距离相隔为 40。

 2.绘制如下图形:  

(1)画一个由一个正方形和一个菱形组成的图形,其中,正方形的边长为 200
象素,菱形的四个顶点均在正方形四条边的中点上;
(2)设置画笔速度为 1;
(3)菱形的填充颜色为红色,所有线条为黑色;
(4)画图结束,隐藏并停止画笔。
3.绘制如下图形,相关参数及要求如下:
(1)画笔起始位置不限,但是整个图形必须要能够在画布中呈现;
(2)大的正方形由四个小正方形组成;
(3)每个小正方形的边长均为 100 像素;
(4)左上角和右下角的正方形填充颜色均为黑色;
(5)所有的线条颜色均为黑色;
(6)绘制完成后,隐藏画笔。


 4.作图题: 请使用 turtle 画出如下标志。

要求:
(1)线条颜色为黑色,线条粗细为 10;
(2)圆半径为 50,填充颜色为蓝色;
(3)等边三角形边长为 180;
(4)等边三角形底边中点位置为画布正中心。

5.“天狗吃月亮”是一个古老的神话,以前古人不了解月食这一现象,所以说月
亮被狗吃了,天狗吃月亮是古人对“月食”这一天文现象的简称。月食是自然界
的一种现象,当太阳、地球、月球三者恰好或几乎在同一条直线上时(地球在太
阳和月球之间),太阳到月球的光线便会部分或完全地被地球遮挡,产生月食。
请你设计一段程序完成下列图片的月食现象。
要求
(1)海龟的初始位置的坐标为(0,0),月食现象的图片需在整个画布中完整 呈现;
(2)月食现象由两个圆或点组成,分别为半径不同的黄色和白色的圆或点;
(3)绘制半径为 150 的圆或点,并填充颜色为黄色,该图形的中心位置为画布的正中心位置(0,0);
(4)绘制半径为 75 的圆或点,并填充颜色为白色,该图形的中心位置坐标为 (150,0)。

 

 

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

唐樽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值