Python 绘制六边形和六边形网格
当前代码Python 绘制六边形和六边形网格,python,python-turtle,Python,Python Turtle,当前代码 #导入海龟模块 进口海龟 #启动工作屏幕 ws=turtle.Screen() #定义一个海龟实例 geekyTurtle=海龟。海龟() #对6个边执行6次循环 对于范围(6)中的i: #向前移动90个单位 吉基乌龟,前进(90) #把乌龟左转300度 极客龟。左(300) 我的目标是制作一个六边形网格图案,但我没有做好。我的第一个问题是,如果你运行代码,你会得到一个六边形,但是顶部是平的,我不能让它得到尖角,以达到顶部。第二,我尝试制作网格,但失败了,我不知道为什么我无法复制同一
#导入海龟模块
进口海龟
#启动工作屏幕
ws=turtle.Screen()
#定义一个海龟实例
geekyTurtle=海龟。海龟()
#对6个边执行6次循环
对于范围(6)中的i:
#向前移动90个单位
吉基乌龟,前进(90)
#把乌龟左转300度
极客龟。左(300)
我的目标是制作一个六边形网格图案,但我没有做好。我的第一个问题是,如果你运行代码,你会得到一个六边形,但是顶部是平的,我不能让它得到尖角,以达到顶部。第二,我尝试制作网格,但失败了,我不知道为什么我无法复制同一个六边形并将其克隆到另一个六边形旁边。我将或应该有一个文件的图像,我要在下面
我得到的输出:
我试图获得的输出:
geekyottle.右(30)
for i in range(6):
geekyTurtle.forward(90)
geekyTurtle.left(300)
geekyTurtle.up()
geekyTurtle.goto(90 * 3 ** .5, 0)
geekyTurtle.down()
for i in range(6):
geekyTurtle.forward(90)
geekyTurtle.left(300)
.up()
和.goto(x,y)
和.down()
的思想来绘制网格geekyottle.右(30)
for i in range(6):
geekyTurtle.forward(90)
geekyTurtle.left(300)
geekyTurtle.up()
geekyTurtle.goto(90 * 3 ** .5, 0)
geekyTurtle.down()
for i in range(6):
geekyTurtle.forward(90)
geekyTurtle.left(300)
.up()
和.goto(x,y)
和.down()
的思想来绘制网格这似乎是一个递归可以以类似分形的方式简化的问题。初始六边形的每一侧本身就是一个六边形,依此类推,填充可用空间:
from turtle import Screen, Turtle
SIDE = 75 # pixels
def hexagon(side, depth):
if depth > 0:
for _ in range(6):
turtle.forward(side)
turtle.right(60)
hexagon(side, depth - 1)
turtle.left(120)
screen = Screen()
screen.tracer(False) # because I have no patience
turtle = Turtle()
turtle.penup()
turtle.width(2)
turtle.sety(-SIDE) # center hexagons on window
turtle.pendown()
turtle.left(30) # optional, orient hexagons
hexagon(SIDE, depth=6) # depth depends on coverage area
turtle.hideturtle()
screen.tracer(True)
screen.exitonclick()
这似乎是一个递归可以以类似分形的方式简化的问题。初始六边形的每一侧本身就是一个六边形,依此类推,填充可用空间:
from turtle import Screen, Turtle
SIDE = 75 # pixels
def hexagon(side, depth):
if depth > 0:
for _ in range(6):
turtle.forward(side)
turtle.right(60)
hexagon(side, depth - 1)
turtle.left(120)
screen = Screen()
screen.tracer(False) # because I have no patience
turtle = Turtle()
turtle.penup()
turtle.width(2)
turtle.sety(-SIDE) # center hexagons on window
turtle.pendown()
turtle.left(30) # optional, orient hexagons
hexagon(SIDE, depth=6) # depth depends on coverage area
turtle.hideturtle()
screen.tracer(True)
screen.exitonclick()
好的,我会的,给我大约5分钟,你会看到它倾斜六边形,只需在开始处添加一个
geekyottle。右(30)
。另外,right(60)
比left(300)
快一些,好的,给我5分钟,你应该看到它倾斜六边形,只需在开始处添加一个geekyottle.right(30)
。另外,right(60)
比left(300)
Yo要快一些,非常感谢你,我现在可以运行我的代码,看看我可以在我的上更改什么。Yo非常感谢你,我现在可以运行我的代码,看看我可以在我的上更改什么