我目前正試圖爲我的項目實現凸包計算,因此我安裝了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