Python-使用turtle绘制多重嵌套的六边形

Python-使用turtle绘制多重嵌套的六边形

本文主要目的是绘制一个正六边形,并以该六边形的各边中点为顶点依次继续绘制正六边形,然后依次迭代,要求能够控制迭代次数,并且线条颜色随机。下面就是这个简单小程序的具体实现步骤:

源码

首先导入相关资源:

import turtle
import  math
import numpy as np

设置turtle,及定义颜色表:

turtle.pensize(1)#设置线的粗细
turtle.shape('turtle')#设置turtle形状
colors = ['red','yellow','green','blue','black','purple','pink','brown']

定义绘制多重嵌套六边形的函数:

#绘制多重嵌套的六边形
def six(n,len):
    for i in range(n):
        c = np.random.randint(0, 8)
        turtle.color(colors[c])
        for i in range(6):
            turtle.fd(len)
            turtle.right(60)
        turtle.fd(len/2)
        turtle.right(30)
        len=len*math.sin(math.radians(60))

调用函数 初始六边形边长=200,迭代次数=20

six(20,200)
turtle.done()# 画布停留

运行效果图

在这里插入图片描述

到这里,这个简单的小程序就编程结束啦!撒花~
(ps:这是我第一次写博客,难免有地方不足,如有意见欢迎前来讨论!)

  • 4
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
好的,以下是绘制卡通库洛米的 Python 代码: ```python import turtle # 设置画布大小和背景色 turtle.setup(800, 800) turtle.bgcolor("#F8F8F8") # 定义画笔颜色和线宽 turtle.pensize(4) turtle.pencolor("#000000") # 绘制库洛米的头和脸 turtle.penup() turtle.goto(0, -200) turtle.pendown() turtle.begin_fill() turtle.circle(200) turtle.end_fill() # 绘制库洛米的眼睛 turtle.penup() turtle.goto(-80, 80) turtle.pendown() turtle.begin_fill() turtle.circle(50) turtle.end_fill() turtle.penup() turtle.goto(-80, 80) turtle.pendown() turtle.begin_fill() turtle.circle(30) turtle.end_fill() turtle.penup() turtle.goto(80, 80) turtle.pendown() turtle.begin_fill() turtle.circle(50) turtle.end_fill() turtle.penup() turtle.goto(80, 80) turtle.pendown() turtle.begin_fill() turtle.circle(30) turtle.end_fill() # 绘制库洛米的嘴巴 turtle.penup() turtle.goto(-100, -20) turtle.pendown() turtle.right(60) turtle.circle(100, 120) # 绘制库洛米的衣服 turtle.penup() turtle.goto(0, -200) turtle.pendown() turtle.begin_fill() turtle.goto(-150, -400) turtle.goto(150, -400) turtle.goto(0, -200) turtle.end_fill() # 绘制库洛米的领带 turtle.penup() turtle.goto(0, -120) turtle.pendown() turtle.begin_fill() turtle.goto(-50, -170) turtle.goto(50, -170) turtle.goto(0, -120) turtle.end_fill() # 绘制库洛米的手 turtle.penup() turtle.goto(-150, -400) turtle.pendown() turtle.right(30) turtle.begin_fill() turtle.goto(-250, -500) turtle.goto(-200, -600) turtle.goto(-150, -400) turtle.end_fill() turtle.penup() turtle.goto(150, -400) turtle.pendown() turtle.left(60) turtle.begin_fill() turtle.goto(250, -500) turtle.goto(200, -600) turtle.goto(150, -400) turtle.end_fill() # 绘制库洛米的脚 turtle.penup() turtle.goto(-70, -500) turtle.pendown() turtle.right(30) turtle.begin_fill() turtle.goto(-120, -700) turtle.goto(-70, -700) turtle.goto(-70, -500) turtle.end_fill() turtle.penup() turtle.goto(70, -500) turtle.pendown() turtle.left(60) turtle.begin_fill() turtle.goto(120, -700) turtle.goto(70, -700) turtle.goto(70, -500) turtle.end_fill() # 隐藏画笔 turtle.hideturtle() # 显示绘图窗口 turtle.done() ``` 运行代码后,会弹出一个绘图窗口,显示出卡通库洛米的图像。如果需要保存图像,可以使用 `turtle.getcanvas().postscript(file="filename.eps")` 命令将图像保存为 EPS 格式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值