少儿编程教育最近受到越来越多的关注,编程未来将成为一个人的必备技能之一。turtle(海龟)绘图很适合用来引导少儿学习编程,通过简单的命令,可以轻松地绘制出精美的形状和图案。本系列教程基于python turtle库、数学知识,围绕一个主题,画出有意思的图案,激发少儿学习编程的兴趣、培养逻辑思维能力和创新能力,提高孩子解决问题的独立能力。
本文会包含如下内容:
- 如何画单个花瓣或叶子
- 如何画一朵花
本篇文章适合人群:python爱好者、少儿编程爱好者
1. 如何画单个花瓣画单个花瓣,是一个简单的过程,需要2个步骤:1、画一个圆弧 2、反向画另一条圆弧
第一步: 绘制第一条弧线。显然,我们画的不是一个完整的圆,可以使用范围值来决定要绘制多少弧度。通常,60到120之间的数字会创造一个漂亮的花瓣。角度越大,花瓣就越宽。在这个例子中,我们用70度。下面是第一个弧的代码片段:
turtle.up()
turtle.goto(0,0)
turtle.down()
turtle.circle(100,80)
第二步: 画第二条弧线。需要在与第一个圆弧相反的方向画第二个圆弧,这样它就可以回到原来的位置。因为海龟的方向随着第一个弧度的改变而改变,你只需要转180度减去第一个弧度。因为我们在上面的例子中使用了70度,所以我们将左转110度(180-70度)。下面是绘制第二段弧线的代码片段:
turtle.left(100)
turtle.circle(100,80)
画一个黄色的花瓣的代码如下:
import turtle
turtle.up()
turtle.goto(0,0)
turtle.down()
turtle.fillcolor('yellow')
turtle.begin_fill()
turtle.circle(100,80)
turtle.left(100)
turtle.circle(100,80)
turtle.end_fill()
turtle.done()
效果如下:
2. 如何画一朵花一朵花一般由多个花瓣组成,通常是4-6个。花瓣都是由花心发出的,在画完第一个花瓣后,将画笔行进的方向旋转360度除以花瓣的个数,依次画出所有花瓣。
效果如下图:
源代码如下:
import turtle
from turtle import *
def draw_flower(x, y, radius, extent, n, color):
'''
:param x: 花的起点横坐标
:param y: 花的起点纵坐标
:param radius: 半径
:param extent: 弧度
:param n: 花瓣的个数
:param color: 填充的颜色
:return:
'''
degree = 360 / n
turtle.up()
turtle.goto(x, y)
turtle.down()
turtle.fillcolor(color)
turtle.begin_fill()
for i in range(n):
turtle.setheading(i * degree)
turtle.circle(radius, extent)
turtle.left(180 - extent)
turtle.circle(radius, extent)
turtle.end_fill()
if __name__ == "__main__":
turtle.Screen().setup(width=800, height=600, startx=0, starty=0)
hideturtle()
up()
goto(-260, 270)
write("头条cloudcoder出品", align='left', font=('fangsong', 14, 'normal'))
showturtle()
speed(20)
bgcolor("white")
pensize(1)
pencolor("")
draw_flower(-200, 150, 100, 80, 4, 'red')
draw_flower(-200, -150, 100, 90, 5, 'purple')
draw_flower(200, 150, 110, 95, 6, 'pink')
draw_flower(200, -150, 110, 100, 4, 'yellow')
turtle.done()