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 相关文章推荐
Python3.2中的字符串函数学习总结
Apr 23 Python
在Python中操作文件之read()方法的使用教程
May 24 Python
Python实现PS滤镜的万花筒效果示例
Jan 23 Python
python3.5 email实现发送邮件功能
May 22 Python
在python中创建指定大小的多维数组方式
Nov 28 Python
python读取hdfs上的parquet文件方式
Jun 06 Python
python进度条显示-tqmd模块的实现示例
Aug 23 Python
python创建文本文件的简单方法
Aug 30 Python
Python字典取键、值对的方法步骤
Sep 30 Python
python 批量下载bilibili视频的gui程序
Nov 20 Python
Python之多进程与多线程的使用
Feb 23 Python
Jupyter Notebook内使用argparse报错的解决方案
Jun 03 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.MVC的模板标签系统(四)
2006/09/05 PHP
PHP中通过fopen()函数访问远程文件示例
2014/11/18 PHP
浅谈PHP中其他类型转化为Bool类型
2016/03/28 PHP
PHP大文件分割上传 PHP分片上传
2017/08/28 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
PHP递归遍历文件夹去除注释并压缩php源代码的方法示例
2018/05/23 PHP
插件:检测javascript的内存泄漏
2007/03/04 Javascript
js CSS操作方法集合
2008/10/31 Javascript
读jQuery之十三 添加事件和删除事件的核心方法
2011/08/23 Javascript
基于jquery打造的百分比动态色彩条插件
2012/09/19 Javascript
利用JQuery和JS实现奇偶行背景颜色自定义效果
2012/11/19 Javascript
js采用map取到id集合组并且实现点击一行选中一行
2013/12/16 Javascript
详解Bootstrap四种图片样式
2016/01/04 Javascript
js实现的简单图片浮动效果完整实例
2016/05/10 Javascript
JS框架之vue.js(深入三:组件1)
2016/09/29 Javascript
快速解决js开发下拉框中blur与click冲突
2016/10/10 Javascript
微信小程序进行微信支付的步骤昂述
2016/12/01 Javascript
canvas绘制表盘时钟
2017/01/23 Javascript
vue的安装及element组件的安装方法
2018/03/09 Javascript
Node.js API详解之 vm模块用法实例分析
2020/05/27 Javascript
Python入门篇之面向对象
2014/10/20 Python
Python编程实现及时获取新邮件的方法示例
2017/08/10 Python
Python3中的json模块使用详解
2018/05/05 Python
Python产生Gnuplot绘图数据的方法
2018/11/09 Python
Python 安装 virturalenv 虚拟环境的教程详解
2020/02/21 Python
使用卷积神经网络(CNN)做人脸识别的示例代码
2020/03/27 Python
CSS3实现简易版的刮刮乐效果
2016/09/27 HTML / CSS
通息工程毕业生自荐信
2013/10/16 职场文书
餐厅销售主管职责范本
2014/02/19 职场文书
商铺租赁意向书
2014/04/01 职场文书
租房合同协议书
2014/04/09 职场文书
文明倡议书范文
2014/04/15 职场文书
房屋财产继承协议书范本
2014/11/03 职场文书
周末问候语大全
2015/11/10 职场文书
导游词之南京中山陵
2019/11/27 职场文书
php实例化对象的实例方法
2021/11/17 PHP