教案:平面直角坐标系与Turtle绘图

教案基本信息

课程名称:Python编程第十课 平面直角坐标系与Turtle绘图
授课对象:有一定Python基础的学生(已掌握变量、输入输出、基本运算)
课时安排:45分钟
教学形式:理论讲解 + 实践操作

一、 教学目标

知识与技能:

  1. 数学知识: 巩固平面直角坐标系的概念,理解点的坐标表示(x, y)。
  2. 编程知识:掌握导入Turtle绘图模块的方法。学会设置画布大小和坐标系。掌握海龟的基本移动命令(前进、后退、转向、抬笔、落笔)。能够指挥海龟移动到指定坐标点并画点。

过程与方法:

  1. 通过可视化的绘图操作,将抽象的数学坐标转化为具体的图形位置,建立数形结合的思想。
  2. 经历“构思-编码-调试-观察”的完整绘图过程。

情感态度与价值观:

  1. 感受编程绘图的趣味性和创造性,激发学习热情。
  2. 培养空间想象能力和严谨的坐标思维。

二、 教学重点与难点

教学重点: Turtle模块的基本移动命令;使用goto()方法移动到指定坐标。

教学难点: 理解Turtle坐标系与数学坐标系的对应关系;协调使用抬笔、落笔控制绘图。

三、 教学准备

教师: 安装Python环境的电脑、投影设备、教学课件。

学生: 电脑已安装Python环境(标准库已包含Turtle模块)。

四、 教学过程

(一) 情景导入:从数学坐标到编程绘图(5分钟)

教师活动:

  1. 在黑板上画出平面直角坐标系,标出点A(100, 50)和点B(-50, -80)。
  2. 提问:“在数学课上,我们可以轻松地在坐标系中标出这些点。如果我想让计算机在屏幕上自动画出这些点,该怎么办?”
  3. 展示用Turtle绘图的效果图(一个窗口,海龟移动到指定位置画点)。
  4. 引出主题:“Python有一个强大的‘小海龟’绘图工具,它就像一个机器人画家,今天我们就学习如何指挥它,在坐标系中精确绘图。”

设计意图:创设任务情境,将抽象的数学问题转化为有趣的编程任务,激发求知欲。

(二) 新知探究:认识Turtle绘图(20分钟)

1. 导入模块与创建海龟

教师讲解:使用Turtle库的第一步是把它“请”到我们的程序里。

代码示例:

python

# 导入turtle模块,并给它起个简单的别名‘t’

import turtle as t

# 创建一个海龟对象,我们给它取名叫‘pen’(画笔)

pen = t.Turtle()

# 可选:隐藏海龟的箭头形状,让它只留下画笔的痕迹

pen.hideturtle()

