Skip to content

组合图形的“创意密码”与几何规律

课题

从“单一图形”到“组合创作”——用代码绘制花朵与房屋

教学时间

2课时(90分钟)

课前准备

  • 教师端:电脑(turtle库+组合图形示例代码)、投影仪、“图形分解图”(花朵=圆形+花瓣,房屋=正方形+三角形)、实物教具(花朵剪纸、房屋模型)、分组评分表。
  • 学生端:电脑、坐标纸(绘制组合图形草图)、彩笔(标记图形组成部分)、“创意设计表”(记录每个图形的参数)。
  • 教学素材:组合图形代码模板、花瓣/屋顶参数对照表、“最佳创意奖”电子证书。

一、导入活动:“图形拆拆乐”——发现组合的秘密(15分钟)

活动1:“分解实物图形”

  • 展示花朵剪纸和房屋模型,提问:“这些复杂图形是由哪些简单图形组成的?”(花朵=6片花瓣+1个花心;房屋=1个正方形墙体+1个三角形屋顶)。
  • 分组任务:每组领取1个复杂图形(如小树、汽车),用彩笔在纸上圈出“基本图形单元”(圆形、三角形、长方形)。

活动2:“代码拼图”游戏

  • 教师给出3段代码(画正方形、三角形、圆形),学生根据“房屋”描述(“先画墙体,再画屋顶”),按顺序拼接代码,观察运行效果。
  • 结论:“复杂图形=简单图形按顺序/位置组合+参数调整(大小、角度)”。

二、知识点讲解:组合图形绘制与参数控制(30分钟)

模块1:绘制三角形——角度与边数的关系(10分钟)

  • 核心逻辑:三角形有3条边,每次转向120°(360°÷3),代码示例:
    python
    import turtle
    t = turtle.Turtle()
    t.color("green")
    for _ in range(3):  # 3条边
        t.forward(60)  # 边长60
        t.right(120)  # 转120°
    turtle.done()
  • 对比发现:边数n → 转向角度= 360°÷n(正方形n=4→90°,三角形n=3→120°)。

模块2:绘制花朵——循环嵌套画花瓣(20分钟)

  • 花瓣单元:用“小弧线+直线”画1片花瓣:
    python
    def draw_petal(t, size):  # 定义花瓣函数(t=乌龟,size=大小)
        t.circle(size, 60)  # 画60°弧线(小半圆)
        t.right(120)
        t.circle(size, 60)  # 对称画另一个60°弧线
        t.right(60)  # 调整到下一片花瓣的角度
  • 组合成花:循环6次画6片花瓣,中心画圆形花心:
    python
    import turtle
    t = turtle.Turtle()
    t.speed(0)  # 最快速度
    
    # 画6片花瓣
    for _ in range(6):
        draw_petal(t, 50)  # 调用花瓣函数,size=50
    
    # 画花心(圆形)
    t.penup()
    t.goto(0, -30)  # 移动到花心位置
    t.pendown()
    t.color("yellow")
    t.begin_fill()  # 开始填充
    t.circle(30)  # 半径30的圆
    t.end_fill()  # 结束填充
    
    turtle.done()
  • 关键技巧:用函数封装重复图形(如draw_petal()),通过参数size控制大小,实现“一次定义,多次复用”。

三、练习题设计:主题创作+参数优化(25分钟)

基础任务(全员完成):“我的小房子”

  • 要求:组合正方形(墙体)和三角形(屋顶),墙体边长100,屋顶边长120,用不同颜色填充(墙体灰色,屋顶红色)。
  • 提示代码框架:
    python
    import turtle
    t = turtle.Turtle()
    
    # 画墙体(正方形)
    t.color("gray")
    t.begin_fill()
    for _ in range(4):
        t.forward(100)
        t.right(90)
    t.end_fill()
    
    # 画屋顶(三角形)—— 提示:先移动到墙体顶部
    t.penup()
    t.goto(0, 100)  # 墙体顶部中点
    t.pendown()
    t.color("red")
    t.begin_fill()
    # 补充三角形代码...
    t.end_fill()
    
    turtle.done()

进阶任务(选做):“四季花园”

  • 绘制包含3种图形的花园:花朵(6片花瓣)、小草(多个三角形)、太阳(圆形),用变量控制每种图形的大小和位置(如flower_size = 60sun_x = 150)。

教师支持:

  • 开放“参数调试台”:学生可输入不同size值,实时预览图形变化(如花瓣size=30vssize=60的区别),理解“参数决定形态”。

四、讲解与互评:从“作品”到“规律”(15分钟)

  1. 分组互评:每组选1份作品,用“评分表”从“图形组合合理性”“参数一致性”“创意性”打分,举例:“这个房屋的屋顶边长比墙体宽,看起来更稳固——参数设计很合理”。
  2. 函数价值讨论:提问:“如果不用draw_petal()函数,画6片花瓣需要写多少行代码?”(强化“函数简化重复工作”的意义)。
  3. 几何规律总结:师生共同完成“图形参数表”——
    图形边数转向角度核心参数
    正方形490°边长
    三角形3120°边长
    花瓣-60°/120°弧线半径(size)

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

课堂总结:

  • 组合图形=简单图形“拼积木”(顺序/位置)+ 函数封装(复用代码);
  • 角度规律:边数n → 转向角度= 360°÷n;
  • 参数控制:用变量(如size)调整图形大小,让代码更灵活。

课后作业:

  1. 完善“四季花园”作品,添加1种新图形(如栅栏=多个小长方形);
  2. 填写“创意设计表”:记录每个图形的组成、参数和位置坐标,下次课分享设计思路。

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

  1. 自我决定理论:通过“主题创作”(房屋、花园)赋予任务自主性,学生可自由选择颜色、大小,满足“自主需求”;分组互评强化“能力感”与“归属感”。
  2. STEAM工程思维:“分解-组合”的设计过程(复杂图形→简单单元→代码实现),培养工程领域的系统设计思维,同时融合数学(角度计算)与艺术(美学布局)。
  3. 迁移学习:从“实物图形分解”到“代码组合”,帮助学生建立“生活问题→编程解决”的迁移能力,为后续复杂项目(如游戏场景)奠定基础。