编程语言应用

首页 » 常识 » 常识 » 少儿编程Python系列之七拼图里的几何
TUhjnbcbe - 2025/7/12 18:03:00
中科白癜风医院怎么样 http://www.csjkc.com/yydt/m/515.html

《乌鸦喝水》是我们小学课本里学到的一则寓言故事。它告诉我们:遇到困难要善于思考、勤懂脑,再困难的事情也会迎刃而解。

同时,这个故事也让我们认识到,乌鸦也是极聪明的一类动物,虽然它的脑容量不到人脑的1%,但具有完全自主的智能,能感知、认知、推理、学习和执行。

分享这样一则科学小故事:

一只乌鸦找到坚果,但却砸不开。它发现把坚果放在马路上让车轧过去可弄开坚果,但飞驰的车辆很危险;它又发现靠近红绿灯的路口,车子和人有时会停下来。于是,它把坚果抛在斑马线上,等车子行人通过后的间歇去吃被砸开的坚果。

本篇就带领读者一起,通过几何图形学习如何绘制一只聪明的乌鸦。

01图形分析

首先导入海龟库,创建画笔、停止动画等操作是每个作品必须牢记的内容。本文创建的画笔名称为p。基础代码轮廓如下:

importturtlep=turtle.Pen()......turtle.done()

等腰三角形构成一个长又尖的嘴巴,两个90°的扇形上下反向摆放组成脖子,一个矩形加一个半圆构成身体的主体部分,上下两个弯弯的月牙形状的翅膀不断让其更具灵动性,再加上身后三根弯弯的短线条的尾巴。最后在右下角绘上本作品的主题:CROW(乌鸦),一只聪明的乌鸦就勾勒完成。

等腰三角形1个——嘴巴

90°扇形2个——脖子

矩形1个——身体部分

半圆1个——身体部分

月牙2个——翅膀

短线条3个——尾巴

02重难点分析

扇形的绘制在前面小鱼的绘制案例中有重点讲解。请参考如下链接:

少儿编程Python系列之三:拼图里的几何图形——“一条小鱼”

乌鸦的翅膀是通过两个圆形错位重叠的遮挡构造而成。如下图:先定位到指定位置坐标(40,0),绘制一个直径为的红点;在向左移动一小段位置,即定位(5,0)坐标,绘制一个直径为的蓝点,并遮挡了红点的大半部分。剩余的红色区域即为月牙效果,修改蓝点为白色,与背景颜色吻合,则整个月牙效果凸显。

乌鸦的尾巴,设置画笔变粗,通过画弧线的方式来完成,即:调用circle(半径,弧度),设置参数即可。

其他部分为规则形状,绘制时控制好定位,确定角度即可。为了更好的布局定位,建议从身体矩形开始绘制,依次是脖子、嘴、尾巴、翅膀等部分。

03图形绘制(完整代码)

参考代码如下:

1、矩形——身体前半部分

p.penup()p.goto(-30,60)p.pendown()p.pencolor("#00CACA")p.fillcolor("#00CACA")p.begin_fill()foriinrange(4):ifi%2==0:p.forward(60)else:p.forward()p.right(90)p.end_fill()

上述代码中,注意循环嵌套结构中的代码缩进。

2、扇形——脖子

p.penup()p.goto(-40,60)p.pendown()p.pencolor("green")p.fillcolor("green")p.begin_fill()p.setheading()p.forward(60)p.left(90)p.circle(60,90)p.left(90)p.forward(60)p.end_fill()p.pencolor("#00CACA")p.fillcolor("#00CACA")p.penup()p.goto(-,70)p.pendown()p.begin_fill()p.setheading(90)p.forward(60)p.right(90)p.circle(-60,90)p.right(90)p.forward(60)p.end_fill()

3、等腰三角形——嘴

p.penup()p.goto(-,70)p.pendown()p.pencolor("yellow")p.fillcolor("yellow")p.begin_fill()p.seth(90)p.forward(60)p.left()p.forward()p.left()p.forward()p.end_fill()

4、半圆——身体后半部分

p.penup()p.goto(40,60)p.pendown()p.pencolor("#ff")p.fillcolor("#ff")p.begin_fill()p.seth(0)p.circle(-60,)#向右旋转p.seth(90)p.forward()p.end_fill()

5、短弧线——尾巴

p.penup()p.goto(,30)p.pendown()p.pensize(15)p.pencolor("green")p.seth(5)p.circle(50,80)p.penup()p.goto(,0)p.pendown()p.pencolor("yellow")p.seth(0)p.circle(50,80)p.penup()p.goto(,-30)p.pendown()p.pencolor("blue")p.seth(-30)p.circle(50,80)

6、月牙——翅膀

#绘制翅膀(上面)p.penup()p.goto(40,)p.pendown()p.pencolor("red")p.fillcolor("red")p.pensize(2)p.dot()p.goto(5,)p.pencolor("white")p.dot()#绘制翅膀(下面)p.penup()p.goto(50,-)p.pendown()p.pencolor("yellow")p.dot()p.goto(90,-)p.pencolor("white")p.dot()

7、文字标注

#写文字p.penup()p.goto(,-)p.pendown()p.pencolor("green")p.write("CROW",font=("Arial",20))p.hideturtle()

至此,完整图形绘制完毕。

04总结

本案例的重点是学习月牙的绘制技巧,当然还有其他方式同样也可以实现。

提供的参考代码并非优化代码,读者可以尝试用函数封装代码,或从其他的实现角度改写代码。只有将所学知识转化为应用实践案例,学习才会更有意义。#少儿编程#一起来试试吧。

1
查看完整版本: 少儿编程Python系列之七拼图里的几何