python学习笔记31(利用turtle绘制立方体、钟表)

您所在的位置:网站首页 长方形螺旋方块 python学习笔记31(利用turtle绘制立方体、钟表)

python学习笔记31(利用turtle绘制立方体、钟表)

2023-09-29 09:43| 来源: 网络整理| 查看: 265

1.利用turtle绘制长方体 这道题简直是太费时间了,在角度变换上实在是没想到,先给出一个比较简单的带填充颜色的立方体:

import turtle turtle.title('长方体') n = 100 # 边长 turtle.fillcolor('red') turtle.begin_fill() # 前侧 turtle.begin_fill() for i in range(4): turtle.forward(n) turtle.right(90) turtle.end_fill() turtle.fillcolor('green') turtle.begin_fill() # 上方 turtle.left(55) turtle.forward(n*0.6) turtle.right(55) turtle.forward(n) turtle.right(125) turtle.forward(n*0.6) turtle.end_fill() turtle.fillcolor('purple') turtle.begin_fill() # 右侧面 turtle.penup() turtle.goto(n, -n) turtle.pendown() turtle.left(180) turtle.forward(n*0.6) turtle.left(35) turtle.forward(n) turtle.end_fill() turtle.showturtle() turtle.done()

效果图: 在这里插入图片描述

然后死了好多脑细胞,给出终极版:

import turtle turtle.title('长方体') n = 100 # 边长 # 前侧 turtle.begin_fill() for i in range(4): turtle.forward(n) turtle.right(90) # 上方 turtle.left(55) turtle.forward(n*0.6) turtle.right(55) turtle.forward(n) turtle.right(125) turtle.forward(n*0.6) # 右侧面 turtle.penup() turtle.goto(n, -n) turtle.pendown() turtle.left(180) turtle.forward(n*0.6) turtle.left(35) turtle.forward(n) # 后侧 turtle.penup() turtle.goto(n, -n) turtle.pendown() turtle.right(35) turtle.forward(n*0.6) turtle.left(125) turtle.forward(n) turtle.right(90) turtle.forward(n) # 底面 turtle.penup() turtle.goto(n, -n) turtle.pendown() turtle.right(35) turtle.forward(n*0.6) turtle.left(125) turtle.forward(n) # 要记得正方体的侧边是垂直于底面的啊 turtle.left(55) turtle.forward(n*0.6) turtle.showturtle() turtle.done()

利用turtle绘制正方体 是不是没看懂,没看懂就对了,我画了一张图可能更容易理解一点: turtle绘制正方体思路 我们要时刻秉承我们是在平面图像里面构建正方体,要想有正方体的样子,起码我们得学会脑筋急转弯,不是90度,90度的转换箭头方向,那样的话,画的是个寂寞。除了转换角度我们还要注意边的长度,说的多不如自己动手试一试,搞不清箭头的方向就多运行一下看看效果,结合效果图看看到底往哪个方向转换。

2.利用turtle绘制钟表(时间为9:15) import turtle # 绘制一个半径为100的圆,它的中心是(0,100),不是(0,0) turtle.pen(2) turtle.circle(100) turtle.pencolor('blue') turtle.pensize(3) # 绘制表盘上的刻度‘6’ turtle.left(90) turtle.forward(15) turtle.write('6') # 绘制表盘上的刻度‘12’ turtle.penup() turtle.goto(0, 200) turtle.pendown() turtle.right(180) turtle.forward(15) turtle.write('12') # 绘制表盘上的刻度‘3’ turtle.penup() turtle.goto(100, 100) turtle.pendown() turtle.right(90) turtle.forward(15) turtle.write(3) # 绘制表盘上的刻度‘9’ turtle.penup() turtle.goto(-100, 100) turtle.pendown() turtle.right(180) turtle.forward(15) turtle.write(9) turtle.pensize(4) turtle.pencolor('green') # 绘制时针 turtle.penup() turtle.goto(0, 100) turtle.pendown() turtle.left(180) turtle.forward(30) turtle.pencolor('purple') # 绘制秒针 turtle.penup() turtle.goto(0, 100) turtle.pendown() turtle.right(90) turtle.forward(65) turtle.pencolor('yellow') # 绘制分针 turtle.penup() turtle.goto(0, 100) turtle.pendown() turtle.goto(50, 100) turtle.right(90) turtle.showturtle() turtle.done()

效果图(反正就是很丑): 利用turtle实现钟表绘制 绘制钟表,它的核心就是利用箭头的角度变化来添加各个刻度,没有什么难度,但是确实比较麻烦,而且要注意钟表上刻度的长短设置啊



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3