Python .asc查看器使用Kivy

Python .asc查看器使用Kivy,python,3d,kivy,Python,3d,Kivy,我想用kivy和python开发一个3D文件查看器,用于读取和显示以下格式的.asc网格文件: x1,y1,z1 x2,y2,z2 ........ xi,yi,zi 到目前为止,我的想法是使用类似于处理的beginShape()的方法开始绘制三维形状,然后使用for循环分别附加每个点 我还发现了一个kivy示例,它解析.obj文件,然后显示它们。你对如何制作一个类似的ASC解析器并尝试显示我的文件有什么想法吗 非常感谢您的帮助 我还发现了一个kivy示例,它解析.obj文件,然后显示它们。你

我想用kivy和python开发一个3D文件查看器,用于读取和显示以下格式的.asc网格文件:

x1,y1,z1
x2,y2,z2
........
xi,yi,zi
到目前为止,我的想法是使用类似于处理的
beginShape()
的方法开始绘制三维形状,然后使用for循环分别附加每个点

我还发现了一个kivy示例,它解析
.obj
文件,然后显示它们。你对如何制作一个类似的ASC解析器并尝试显示我的文件有什么想法吗

非常感谢您的帮助

我还发现了一个kivy示例,它解析.obj文件,然后显示它们。你对如何制作一个类似的ASC解析器并尝试显示我的文件有什么想法吗

目前,您最好的策略可能是阅读objparser并尝试了解它在做什么。重要的是建立一个点和法线的列表,这些点和法线通过带有自定义顶点_格式和自定义着色器的网格传递给opengl。原则上,仅通过与.obj代码进行比较,就可以对您自己的文件类型执行相同的操作,尽管您需要对正在发生的事情有所了解(您可以阅读opengl和kivy源代码,如果您还没有),以进行重大更改

现在这真的是一个高级主题,Kivy几乎没有预构建的3d opengl渲染包装器。后端是完全有能力的(例如,3d渲染示例并没有那么复杂),但您可能需要了解如何完成自己的任务

还有一些其他在Kivy中进行3d渲染的示例,您可能会发现这些示例很有用。nskrypnik正在做这件事(参见kivy trackball、kivy-3dpicking、kivy-rotation3d),并且似乎已经开始在kivy3 repo中实现一个合适的3d api,尽管这还不完整,我建议您通过阅读了解它,而不是现在就一定能做您想做的事情。我看到的另一个很好的例子是tito的,尽管它只是一个概念证明,而不是一个抛光的产品