C#繪製多邊形
阿新 • • 發佈:2018-12-03
輸入中心點座標、外切圓半徑、多邊形邊數,返回多邊形端點座標集。
列一下關鍵詞輔助搜尋引擎快速找到方法:c#繪製 五邊形 六邊形 八邊形 多邊形
/// <summary> /// 使用外切圓的方法繪製一個正多邊形 /// </summary> /// <param name="center">正多邊形外切圓的圓心</param> /// <param name="radius">正多邊形外切圓的半徑</param> /// <param name="sideCount">正多邊形的邊數</param> public static List<double[]> DrawRegularPoly(double[] center, double radius, int sideCount) { // 多邊形至少要有3條邊,邊數不達標就返回。 if (sideCount < 3) return null; // 每條邊對應的圓心角角度,精確為浮點數。使用弧度制,360度角為2派 double arc = 2 * Math.PI / sideCount; // 為多邊形建立所有的頂點列表 var pointList = new List<double[]>(); for (int i = 0; i < sideCount; i++) { var curArc = arc * i; // 當前點對應的圓心角角度 double[] pt = new double[3]; // 就是簡單的三角函式正餘弦根據圓心角和半徑算點座標。這裡都取整就行 pt[0] = center[0] + Math.Round((radius * Math.Cos(curArc)), 2); pt[1] = center[1] + Math.Round((radius * Math.Sin(curArc)), 2); pt[2] = 0; pointList.Add(pt); } return pointList; }