相关疑难解决方法(0)

找到不规则形状多边形的"视觉"中心的最快方法是什么?

我需要找到一个点,它是一个不规则形状的多边形的视觉中心.通过视觉中心,我的意思是在视觉上看起来位于多边形的大区域的中心的点.应用程序是在多边形内部放置一个标签.

这是一个使用内部缓冲的解决方案:

https://web.archive.org/web/20150708063910/http://proceedings.esri.com/library/userconf/proc01/professional/papers/pap388/p388.htm

如果要使用它,找到缓冲区的有效且快速的方法是什么?如果要使用任何其他方式,这是哪种方式?

真正坚韧的多边形的一个很好的例子是一个巨大的厚U(用Arial Black或Impact或一些这样的字体书写).

point polygon

48
推荐指数
6
解决办法
5万
查看次数

将凸多边形拟合到另一个多边形

我正在寻找一种算法,我可以检查凸多边形(形状1)是否适合另一个多边形(形状2).

我的第一项研究将我带到了"包装不规则形状".这在我看来有点矫枉过正.我只有一个容器和一个对象.

形状1通常是凸多边形.形状2可以是凸的或凹的.

我的应用:我有三维激光扫描仪测量原木,这给我形状2.我也有不同的切割轮廓,我认为凸形船体,形状1.

现在我想检查切割轮廓是否适合我的激光轮廓.

algorithm graphics polygon shape computational-geometry

17
推荐指数
1
解决办法
926
查看次数


找到最大凸面积

我的问题与普劳问题非常相似; 但有这种差异:

如何找到可以适合非凸区域的最大凸区域?

例如,考虑这个非凸区域:

图片

任何想法或解决方案将不胜感激,谢谢.

convex non-convex

7
推荐指数
1
解决办法
1458
查看次数

如何找到位于采样边界内的最大圆?

给定一组2D点作为不规则形状的边界,一个可能不是凸面并且可能有内部孔的形状,是否有算法找到适合边界的最大圆?

我已经做了很多搜索,我确实找到了接近的算法,比如最大的空圆问题,但到目前为止我找不到的算法与我的约束相匹配.

algorithm 2d computational-geometry

5
推荐指数
1
解决办法
3033
查看次数

Google地图获取坐标中心(地点标签位于多边形的中心)

我使用谷歌地图,我在地图上标记区域:

在此输入图像描述

 var areaCoords2 = [
        new google.maps.LatLng(32.819649, 35.073102),
        new google.maps.LatLng(32.819604, 35.073026),
        new google.maps.LatLng(32.817169, 35.071321),
        new google.maps.LatLng(32.817097, 35.071353),
        new google.maps.LatLng(32.816042, 35.073391),
        new google.maps.LatLng(32.818513, 35.075119),
        new google.maps.LatLng(32.818612, 35.075054)
    ];
Run Code Online (Sandbox Code Playgroud)

我想实现:将标签标记放在标记的红色区域的中间(大约).

而不是使用静态纬度和经度(我有很多区域)

有一种方法可以这样做吗?

google-maps

3
推荐指数
1
解决办法
5072
查看次数

Delaunay 三角剖分和最大内切圆的混淆

我需要找到一个凸多边形的最大内切圆,我搜索了很多网站,我知道这可以通过使用 Delaunay 三角剖分来完成。我在 CGAL 讨论中找到了一个使用 CGAL 的算法的线程

您可以使用 CGAL 轻松计算:

首先,计算点的 Delaunay 三角剖分。

然后,迭代三角剖分的所有有限面。对于每个有限面 f

  • 计算它的外心 c
  • 在三角剖分中定位 c(为了加快速度,您可以将 f 的一个顶点作为点位置的起始提示)
  • 如果 locate(c,hint) 返回的面是有限的,则外心 c 位于点的凸包中,因此,f 是候选者
  • 如果 f 是这样的候选人脸,计算它的平方外接圆半径,只保留最小平方外接圆半径的脸

CGAL 手册(第 2 章 2D 三角剖分,以及内核中的一些内容)显示了执行此操作的每个基本功能。

我对这个算法的最后一部分有点困惑。当我阅读它时,我从中了解到三角剖分面的最小外接半径是最大内切圆的半径。但是从使用 Delaunay 三角剖分的多边形示例来看,似乎即使是最小的外接圆有时也无法放入多边形内,那么它如何与最大的内切圆具有相同的半径?

algorithm geometry delaunay cgal computational-geometry

2
推荐指数
1
解决办法
1813
查看次数

opencv c ++找到刻有轮廓的圆圈

我想找到最大的轮廓刻字圆.

我已经检测到轮廓cv::findContours并且它在那里作为a vector<Point>.

我知道如何检测最小的封闭圆(cv::minEnclosingCircle),但不知道如何获得最大的封闭圆.这该怎么做?

问题2:我如何获得以质心为中心的刻字和限定圆圈?


为了澄清,我试着用这些关注来描述我的意思:

  1. min circle circle:从外面触摸物体,中心位置无关紧要,最小面积.
  2. 外接圆:从外部触摸物体,物体中心位置,最小面积.
  3. 最大包围圈:从内侧触摸物体,中心位置无关紧要,最大面积.
  4. 刻字圆:从内部触摸物体,物体中心位置,最大面积.

c++ geometry opencv find

2
推荐指数
1
解决办法
447
查看次数