- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在按照 PCL 文档的教程计算 2D 凸包 see here .
我有一片云和一些指数,将它们投影到具有给定系数的平面上,然后计算凸包。这是代码:
PointCloud<PointXYZ>::Ptr tmpInliers(new PointCloud<PointXYZ>());
ProjectInliers<PointXYZ> proj;
proj.setModelType(SACMODEL_PLANE);
proj.setInputCloud(someCloud);
proj.setIndices(someIndices);
proj.setModelCoefficients(someCoefficients);
proj.filter(*tmpInliers);
PointCloud<PointXYZ>::Ptr hull(new PointCloud<PointXYZ>());
ConvexHull<PointXYZ> chull;
chull.setInputCloud(tmpInliers);
chull.setComputeAreaVolume(true);
chull.setDimension(3); <--- see below
chull.reconstruct(*hull);
我得到的总面积和体积的结果是:
Area & Volume of convex hull: 7.8726e-312 2.122e-314
tmpInliers 的值范围在
(-0.80562,-0.787018,2.25184)
(-0.477351,-0.798953,2.11432)
(-0.633823,-0.750283,2.96717)
[....]
如果我将“setDimensions”更改为“2”,我会收到以下错误
[pcl::ConvexHull::performReconstrution2D] ERROR: qhull was unable to compute a convex hull for the given point cloud (size of cloud)!
在下面的示例中,我正在构建一个示例,并且在每种情况下(setDimension 设置为 2 或 3)都失败了,其中一个是之前的失败(要么是“qhull 无法...”,要么是根据来自的值的奇怪结果凸包。
PointCloud<PointXYZ>::Ptr hugeBox(new PointCloud<PointXYZ>());
hugeBox->push_back(PointXYZ(10, 10, 10));
hugeBox->push_back(PointXYZ(10, 10, -10));
hugeBox->push_back(PointXYZ(10, -10, 10));
hugeBox->push_back(PointXYZ(10, -10, -10));
hugeBox->push_back(PointXYZ(-10, 10, 10));
hugeBox->push_back(PointXYZ(-10, 10, -10));
hugeBox->push_back(PointXYZ(-10, -10, 10));
hugeBox->push_back(PointXYZ(-10, -10, -10));
// Project inliers onto plane model
PointCloud<PointXYZ>::Ptr hugePlane(new PointCloud<PointXYZ>());
ProjectInliers<PointXYZ> proj;
proj.setModelType(SACMODEL_PLANE);
proj.setInputCloud(hugeBox);
proj.setModelCoefficients(coefficients);
proj.filter(*hugePlane);
// get the convex hull of plane
vector<Vertices> polygonsOut;
PointCloud<PointXYZ>::Ptr hugeHull(new PointCloud<PointXYZ>());
ConvexHull<PointXYZ> chull;
chull.setInputCloud(hugePlane);
chull.setDimension(2);
chull.reconstruct(*hugeHull, polygonsOut);
我有点卡在这里。如果我将它设置为 2 维,为什么它会失败?如果我将它设置为 3 个维度,我偶尔会出现以下警告:
qhull precision warning:
The initial hull is narrow (cosine of min. angle is 0.9999999999999991).
A coplanar point may lead to a wide facet.
我知道如果我有一个平面投影就会出现这种情况,但是如何避免这种情况呢?
最佳答案
我不知道您使用的框架,但让我猜猜:您是将点投影到嵌入 3 维体积的平面上,对吗? 3 维凸包算法失败非常简单,因为根据定义,投影在平面上的点是共面的。反过来,即使它们被投影到嵌入 3 维空间的平面上,这些点也位于 3 维空间中 - 我猜。另一方面,二维凸包算法期望真正的二维点——最有可能。因此,我认为它会通过某种映射将投影点减少到真实的二维空间,然后应用二维凸包算法。
关于c++ - 点云库中的凸包计算在 2 维和 3 维中均失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20517220/
我正在尝试对具有 950 个样本和大约 5000 个特征的数据使用套索优化。套索函数是 $(1/(2 * numberofsamples)) * ||y - Xw||^2_2 + alpha * ||
我需要列出位于给定坐标精度(比如 1)的特定多边形内部的所有坐标。这意味着,多边形边界的所有坐标都将是整数。多边形可以是凸面或凹面。 我有边界的所有坐标,coords[n][2] 这是我解决问题的方法
我的 Ubuntu 服务器上运行着一个 squid 3.3。在我的 squid ssl-bump 配置中,由于 squid3 -k 重新配置,我收到以下错误。 错误: 致命:错误的 squid.con
抱歉我的英语不好。 我想找出大量线性方程的下包络线。这映射到在其双平面中找到上(凸)壳的问题。 据我调查,有几种方法可以找到上层船体,但它们仅适用于 2-3 维。 但是,我的数据是高维的,有可用的库来
这个有点难解释。我有一个整数列表。因此,例如,[1, 2, 4, 5, 8, 7, 6, 4, 1] - 当根据元素编号绘制时,它类似于凸图。我如何以某种方式从列表中提取此“形状”特征?它不必特别准确
我想创建类似图片的东西,#body 位于#leg1 和#leg2 之间,其中三个应该水平对齐到底部。知道如何实现这一目标吗?我调整了一些属性,例如 display:inline 或 float:lef
我是一名优秀的程序员,十分优秀!