turtle绘制超立方体(尹成大神python教程中说的那个)

大神公布的图片:
超立方体
下面是我用turtle画出来的,由于懒,外层的八个顶点,没有dot。
呵呵,线有点儿细了~~
好了,废话不多说,直接上代码,思路来源于观察。

import turtle
turtle.up()
turtle.goto(100, 0)
turtle.pencolor('pink')
turtle.begin_poly()
for i in range(8):
    turtle.down()
    turtle.left(135)
    turtle.forward(200)
turtle.end_poly()
dd = turtle.get_poly()
print(dd) #打印的目的是为了将获取到的顶点按逆时针方向排序
dd = [(-100.00, 0.00), (-41.42, -58.58), (41.42, -58.58), (100.00, -0.00), (100.00, 82.84),
      (41.42, 141.42), (-41.42, 141.42), (-100.00, 82.84)] #按逆时针方向旋转排序,代码中唯一手动操作过的地方。
turtle.speed(1)
count = 0
for i in dd:
    turtle.goto(i)
    turtle.dot(10, 'blue')
    turtle.write(turtle.pos())
    turtle.pencolor('green')
    turtle.down()
    turtle.right(45 + count*45) #通过多次试验长时间观察,就看到它是按这个规律旋转的。
    turtle.forward(-200)
    turtle.right(45)
    turtle.forward(200)
    turtle.left(45)
    turtle.forward(200)
    turtle.left(135)
    turtle.forward(200)
    turtle.up()
    count = 1
turtle.done()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值