Skip to content

坐标的“位置密码”与直线图形绘制

课题

turtle库的“坐标魔法”——用代码画出直线与正方形

教学时间

2课时(90分钟)

课前准备

  • 教师端:电脑(Python 3.10+,预装turtle库)、投影仪、坐标网格黑板(1m×1m,标注x/y轴)、“坐标卡片”(写有(3,2)、(-1,4)等)、几何积木(正方形、长方形)、错误代码示例图(如忘记写括号、角度错误)。
  • 学生端:电脑(turtle环境)、坐标纸(每人2张)、彩色笔(标注图形边长)、笔记本(记录坐标规律)。
  • 教学素材:turtle基础代码模板、“图形闯关任务单”(分层练习)、“坐标小达人”奖励徽章。

一、导入活动:从“教室坐标”到“代码坐标”(15分钟)

活动1:“坐标寻宝”游戏——理解x/y轴的意义

  • 教师在教室地面贴坐标网格(以讲台为原点(0,0),右为x轴正方向,前为y轴正方向),在(2,1)、(-1,3)等位置放小贴纸。
  • 规则:学生抽取“坐标卡片”,根据坐标找到对应位置的贴纸,提问:“(3,0)在哪里?”引导发现“x轴控制左右,y轴控制前后”。
  • 类比:“电脑屏幕也有坐标,左上角是(0,0),向右x变大,向下y变大——这就是turtle画图的‘位置密码’”。

活动2:“积木拼正方形”——感知“边长与角度”的关系

  • 学生用几何积木拼正方形,观察:“拼4条边后,转了多少度?”(引导发现每转90°,4次正好转一圈360°)。
  • 播放短视频:turtle画图过程(直线→转向→直线),类比“积木拼接”:forward(50)=摆一根50长的边,right(90)=转90°。

二、知识点讲解:turtle基础与坐标绘图(30分钟)

模块1:认识turtle——代码世界的“小画家”(10分钟)

  • 核心概念:turtle是Python的“绘图库”,像一只带着画笔的小乌龟,用代码控制它移动、转向、抬笔/落笔。
  • 基础指令(结合演示):
    python
    import turtle  # 导入turtle库(召唤小乌龟)
    t = turtle.Turtle()  # 创建小乌龟t(可以取其他名字,如pen)
    t.forward(100)  # 向前走100步(画直线)
    t.right(90)  # 向右转90度
    t.forward(100)  # 再向前走100步
    turtle.done()  # 保持窗口不关闭
  • 坐标控制:用goto(x,y)直接跳转到指定坐标,如:
    python
    t.penup()  # 抬笔(不画线)
    t.goto(50, 50)  # 跳到(50,50)
    t.pendown()  # 落笔(开始画线)
    t.forward(50)  # 从(50,50)向前画50步

模块2:绘制正方形——循环与角度的配合(20分钟)

  • 分步画法(无循环,适合理解逻辑):
    python
    import turtle
    t = turtle.Turtle()
    t.forward(80)  # 第一条边
    t.right(90)
    t.forward(80)  # 第二条边
    t.right(90)
    t.forward(80)  # 第三条边
    t.right(90)
    t.forward(80)  # 第四条边
    turtle.done()
  • 优化:用for循环简化代码(引入循环逻辑):
    python
    import turtle
    t = turtle.Turtle()
    for _ in range(4):  # 重复4次(正方形4条边)
        t.forward(80)
        t.right(90)
    turtle.done()
  • 关键规律
    1. 正方形边长= forward()的参数(如80);
    2. 每次转向角度= 90°(right(90));
    3. 变量控制大小:把边长设为变量,方便修改(如size = 100,再用forward(size))。

三、练习题设计:分层任务+坐标挑战(25分钟)

基础任务(全员完成):“我的第一个正方形”

  • 要求:用循环绘制边长为60的正方形,用goto()让小乌龟从(0,0)开始画,完成后用color("red")设置画笔颜色。
  • 示例框架:
    python
    import turtle
    t = turtle.Turtle()
    t.color("red")  # 画笔颜色
    t.penup()
    t.goto(0, 0)  # 起点坐标
    t.pendown()
    size = 60  # 边长变量
    for _ in range(4):
        t.forward(size)
        t.right(90)
    turtle.done()

进阶任务(选做):“坐标跳房子”

  • goto(x,y)+forward()绘制2个不同位置的正方形(如一个在(0,0),一个在(100,50)),边长分别为50和80,用不同颜色区分。

教师支持:

  • 提供“错误排查表”:如“图形不闭合”→检查是否转了4次90°;“颜色没变化”→检查color()是否写在绘图前。

四、讲解与互评:从“图形”到“逻辑”(15分钟)

  1. 问题诊断:投屏典型错误代码(如right(80)导致图形歪斜),让学生找出问题:“为什么这个正方形‘塌了’?”(角度不够90°)。
  2. 创意展示:选2份不同颜色/位置的作品,提问:“如果边长改成100,代码哪里要改?”(强化变量的作用)。
  3. 坐标规律总结:师生共同填写“坐标记录表”——
    图形起点坐标边长转向角度循环次数
    (0,0)6090°4

五、总结与作业(5分钟)

课堂总结:

  • 坐标是“位置密码”:x控制左右,y控制上下;
  • turtle基础指令:forward(步长)right(角度)goto(x,y)color(颜色)
  • 正方形绘制公式:for _ in range(4): forward(边长); right(90)

课后作业:

  1. 绘制一个“双色正方形”:前两条边红色,后两条边蓝色(提示:在循环中用if判断次数);
  2. 在坐标纸上标记出你画的正方形四个顶点的坐标(如起点(0,0),终点(60,0)等)。

教学理论支撑与设计理由:

  1. 皮亚杰认知发展理论:通过“教室坐标寻宝”“积木拼接”等具体操作,帮助11-15岁学生(形式运算阶段初期)将抽象的x/y轴概念转化为具象经验,再过渡到代码逻辑。
  2. 维果茨基最近发展区:分层任务(基础→进阶)配合“错误排查表”,为不同水平学生提供“刚好够得着”的挑战,避免挫败感。
  3. STEAM融合:数学(坐标计算、角度规律)与艺术(颜色搭配、图形布局)结合,用代码实现“精准的美”,让学生感知“技术是艺术的工具”。