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

青禾
青禾
发布时间:2026-10-13 | 6人浏览过
原创

本文介绍利用Python3的turtle库绘制超立方体图形的方法。通过计算边长为100的超立方体顶点坐标,将点分为上下两组,分别绘制六角形、竖直直线及斜线。文章提供完整代码片段及运行结果,并附带Eclipse+pyDev环境下的常见警告说明,供Python初学者参考。

本示例演示了如何在Python3中利用turtle模块绘制超立方体图形,旨在为读者提供实用的参考代码。

具体实现基于Python3内置的turtle库,用于生成超立方体的视觉图形。

绘图逻辑主要包含以下步骤:

首先,计算边长为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]]

随后,定义用于绘制直线的辅助函数;

最后,编写主程序逻辑:依次执行顶点绘制、六角形边框绘制、垂直连接线绘制以及斜向连接线绘制;

以下代码片段展示了具体实现,代码可能并非最优解,欢迎提出改进建议。

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

程序运行后的图形输出如下:

 

注意:若在Eclipse结合pyDev插件及Python3环境中开发,可能会遇到“Undefined variable from import: penup”或“Undefined variable from import: goto”等导入变量未定义的警告提示,这些提示不影响程序执行,直接运行即可正常绘制图形。

如需了解更多Python相关知识,可参考本站专题:《Python数学运算技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》以及《Python入门与进阶经典教程》。

希望本文提供的代码与说明能对读者的Python编程实践有所帮助。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表