1. 程式人生 > >C#繪製多邊形

C#繪製多邊形

輸入中心點座標、外切圓半徑、多邊形邊數,返回多邊形端點座標集。
列一下關鍵詞輔助搜尋引擎快速找到方法: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;
        }