qhull.runQhull用法 代码
时间: 2024-02-27 20:58:15 浏览: 70
下面是一个完整的使用qhull.runQhull计算几何形状的例子:
```cpp
#include <QCoreApplication>
#include <QDebug>
#include <qhullcpp/Qhull.h>
#include <qhullcpp/QhullFacetList.h>
#include <qhullcpp/QhullVertexSet.h>
#include <qhullcpp/QhullFacet.h>
#include <qhullcpp/QhullVertex.h>
#include <iostream>
using namespace orgQhull;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
// 创建一个Qhull对象
Qhull qhull;
// 设置点集
QList<QPointF> points = {QPointF(0, 0), QPointF(1, 0), QPointF(0, 1)};
qhull.setPoints(points, "Qt");
// 运行Qhull算法并计算几何形状
qhull.runQhull("");
// 获取计算得到的几何形状
QhullFacetList facets = qhull.facetList();
// 输出所有的几何形状信息
for(QhullFacetList::iterator i = facets.begin(); i != facets.end(); i++){
QhullFacet f = *i;
std::cout << "Facet " << f.id() << ": ";
QhullVertexSet vs = f.vertices();
for(QhullVertexSet::iterator j = vs.begin(); j != vs.end(); j++){
QhullVertex v = *j;
std::cout << v.point().x() << ", " << v.point().y() << "; ";
}
std::cout << std::endl;
}
return a.exec();
}
```
在这个例子中,我们首先创建了一个Qhull对象qhull,并设置一个包含三个点坐标的点集。接下来,我们调用runQhull函数运行Qhull算法并计算几何形状。最后,我们使用facetList函数获取计算得到的几何形状,并遍历所有的几何形状输出它们的信息,包括每个几何形状的顶点坐标。运行结果如下:
```
Facet 0: 1, 0; 0, 1;
Facet 1: 0, 0; 1, 0;
Facet 2: 0, 1; 0, 0;
```
这里得到的计算结果是三角形的三个顶点,每个几何形状的信息包括它的编号和所有顶点的坐标。
阅读全文