2. 设置画布(Canvas

教师讲解:画布就是海龟绘画的舞台。我们可以设置它的大小和标题。

代码示例:

python

# 设置画布大小(宽, 高)和背景颜色

t.setup(width=800, height=600)  # 创建一个800×600像素的窗口

t.bgcolor(“lightblue”)          # 设置背景色为浅蓝色

t.title(“我的直角坐标系”)       # 设置窗口标题

介绍Turtle默认坐标系:

屏幕中心是原点(0, 0)。

向右是x轴正方向。

向上是y轴正方向。

与数学上的平面直角坐标系完全一致

3. 海龟的基本移动命令

教师讲解:指挥海龟运动的基本命令。

命令列表(板书):

命令功能示例
forward(d) 或 fd(d)向前移动d像素pen.fd(100)
backward(d) 或 bk(d)向后移动d像素pen.bk(100)
right(angle) 或 rt(angle)向右转angle度pen.rt(90)
left(angle) 或 lt(angle)向左转angle度pen.lt(90)
goto(x, y)移动到绝对坐标(x, y)pen.goto(100, 50)
penup() 或 pu()抬笔(移动时不画线)pen.penup()
pendown() 或 pd()落笔(移动时画线)pen.pendown()
dot(size, color)在当前位置画一个点pen.dot(10, “red”)

示例:绘制一条折线

python

pen.pendown()    # 落笔,开始画线

pen.fd(100)      # 画一条100像素的横线

pen.lt(90)       # 左转90

pen.fd(50)       # 画一条50像素的竖线

(三) 核心任务:移动到指定坐标并画点(10分钟)

任务:在坐标系中画出点A(100, 50)和点B(-50, -80)。

教师引导分析步骤:

  1. 抬笔,移动到A点。
  2. 落笔,在A点画一个红色的点。
  3. 抬笔,移动到B点。
  4. 落笔,在B点画一个蓝色的点。

代码实现:

python

import turtle as t

pen = t.Turtle()

pen.hideturtle()

pen.speed(10)  # 设置海龟移动速度(1-1010最快)

# 画点A(100, 50)

pen.penup()                 # 抬笔,移动时不画线

pen.goto(100, 50)           # 移动到坐标(100, 50)

pen.pendown()               # 落笔,准备画图

pen.dot(10, “red”)          # 画一个大小为10像素的红色圆点

pen.write(“A(100,50)”, font=(“Arial”, 12, “normal”))  # 在点旁边写上标签

# 画点B(-50, -80)

pen.penup()

pen.goto(-50, -80)

pen.pendown()

pen.dot(10, “blue”)

pen.write(“B(-50,-80)”, font=(“Arial”, 12, “normal”))

# 保持窗口打开,直到用户关闭它

t.done()

关键技巧强调:

penup()和pendown()的配合使用,是实现“移动到某处再画图”的关键。

goto(x, y)是精确定位的核心命令。

t.done()让图形窗口保持打开状态。

(四) 综合应用:绘制坐标系和点(10分钟)

任务:绘制一个更完整的坐标系,并标出几个点。

代码示例(绘制简单的坐标轴):

python

# … (前面代码同上,导入和初始化海龟)

# 绘制x

pen.penup()

pen.goto(-300, 0)  # 移动到画布左侧

pen.pendown()

pen.goto(300, 0)   # 画一条水平线作为x

pen.write(“x”, font=(“Arial”, 14, “normal”))

# 绘制y

pen.penup()

pen.goto(0, -200)  # 移动到画布底部

pen.pendown()

pen.goto(0, 200)   # 画一条垂直线作为y

pen.write(“y”, font=(“Arial”, 14, “normal”))

# 画原点

pen.penup()

pen.goto(0, 0)

pen.pendown()

pen.dot(8, “black”)

pen.write(“O(0,0)”, font=(“Arial”, 10, “normal”))

# 现在再画点A和点B…

# … (接上面的画点代码)

t.done()

(五) 课堂练习与巩固(10分钟)

练习1:绘制三角形

任务:已知三角形的三个顶点坐标为A(-100, 0), B(0, 150), C(100, 0)。编写程序,指挥海龟依次走到这三个点,并连接成一个三角形。

提示:使用goto()命令依次移动到各点,并使用pendown()保持画笔落下。

练习2:绘制函数图像上的点

任务:在坐标系中画出函数y = x² 在x从-5到5之间,整数x对应的点。例如(-5,25), (-4,16), … (5,25)。

提示:可以使用for循环遍历x的值,计算y=x*x,然后用goto(x, y)和dot()画点。

(六) 课堂小结与作业(5分钟)

小结:

  1. Turtle坐标系:与数学坐标系一致,中心为原点(0,0)。
  2. 核心命令

import turtle:导入模块。

goto(x, y):精确定位。

penup()/pendown():控制是否画线。

dot():画点。

t.done():保持窗口。

3.绘图流程:抬笔→移动→落笔→绘图。

作业:

  1. 基础题: 绘制一个边长为100的正方形,中心位于坐标原点(0,0)。
  2. 挑战题: 绘制一个由点组成的圆形。提示:利用圆的参数方程(x = r * cos(θ), y = r * sin(θ)),用循环改变角度θ,计算每个点的坐标并绘制。

五、 板书设计

主标题:Turtle绘图与平面直角坐标系

Turtle坐标系:

原点(0,0):屏幕中心

X轴:向右为正

Y轴:向上为正

核心命令清单:

goto(x, y)

penup() / pendown()

dot(size, color)

forward(d), right(angle)

绘图范式:

python

pen.penup()

pen.goto(x, y)

pen.pendown()

pen.dot(10, “red”)

您可能还喜欢...