Python3使用turtle绘制超立方体图形示例
本文介绍利用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编程实践有所帮助。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









