首页 > 解决方案 > 使用多边形制作一个给定半径的圆

问题描述

我正在教一些孩子抽象的概念。我目前使用的示例是将正方形、三角形、星形等概括为多边形。

def polygon(l, s, a):
    for i in range(s):
        forward(l)
        left(180 - a)

要制作一个正方形,我会写polygon(100, 4, 90)一个三角形polygon(100, 3, 60)

我知道 python turtle 有一个制作圆圈的功能,但我想用我的多边形函数制作一个圆圈。

现在我的问题是,如何使用多边形来构造一个给定半径的圆?

标签: pythonturtle-graphics

解决方案


看来我必须回答我自己的问题。为了用多边形做一个圆,我想出了这个:

def ccircle(radius, precision=100):
    total_internal_angle = 360
    angle = total_internal_angle / precision
    circumference = 2 * math.pi * radius
    polygon(circumference/precision, precision, 180 - angle)

推荐阅读