- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用CGAL库显示2D Delaunay三角剖分,如示例here
我的代码如下所示:
#include <iostream>
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Delaunay_triangulation_2.h>
#include <CGAL/draw_triangulation_2.h>
typedef CGAL::Exact_predicates_inexact_constructions_kernel K;
typedef CGAL::Delaunay_triangulation_2<K> Triangulation;
typedef Triangulation::Point Point;
int main(void){
Point a(1,1), b(2,1), c(2,2), d(1,2);
Triangulation T;
T.insert(a);
T.insert(b);
T.insert(c);
T.insert(d);
CGAL::draw(T);
return 0;
}
g++ -o cgalTest.exe cgalTest.cpp -lCGAL -lgmp
编译此代码时,程序成功编译,但是在运行时我得到了
Impossible to draw because CGAL_USE_BASIC_VIEWER is not defined
g++ -o cgalTest.exe cgalTest.cpp -lCGAL -lgmp -DCGAL_USE_BASIC_VIEWER
,这会在编译时产生以下错误:
/usr/include/CGAL/Qt/Basic_viewer_qt.h:30:10: fatal error: QApplication: No such file or directory #include <QApplication>
sudo apt-get install libcgal-dev
和
sudo apt-get install libcgal-qt5-dev
安装了CGAl
sudo apt-get install libqt5svg5-dev libqt5opengl5-dev
来解决该错误,但无济于事。
最佳答案
好吧,对于任何面临相同问题的人,这是我解决的方法:
首先,我使用locate QApplication
命令在系统上查找QApplication
头文件的位置。使用sudo updatedb
之前,请确保先运行locate
。如果locate
找不到QApplication
的位置,则您缺少qt库。尝试sudo apt-get install qt5-default
和我在问题中提到的其他库,运行sudo updatedb
,然后再次尝试locate QApplication
。
当找到QApplication
的路径时,只需使用-I
选项来指示编译器使用它。这是一个g++ -o delaunayTest delaunayTest.cpp -lCGAL -lgmp -lCGAL_Qt5 -DCGAL_USE_BASIC_VIEWER -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets/
示例(因为在我的情况下,QApplication
位于目录/usr/include/x86_64-linux-gnu/qt5/QtWidgets/
内)
尝试与此编译,您可能会遇到另一个头文件错误。使用locate
重复相同的过程,直到没有其他头文件错误为止。
届时,您可能会遇到undefined reference to symbol
错误。
要解决此问题,请再次使用locate
查找导致错误的文件的位置(例如libQt5OpenGL.so.5
),并按原样将路径添加到编译命令(例如g++ -o delaunayTest delaunayTest.cpp /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5
)以及所有先前的选项。
您可能还会收到一些undefined reference to symbol
错误。只是继续使用相同的方法,直到您一无所获。
此时,程序应正确编译并正确运行。
请注意,如果您安装了多个版本的qt,则上述方法可能无法正常工作(例如,如果您在系统中安装了使用qt的软件,例如MATLAB或anaconda,则会知道这是因为locate
将为每个文件生成许多路径)以上步骤)。在这种情况下,我建议构建一个虚拟机,下载CGAL库和qt5-default
并按照上面的步骤进行操作,因为这很可能在具有多个qt安装的系统中不起作用。
关于c++ - 编译并运行CGAL Triangulation演示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56581808/
我目前正在使用 CGAL 执行一些 2D 三角测量任务,并且我也已经准备好了一些简单的工作。无论如何,我真的不知道如何对凹形进行三角剖分,因为现在我总是得到所有点的凸包。基本上我想在 mouseCli
假设我们有五个顶点: X = [0 1; 2 1; 4 1; 1 0; 3 0]; 三角测量: T = [1 4 2; 4 5 2; 5 3
用例: 给定一个已知的(模拟的)3D 场景,并且: 对应 2D 点 V、V' 的 2 个向量,其中 V' 表示 3D 点的投影,包括相对变换(使用 5 点算法提取)。 相机内在矩阵‘K’ 相对相机旋转
给定平面中的一组点和一个不完整的 triangulation of the convex hull of the points (只给出了一些边),我正在寻找一种算法来完成三角剖分(初始给定的边应该保
我是 CGAL 的新手,我确定我的问题很简单。 我正在尝试使用 CGAL 进行一些 Delaunay 三角剖分。我有一个球体上有 N 个 3D 点的网格,我想使用这些点作为三角形的顶点对球体进行三角测
在使用 Fade 库的 Delaunay 三角剖分中,可以访问站点的事件三角形并访问其邻居,如下所述:http://www.geom.at/example2-traversing/ 我不知道如何利用事
给定一个 3D 多面体,其边界由三角网格表示,我如何实现一种算法来确定给定的 3D 点是否属于多面体的内部? 最佳答案 有几种方法可以实现这个功能。 最简单的方法是创建一条从点开始指向任意方向的无限射
我试图通过他们的蓝牙强度(RSSI 值)找到用户。 我有 3 个 Raspberry PI,每个都收集用户的信号强度。假设返回的节点: node1 = 65 node2 = 70 node3 = 75
所以我目前有一个使用此设置的 2.5D Delaunay 三角剖分。 typedef CGAL::Exact_predicates_inexact_constructions_kernel K
我在 Ubuntu 11.04 上使用 NetBeans 7.1,并希望使用 OpenCV 从一组点中获取三角形。我按如下方式构建 Delaunay 三角剖分。 vector CTwoDTriangu
我想检测我的点集的边界。我从 scipy spatial 尝试了 Delaunay 三角剖分,但我得到了这个: 当我从这些三角形执行 alpha 形状时,我无法获得点集的边界。所以我认为我应该使用受约
我正在尝试使用matplotlib.tri.Triangulation为matplotlibsplot_trisurf生成三角形。我想指定三角形,而不是让 matplotlib.tri.Triangu
我得到了一个具有随机分布点的云和另一个具有相同点但随机移动的云。所以云A中的每个点在云B中都有对应的点。 现在我想用相同的三角形网格对两个云进行三角剖分,找到两个云中交叉点最少的网格。 有什么想法吗?
似乎 matplotlib.tri.Triangulation 使用了一个有缺陷且可能不正确的 Delaunay 三角剖分实现,该三角剖分将被 qHull 取代. 我正在尝试使用 mpl_toolki
有谁知道如何使用 World Magnetic Model 将来自 android 设备的磁场传感器的结果转换为坐标? ?是否有这样做的网络服务? 最佳答案 你不能这样做。首先,您需要坐标,这意味着
我是一名优秀的程序员,十分优秀!