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提取页面内url列表的方法
May 25 Python
Python操作Excel插入删除行的方法
Dec 10 Python
Python告诉你木马程序的键盘记录原理
Feb 02 Python
python调用支付宝支付接口流程
Aug 15 Python
详解基于python-django框架的支付宝支付案例
Sep 23 Python
超全Python图像处理讲解(多模块实现)
Apr 13 Python
pandas读取csv文件提示不存在的解决方法及原因分析
Apr 21 Python
python删除某个目录文件夹的方法
May 26 Python
Python Selenium实现无可视化界面过程解析
Aug 25 Python
如何利用python读取micaps文件详解
Oct 18 Python
python 如何读、写、解析CSV文件
Mar 03 Python
如何理解及使用Python闭包
Jun 01 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使用数组实现矩阵数学运算的方法示例
2017/05/29 PHP
PHP实现简单登录界面
2019/10/23 PHP
PHP 裁剪图片
2021/03/09 PHP
Javascript实例教程(19) 使用HoTMetal(6)
2006/12/23 Javascript
wordpress之js库集合研究介绍
2007/08/17 Javascript
表单填写时用回车代替TAB的实现方法
2007/10/09 Javascript
javascript 面向对象思想 附源码
2009/07/07 Javascript
不使用中间变量,交换int型的 a, b两个变量的值。
2010/10/29 Javascript
javascript代码加载优化方法
2011/01/30 Javascript
一个可拖拽列宽表格实例演示
2012/11/26 Javascript
JavaScript结合Bootstrap仿微信后台多图文界面管理
2016/07/22 Javascript
浅析JavaScript中作用域和作用域链
2016/12/06 Javascript
JavaScript学习总结之正则的元字符和一些简单的应用
2017/06/30 Javascript
JS 学习总结之正则表达式的懒惰性和贪婪性
2017/07/03 Javascript
vue2.0在没有dev-server.js下的本地数据配置方法
2018/02/23 Javascript
Auto.js自动收取自己和好友蚂蚁森林能量脚本
2018/06/28 Javascript
用POSTMAN发送JSON格式的POST请求示例
2018/09/04 Javascript
vue实现带复选框的树形菜单
2019/05/27 Javascript
vue之debounce属性被移除及处理详解
2019/11/13 Javascript
[02:21]DOTA2英雄基础教程 蝙蝠骑士
2013/12/16 DOTA
python实现微信发送邮件关闭电脑功能
2018/02/22 Python
Python把csv数据写入list和字典类型的变量脚本方法
2018/06/15 Python
python 定时器,轮询定时器的实例
2019/02/20 Python
pandas DataFrame创建方法的方式
2019/08/02 Python
基于Python实现船舶的MMSI的获取(推荐)
2019/10/21 Python
python 爬取腾讯视频评论的实现步骤
2021/02/18 Python
Tommy Hilfiger澳洲官网:美国高端休闲领导品牌
2020/12/16 全球购物
linux面试题参考答案(9)
2015/01/07 面试题
合作协议书范本
2014/04/17 职场文书
自强之星事迹材料
2014/05/12 职场文书
关于教师节的演讲稿
2014/09/04 职场文书
工作失误检讨书
2015/01/26 职场文书
学校党支部公开承诺书
2015/04/30 职场文书
2015年青年教师工作总结
2015/05/25 职场文书
python实现网络五子棋
2021/04/11 Python
在 SQL 语句中处理 NULL 值的方法
2021/06/07 SQL Server