教案:正多边形的性质与循环绘图

教案基本信息

课程名称:Python编程第十二课 正多边形的性质与循环绘图
授课对象:有一定Python基础的学生(已掌握Turtle绘图、循环)
课时安排:45分钟
教学形式:理论讲解 + 实践操作

一、 教学目标

知识与技能:

  1. 数学知识: 理解正多边形的性质(各边相等,各角相等);掌握正多边形内角、外角计算公式。
  2. 编程知识:熟练运用for循环简化重复绘图命令。能够根据用户输入的边数动态计算旋转角度并绘制正多边形。
  3. 理解循环嵌套,绘制稍复杂的组合图形。

过程与方法:

  1. 经历从特殊(固定边数)到一般(任意边数)的抽象过程,培养数学建模能力。
  2. 通过参数化绘图,体验程序的可扩展性和灵活性。

情感态度与价值观:

  1. 感受几何之美与编程之妙的结合,提升学习兴趣。
  2. 培养通过改变参数探索图形变化规律的科学探究精神。

二、 教学重点与难点

教学重点:正多边形外角公式的应用;使用循环参数化绘制正多边形。

教学难点:理解外角与旋转角度的关系;循环嵌套的逻辑设计与调试。

三、 教学准备

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

学生:电脑已安装Python环境,已掌握Turtle基本命令和for循环基础。

四、 教学过程

(一) 复习导入:从固定图形到任意图形(5分钟)

教师活动:

  1. 复习上节课内容:”上节课我们用循环画了正方形和三角形,代码还记得吗?”
  2. 展示正方形代码:

python

for i in range(4):

    pen.forward(100)

    pen.right(90)

3.提出新挑战:”如果我想画正五边形、正六边形,甚至正十二边形,每次都要重新计算角度并修改代码吗?有没有更聪明的方法?”

4.引出主题:”今天我们要让程序变得更’智能’,只需要告诉它边数,它就能自动画出对应的正多边形!”

设计意图: 在已有知识上提出更具一般性的问题,引发认知冲突,激发探究欲望。

(二) 数学探究:正多边形的性质(10分钟)

1. 正多边形的特征

教师引导发现:

正三边形(等边三角形):3条边相等,3个内角都是60°

正四边形(正方形):4条边相等,4个内角都是90°

正五边形:5条边相等,5个内角都是108°

总结规律:正n边形有n条相等的边,n个相等的内角。

2. 关键公式推导

内角和公式: 正n边形的内角和 = (n-2) × 180°

每个内角度数: 每个内角 = (n-2) × 180° ÷ n

外角公式(重点):

每个外角 = 180° – 内角

简化得:每个外角 = 360° ÷ n

几何意义:正n边形的外角和永远等于360°。

3. Turtle绘图的联系

重要结论:海龟每次旋转的角度 = 外角度数 = 360° ÷ n

验证实例:

正方形:n=4,旋转角度=360÷4=90° ✓

三角形:n=3,旋转角度=360÷3=120° ✓

(三) 编程实现:参数化绘制正多边形(15分钟)

任务:编写程序,根据用户输入的边数绘制对应的正多边形。

代码实现:

python

import turtle as t

# 创建海龟

pen = t.Turtle()

pen.speed(8)

pen.pensize(2)

# 获取用户输入

n = int(input(“请输入正多边形的边数: “))

length = int(input(“请输入边长: “))

# 计算外角度数(海龟每次旋转的角度)

angle = 360 / n

# 使用循环绘制正多边形

for i in range(n):      # 循环n

    pen.forward(length) # 画一条边

    pen.right(angle)    # 旋转外角度数

t.done()

代码讲解要点:

  1. n = int(input(…)):将用户输入的字符串转换为整数。
  2. angle = 360 / n:核心计算公式,根据边数动态确定旋转角度。
  3. for i in range(n):循环次数与边数一致。
  4. 参数化设计:通过改变n和length的值,可以绘制任意大小、任意边数的正多边形。

学生实践:分别输入3、5、8、12等不同边数,观察绘制效果。

(四) 常见问题调试(5分钟)

问题1输入边数1或2,图形异常。

分析:数学上不存在1边形或2边形,需要添加输入验证。

解决方案:

python

if n < 3:

    print(“边数不能小于3!”)

else:

    # 执行绘图代码

问题2图形没有闭合。

分析:可能是角度计算错误或循环次数不对。

调试方法:在循环内添加print(i, angle)语句,检查每次循环的参数。

(五) 拓展应用:复杂图形绘制(15分钟)

应用1:绘制同心正多边形

python

# 绘制3个同心正六边形

n = 6  # 六边形

for size in [50, 80, 110]:  # 不同的边长

    pen.penup()

    pen.goto(-size/2, -size/2)  # 调整起始位置使图形居中

    pen.pendown()

    for i in range(n):

        pen.forward(size)

        pen.right(360/n)

应用2:旋转正多边形图案

python

# 绘制36个旋转的正五边形,形成圆形图案

n = 5  # 五边形

length = 30

for j in range(36):      # 外层循环:旋转36

    pen.color([“red”, “blue”, “green”][j % 3])  # 交替使用颜色

    for i in range(n):   # 内层循环:画一个正五边形

        pen.forward(length)

        pen.right(360/n)

    pen.right(10)        # 每个五边形之间旋转10

应用3:正多边形星星

python

# 绘制正五角星(实际上是正五边形的变体)

pen.color(“gold”)

for i in range(5):

    pen.forward(100)

    pen.right(144)  # 180 – 36 = 144

(六) 课堂练习与作业(5分钟)

课堂练习:

  1. 绘制一个正八边形,边长为60像素。
  2. 绘制3个同心的正三角形,边长分别为40、80、120。

作业:

  1. 基础题: 改进正多边形绘图程序,增加颜色选择功能,让用户可以选择图形的颜色。
  2. 挑战题: 编写程序绘制”万花尺”图案。提示:在一个大圆内滚动一个小圆,跟踪小圆上某点的轨迹。

五、 板书设计

主标题: 正多边形的性质与循环绘图

核心公式:

外角度数 = 360° ÷ 边数

旋转角度 = 外角度数

循环次数 = 边数

代码模板:

python

n = int(input(“边数: “))

angle = 360 / n

for i in range(n):

    forward(边长)

    right(angle)

数学关系表:

边数内角外角旋转角
360°120°120°
490°90°90°
5108°72°72°
6120°60°60°
n(n-2)×180°/n360°/n360°/n

您可能还喜欢...