数学几何学的超烂,以至于解决不了问题,请各位高手给个建议我用椭圆的公式排列了内外两圈label,上代码//这里介绍下参数
//startX和startY是圆心坐标
//a,b是外圈椭圆的长短半径
//ja,jb是内圈椭圆的长短半径
public void calculateEllipseElementPoint(int startX, int startY, int a, int b, int iNum, int ja, int jb)
        {
            double ix, iy;
            //外圈(以0开头,label的Text是皆为双数)
            for (int i = 0; i < iNum; i++)
            {
                Label l = new Label();
                ix = startX + a * Math.Sin(2 * Math.PI / iNum * i);
                iy = startY + b * Math.Cos(2 * Math.PI / iNum * i);
                l.Top = (int)iy;
                l.Left = (int)ix;
                l.Text = (i * 2).ToString();
                this.Controls.Add(l);
            }
             //内圈(以1开头,label的Text皆为单数,数目与外圈相同)
            for (int j = 0; j < iNum * 2; j++)
            {
                Label l = new Label();
                ix = startX + ja * Math.Sin(2 * Math.PI / (iNum * 2) * j);
                iy = startY + jb * Math.Cos(2 * Math.PI / (iNum * 2) * j);
                l.Top = (int)iy;
                l.Left = (int)ix;
                if (j % 2 != 0)
                {
                   l.Text = j.ToString();
                }
            }
        }大家可以试一下效果,是从下方开始,依次向右排成椭圆,
我现在想让外圈(0,也就是开头)和内圈(1,也是开头)从屏幕右方开始,依次向左排列为椭圆
不知道有没有描述清楚,请各位大哥大姐出出主意,感激不尽