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

大神公布的图片:
turtle绘制超立方体(尹成大神python教程中说的那个)_第1张图片
下面是我用turtle画出来的,由于懒,外层的八个顶点,没有dot。
turtle绘制超立方体(尹成大神python教程中说的那个)_第2张图片
好了,废话不多说,直接上代码,思路来源于观察。

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

你可能感兴趣的:(python)