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;
        }

猜你喜欢

转载自blog.csdn.net/xzw18287443015/article/details/84716897