我目前正试图为我的项目实现凸包计算,因此我安装了https://www.nuget.org/packages/MIConvexHull/ NuGet包。 (这个项目是2D,3D和更高维的凸包算法和库。)这里是github页面的链接:https://github.com/DesignEngrLab/MIConvexHull如何使用MIConvexHull库
这是我到目前为止所做的以及我已经完成/了解的内容: 为了创建凸包,需要一个顶点列表,然后凸包基本上是一个顶点列表和一个面列表。所以这里是我目前如何尝试实现它。
List<Vertex> MI_convexHullVertices = new List<Vertex>();
var MI_convexHull = MIConvexHull.ConvexHull.Create<Vertex, Face>(vertices);
对于这段代码,虽然没有Vertex和Face类,但我得到了很多编译错误。我现在不知道在这里使用什么。
这是从ConvexHull
类内部ConvexHull.cs部分:
public static ConvexHull<TVertex, TFace> Create<TVertex, TFace>(IList<TVertex> data,
double PlaneDistanceTolerance = Constants.DefaultPlaneDistanceTolerance)
where TVertex : IVertex
where TFace : ConvexFace<TVertex, TFace>, new()
{
return ConvexHull<TVertex, TFace>.Create(data, PlaneDistanceTolerance);
}
现在在这里我的问题是:能否给我一个人解释什么TVertex和TFace是什么?之后,如何使用代码?
我觉得它是与通用数据类型,如TVertex
是不是一个真正的类型,但究竟是什么和什么是真正的类/类型,我可以使用真正实现凸包计算?
事情是,我不知道最后的语法。
非常感谢你,是我通过实例看,但3D一个居多,因为这是我需要的。在那里,我确实发现了实际的面部和顶点类实现,但是因为我不了解整个图片,所以我感到困惑......但是您现在已经很清楚地向我表示谢意了! – huzzm
@huzzm欢迎您!我很高兴我帮助:) – Christos