如何在 Qt 中从 3d 点数组中绘制和保存 3D 模型?

Posted

技术标签:

【中文标题】如何在 Qt 中从 3d 点数组中绘制和保存 3D 模型?【英文标题】:How to draw and save 3D model in Qt from an array of 3d points? 【发布时间】:2015-04-27 08:11:08 【问题描述】:

在我的程序中,我有一个带有 X 的点数组;是; Z 坐标。我需要能够根据这些点的坐标绘制 3d 模型并将其保存在文件中。

我被困住了。任务似乎没有那么难,看起来我只需要一些常见的 3d 格式,所以我可以把这个坐标保存为一些 3d 模型。然后使用 QtOpenGL 加载。但我不知道从哪里开始。

【问题讨论】:

【参考方案1】:

Qt 有一个tutorial 用于导入和显示 3ds 模型。这不是您想要的,因为它不能使用 3d 点坐标数组进行操作,但是如何在 Maya/Blender/其他任何可以导出 3ds 的工具中编辑模型并以这种方式加载它?此外(我没有尝试过,但至少根据文档似乎是一种可行的方法),您可以通过QGLAbstractScene::mainNode()访问模型,然后通过QGLSceneNode::geometry()获取网格的几何形状,然后编辑顶点QGeometryData 实例。也可以从您的点数组构造一个新的几何实例并渲染它,但我无法为此提供 sn-p,您应该查看文档。

【讨论】:

以上是关于如何在 Qt 中从 3d 点数组中绘制和保存 3D 模型?的主要内容,如果未能解决你的问题,请参考以下文章

如何在处理 P3D 模式下绘制 2D 字体?

在 Android(和 iOS)上使用 Qt 使用 openGL 绘制具有 3d 效果的 2d 线

如何使用opengl函数制作一个用于在c中绘制3D点的3D窗口?

在 Qt3D 场景上绘制 2D 图形的最佳方法是啥?

如何使用 Qt3D 在网格中制作透明线?

如何在 Qt 中创建 3D 对象模型的 2D 切片?