正五边形用C#编出???  实在不懂了,特来请教..五个点如何确定.能写下代码???谢了!!

解决方案 »

  1.   


            private void dr(double r, int num)  // r 半径,  num 边数
            {
                Point o = new Point(this.Width / 2, this.Height / 2);
                           Point[] ps = new Point[num+1];
                for (int i = 0; i <=num; i++)
                {
                    double ang = i * 360/num ;
                    double aa = Math.PI * (ang / 180);                int x = (int)(o.X + r * Math.Cos(aa));
                    int y = (int)(o.Y + r * Math.Sin(aa));
                    ps[i] = new Point(x, y);
                }
                Pen p = new Pen(Color.Red);
                Graphics gg = this.CreateGraphics();
                gg.DrawLines(p, ps);        }
           
      

  2.   

    有错误...private
    错误消息 
    应输入类型、命名空间定义或文件尾
    源代码文件中的大括号不成对。
    如何该??
      

  3.   

    给的只是一个简单的函数.  Point o 中多边形的中心点. namespace WindowsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }                private void dr(double r, int num)  // r 半径,  num 边数
            {
                Point o = new Point(this.Width / 2, this.Height / 2);
                Point[] ps = new Point[num + 1];
                for (int i = 0; i <= num; i++)
                {
                    double ang = i * 360 / num;
                    double aa = Math.PI * (ang / 180);                int x = (int)(o.X + r * Math.Cos(aa));
                    int y = (int)(o.Y + r * Math.Sin(aa));
                    ps[i] = new Point(x, y);
                }
                Pen p = new Pen(Color.Red);
                Graphics gg = this.CreateGraphics();
                gg.DrawLines(p, ps);        }        private void button1_Click(object sender, EventArgs e)
            {
                dr(50, 5);
            }    }
    }这里是在Form上画的五边形.