qt中 Qhull 求取包络
时间: 2023-07-13 12:24:49 浏览: 104
在 Qt 中使用 Qhull 求取包络的步骤与普通 C++ 程序类似,需要先引入 Qhull 的头文件并定义点集,然后调用 Qhull 库的接口求取包络。以下是一个在 Qt 中使用 Qhull 求取包络的示例代码:
```c++
#include <QCoreApplication>
#include <qhull/qhull.h>
typedef qhull::coordT coordT;
typedef std::vector<coordT> Point;
typedef std::vector<Point> PointList;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 定义点集
PointList points = {
{0, 0},
{0, 1},
{1, 0},
{1, 1}
};
// 求取包络
qhull::Qhull qhull;
qhull.runQhull("", 2, points[0], points.size(), "qhull FA");
PointList vertices = qhull.getFacetVertices();
return a.exec();
}
```
需要注意的是,需要先安装 Qhull 库并将其路径添加到 Qt 项目的 include 路径中。可以通过以下方式在 Qt 项目中添加 Qhull 库:
1. 下载 Qhull 库并解压到本地;
2. 在 Qt 项目中右键点击项目名称,选择“添加库”,在弹出的对话框中选择“外部库”;
3. 在“库文件”中添加 Qhull 库的 libqhullstatic_r.a(或 libqhullstatic_r.lib)文件;
4. 在“包含目录”中添加 Qhull 库的 include 目录。
添加完成后,即可在 Qt 项目中使用 Qhull 库。
阅读全文