发布网友 发布时间:12小时前
共1个回答
热心网友 时间:10小时前
使用Python与OpenGL进行数据可视化的开发,需要确保您的电脑支持OpenGL 4.5版本。为此,请参考《准备工作(一)Windows下检测显卡和OpenGL信息》以检测是否满足要求。
在《准备工作(二)配置Windows下VS Code + Python + OpenGL开发环境》中,您需要配置开发环境,以便进行下一步操作。
在《用Python和OpenGL探索数据可视化(实践篇)- 三维点云数据可视化》文章中,我们学习了如何解析特定文本文件并绘制三维点云数据。在实际应用中,我们需要以多种方式显示来自不同数据源的文件,例如来自无人机扫描的地形数据、三维扫描仪得到的物体数据或用于3D打印的模型文件。因此,我们整合已学内容来开发一个Mesh网格模型查看器。
直接调用解析多种文件类型的任务可能过于复杂,Python的优势在于可以调用大量开源社区开发的第三方工具包。对于本文,我们使用《开源Mesh网格工具库 – Trimesh简介》介绍的Trimesh来读取多种文件格式。
为了增强Mesh网格模型查看器的专业性,我们为其添加了菜单功能。在VS Code中,使用File菜单打开D:\pydev\pygl下的common子文件夹,创建app_v4.py文件,该文件包含生成ImGui菜单的代码。
在app_v4.py中,输入代码以实现菜单功能。接着,在common子文件夹下创建point_clouds.py文件,专门用于以点云方式显示数据。在该文件中输入代码以实现点云数据的显示。修改__init__.py文件以整合这些功能,然后在usecase子文件夹下创建mesh_viewer.py文件,并在其中输入代码,实现Mesh网格模型的显示。
运行VS Code,点击右上角的三角形图标以执行代码。选择文件菜单下的“打开”命令,然后打开不同的Mesh网格模型文件,如bun_zipper.ply、dragon_vrip.ply、Utah_VW_Bug.stl和teapot.obj。使用鼠标和滚轮进行模型的旋转、放大和缩小。
不同的模型文件具有不同的比例,您可以调整缩放比例或使用鼠标滚轮调整模型尺寸。当模型数据中顶点较少,如甲壳虫汽车模型时,以点云方式显示可能难以分辨细节。下一节将尝试其他查看方式。
系列文章源代码已上传至:gitee.com/eagletang/pyg...
系列文章参考了一系列基础和实践篇的文章,覆盖了从OpenGL简介到使用计算着色器绘制Mandelbrot集等的详细内容。这些文章将引导您从基础学习到实践应用。