亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

烏龜繪制六邊形和六邊形網格

烏龜繪制六邊形和六邊形網格

小唯快跑啊 2023-08-15 17:08:23
當前代碼#import the turtle modules  import turtle   #Start a work Screen ws=turtle.Screen()   #Define a Turtle Instance geekyTurtle=turtle.Turtle()   #executing loop 6 times for 6 sides for i in range(6):       #Move forward by 90 units    geekyTurtle.forward(90)       #Turn left the turtle by 300 degrees   geekyTurtle.left(300)我的目標是制作六邊形網格圖案,但我未能正確完成。我的第一個問題是,如果你運行代碼,你會得到一個六邊形,但頂部是平的,我無法讓它讓尖角到達頂部。其次,我嘗試制作網格,但失敗了,我不確定為什么我無法復制相同的六邊形并將其克隆到另一個六邊形旁邊。我將會或應該有一個我要在下面獲取的圖像的文件。我得到的輸出:我試圖獲得的輸出:
查看完整描述

2 回答

?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

在進入循環之前,轉動 30 度。

geekyTurtle.right(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()來繪制網格。


查看完整回答
反對 回復 2023-08-15
?
慕蓋茨4494581

TA貢獻1850條經驗 獲得超11個贊

看起來這是一個遞歸可以以類似分形的方式簡化的問題。初始六邊形的每一邊本身就是一個六邊形,依此類推,填充可用空間:


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()

https://img1.sycdn.imooc.com//64db40d80001be8a04460429.jpg

查看完整回答
反對 回復 2023-08-15
  • 2 回答
  • 0 關注
  • 183 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號