用Python的turtle库画3D立方体要用turtle,time,math,keyboard库,其中keyboard库需要下载,如果其它库没有可以上网查,首先我们要下载keyboard库,先按windows徽标+R键,再输入cmd,
在命令提示符(cmd)输入:pip install keyboard 按回车,就可以下载了。
接下来就可以写代码了,代码如下:
import turtle
import time
import math
import keyboard#要下载:pip install keyboard
__Pen = turtle.Pen()
sb_x =int(input("请输入方向1(建议范围在100~1000):"))
sb_y =int(input("请输入方向2(建议范围在100~1000):"))
dx=int(input("请输入大小(建议在4000左右):"))
bl = 0
xt = 0
yt = 0
__Pen.speed(0)
def yd(x,y,z):
__Pen.goto((((math.cos(math.radians(xt)) * x - math.sin(math.radians(xt)) * y) * bl) / 2), (((math.cos(math.radians(yt)) * (math.cos(math.radians(xt)) * y + math.sin(math.radians(xt)) * x) + math.sin(math.radians(yt)) * z) * bl) / 2))
def zai(x1,y1,z1,a):
__Pen.penup()
__Pen.pencolor("#3366ff")
yd(a + x1, a + y1, a + z1)
__Pen.clear()
__Pen.pendown()
yd((0 - a) + x1, a + y1, a + z1)
yd((0 - a) + x1, (0 - a) + y1, a + z1)
yd(a + x1, (0 - a) + y1, a + z1)
yd(a + x1, a + y1, a + z1)
yd(a + x1, a + y1, (0 - a) + z1)
yd(a + x1, a + y1, a + z1)
yd((0 - a) + x1, a + y1, a + z1)
yd((0 - a) + x1, a + y1, (0 - a) + z1)
yd((0 - a) + x1, a + y1, a + z1)
yd((0 - a) + x1, (0 - a) + y1, a + z1)
yd((0 - a) + x1, (0 - a) + y1, (0 - a) + z1)
yd((0 - a) + x1, (0 - a) + y1, a + z1)
yd(a + x1, (0 - a) + y1, a + z1)
yd(a + x1, (0 - a) + y1, (0 - a) + z1)
yd(a + x1, a + y1, (0 - a) + z1)
yd((0 - a) + x1, a + y1, (0 - a) + z1)
yd((0 - a) + x1, (0 - a) + y1, (0 - a) + z1)
yd(a + x1, (0 - a) + y1, (0 - a) + z1)
__Pen.penup()
__Pen.pensize(5)
for i in range(2):
zai(0, 0, 0, dx)
xt += ((sb_x - xt) / 12)
yt += ((sb_y - yt) / 12)
if (bl > 2):
bl = 2
if (bl < 0.05):
bl = 0.05
print("画图完成,请按空格退出!")
while True:
if keyboard.is_pressed('space'): # 检测空格键是否被按下
break
print("3D绘画结束,感谢使用!")
time.sleep(1)
运行结果: