用Python的turtle库画3D立方体

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

运行结果:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值