栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

在Python中使用Turtle库画“蜂窝状六边形”

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在Python中使用Turtle库画“蜂窝状六边形”

(2022-05-16)

编程题:使用turtle库绘制一个蜂窝状六边形。

分析:

        如图,只要画出外围的6个六边形即可。

        6个六边形的外接圆圆心,关于原点,间隔60°,均匀分布。

         外接圆半径为r,圆心距离原点距离L=1.732*r。

        6个六边形的“起始点”,由6个外接圆的圆心出发,向“南方”爬行距离r到达。

        因此,(1)由东边逆时针计数,第i个六边形(i=0,1,2,...,5),其形心是原点向左旋转了60*i度,前进了距离L。(2)向右回复了60*i度,指向正东。(3)然后,画笔方向再次向右又旋转了90度,指向正南。前进了距离r后,(4)把脑袋向东(向右)调转了90度,(5)画六边形。

        以上步骤循环了6次后,得到所要的蜂窝状六边形。

代码如下:

#画蜂窝状六边形

from turtle import *

r=60                    #外接圆半径

L=(3**0.5)*r            #形心间距为根号下3倍的半径

pensize(2)              #画笔尺寸

for i in range(6):      #画六个六边形
    penup()             #
    home()              #回归原点,画笔方向向东
    left(60*i)          #依次向左旋转60°
    forward(L)          #爬行L
    right(90+i*60)      #指向六边形起始点
    forward(r)          #爬行r,到达六边形起始点
    pendown()           #
    left(90)            #调整画笔方向向东
    circle(r,steps=6)   #画六边形
    
hideturtle()            #隐藏画笔
    
    
    

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/893367.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号