Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 给定一组点,计算点所覆盖区域的轮廓_C#_Computational Geometry - Fatal编程技术网

C# 给定一组点,计算点所覆盖区域的轮廓

C# 给定一组点,计算点所覆盖区域的轮廓,c#,computational-geometry,C#,Computational Geometry,我想找到由点覆盖的区域的轮廓多边形表示,因此假设我有一个点列表,看起来像下图: 我希望能够获得点所覆盖边界的多边形坐标,最好与最外部点保持一定距离: 检索到的多边形坐标应表示类似下图的形状: 这种计算已经有了标准算法吗?您描述的形状是一个alpha形状(计算后添加了一个缓冲区),使用该算法 在C中提供了一个实现(当使用 -AA/COM>),CGAL包含C++中的开源实现。CGAL文档描述了基本算法,需要计算输入点的delaunay三角剖分,然后使用定义的半径“雕刻”外部。@HighPerf

我想找到由点覆盖的区域的轮廓多边形表示,因此假设我有一个点列表,看起来像下图:

我希望能够获得点所覆盖边界的多边形坐标,最好与最外部点保持一定距离:

检索到的多边形坐标应表示类似下图的形状:


这种计算已经有了标准算法吗?

您描述的形状是一个alpha形状(计算后添加了一个缓冲区),使用该算法


在C中提供了一个实现(当使用<代码> -AA/COM>),CGAL包含C++中的开源实现。CGAL文档描述了基本算法,需要计算输入点的delaunay三角剖分,然后使用定义的半径“雕刻”外部。

@HighPerformanceMark实际上,这是一个带有缓冲区的alpha形状,而不是凸面外壳。凸面外壳是凸的,而不是凹的(如图所示)。