Python3使用turtle绘制超立方体图形示例


Posted in Python onJune 19, 2018

本文实例讲述了Python3使用turtle绘制超立方体图形。分享给大家供大家参考,具体如下:

利用Python3中turtle的绘制超立方体。

Python3使用turtle绘制超立方体图形示例

绘图思路:

1)求出边长100的超立方体的点坐标;

以竖直线为依据,将点分为上下两组:

a为上边点列表,b为下边点列表:

a = [[120.71, 50], [50, 120.71], [-50, 120.71], [-120.71, 50], [-50, -20.71], [50, -20.71], [20.71, 50],[-20.71, 50]]
b = [[120.71, -50], [50, 20.71], [-50, 20.71], [-120.71, -50], [-50, -120.71], [50, -120.71], [20.71, -50],[-20.71, -50]]

2)编写绘制直线函数;

3)编写主程序:绘制点,绘制六角形直线,绘制竖直直线,绘制斜线

代码片段如下,可能不是最简洁的,如有好的建议,请不吝指正。

import turtle
# 创建绘制直线函数
def drawLine(p1, p2, size=3, color="black"):
 turtle.penup()
 turtle.goto(p1)
 turtle.pensize(size)
 turtle.pencolor(color)
 turtle.pendown()
 turtle.goto(p2)
def main():
 # 求取点后,将超立方体点分为上下两个部分,两个列表
 a = [[120.71, 50], [50, 120.71], [-50, 120.71], [-120.71, 50], [-50, -20.71], [50, -20.71], [20.71, 50],
   [-20.71, 50]]
 b = [[120.71, -50], [50, 20.71], [-50, 20.71], [-120.71, -50], [-50, -120.71], [50, -120.71], [20.71, -50],
   [-20.71, -50]]
 # 绘制点
 turtle.pencolor("red")
 turtle.penup()
 for i in range(len(a)):
  turtle.goto(a[i])
  turtle.down()
  turtle.dot(10, "red")
  turtle.penup()
 for i in range(len(b)):
  turtle.goto(b[i])
  turtle.down()
  turtle.dot(10, "red")
  turtle.penup()
 # 绘制六边形直线
 for i in range(6):
  if i <= 4:
   drawLine(a[i], a[i + 1])
   drawLine(b[i], b[i + 1])
  else:
   drawLine(a[i], a[0])
   drawLine(b[i], b[0])
 # 绘制竖直线
 for i in range(len(a)):
  drawLine(a[i], b[i])
 # 绘制斜线
 drawLine(a[6], a[0])
 drawLine(a[6], a[2])
 drawLine(a[6], a[4])
 drawLine(a[7], a[1])
 drawLine(a[7], a[3])
 drawLine(a[7], a[5])
 drawLine(b[6], b[0])
 drawLine(b[6], b[2])
 drawLine(b[6], b[4])
 drawLine(b[7], b[1])
 drawLine(b[7], b[3])
 drawLine(b[7], b[5])
 turtle.done()
if __name__ == '__main__':
 main()
 pass

运行结果:

 Python3使用turtle绘制超立方体图形示例

注:使用eclipse+pyDev结合Python3环境开发时,会提示:Undefined variable from import: penupUndefined variable from import: goto等错误,无需理会直接运行仍可绘制出该图形。

更多关于Python相关内容可查看本站专题:《Python数学运算技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python调用cmd命令行制作刷博器
Jan 13 Python
python使用递归解决全排列数字示例
Feb 11 Python
Python中super关键字用法实例分析
May 28 Python
Python中取整的几种方法小结
Jan 06 Python
Python如何快速实现分布式任务
Jul 06 Python
浅谈Python处理PDF的方法
Nov 10 Python
如何使用python操作vmware
Jul 27 Python
解决pycharm最左侧Tool Buttons显示不全的问题
Dec 17 Python
python 中的[:-1]和[::-1]的具体使用
Feb 13 Python
基于python实现FTP文件上传与下载操作(ftp&amp;sftp协议)
Apr 01 Python
Python之变量类型和if判断方式
May 05 Python
pytorch锁死在dataloader(训练时卡死)
May 28 Python
python3使用SMTP发送HTML格式邮件
Jun 19 #Python
python3.X 抓取火车票信息【修正版】
Jun 19 #Python
python3使用SMTP发送简单文本邮件
Jun 19 #Python
Python基于pyCUDA实现GPU加速并行计算功能入门教程
Jun 19 #Python
python3第三方爬虫库BeautifulSoup4安装教程
Jun 19 #Python
python爬虫实例详解
Jun 19 #Python
Python实现的NN神经网络算法完整示例
Jun 19 #Python
You might like
PHP类的声明与实例化及构造方法与析构方法详解
2016/01/26 PHP
JQuery index()方法使用代码
2010/06/02 Javascript
JS延迟加载加快页面打开速度示例代码
2013/12/30 Javascript
node.js中的fs.realpathSync方法使用说明
2014/12/16 Javascript
jQuery中children()方法用法实例
2015/01/07 Javascript
javascript实现 百度翻译 可折叠的分享按钮列表
2015/03/12 Javascript
javascript制作的滑动图片菜单
2015/05/15 Javascript
JavaScript的面向对象编程基础
2015/08/13 Javascript
JavaScript数据结构与算法之链表
2016/01/29 Javascript
基于jQuery实现仿搜狐辩论投票动画代码(附源码下载)
2016/02/18 Javascript
深入探究JavaScript中for循环的效率问题及相关优化
2016/03/13 Javascript
JS加载iFrame出现空白问题的解决办法
2016/05/13 Javascript
详谈angularjs中路由页面强制更新的问题
2017/04/24 Javascript
vue子组件使用自定义事件向父组件传递数据
2017/05/27 Javascript
Vue单页式应用(Hash模式下)实现微信分享的实例
2017/07/21 Javascript
ReactNative Image组件使用详解
2017/08/07 Javascript
浅谈Angular路由复用策略
2017/10/04 Javascript
写给小白看的JavaScript异步
2017/11/29 Javascript
Node实战之不同环境下配置文件使用教程
2018/01/02 Javascript
JS实现监控微信小程序的原理
2018/06/15 Javascript
详解如何在微信小程序中愉快地使用sass
2018/07/30 Javascript
vue 使用插槽分发内容操作示例【单个插槽、具名插槽、作用域插槽】
2020/03/06 Javascript
python ---lambda匿名函数介绍
2019/03/13 Python
Python 给屏幕打印信息加上颜色的实现方法
2019/04/24 Python
Python socket 套接字实现通信详解
2019/08/27 Python
Windows下pycharm创建Django 项目(虚拟环境)过程解析
2019/09/16 Python
Europcar英国:英国汽车和货车租赁
2017/01/21 全球购物
Delphi软件工程师试题
2013/01/29 面试题
精彩的英文自荐信
2014/01/30 职场文书
致长跑运动员广播稿
2014/01/31 职场文书
创业培训计划书
2014/05/03 职场文书
计算机应用应届生求职信
2014/07/12 职场文书
领导欢迎词致辞
2015/01/23 职场文书
会计求职简历自我评价
2015/03/10 职场文书
单位工作证明范本
2015/06/15 职场文书
创业的9条正确思考方式
2019/08/26 职场文书