public override void Draw(System.Drawing.Graphics g)
{
float delta = (float)Math.PI / 12;
PointF[] inPoints = new PointF[24];
PointF[] outPoints = new PointF[24];
float outA = Rectangle.Width / 2;
float outB = Rectangle.Height / 2;
float inA = Rectangle.Width * 3 / 8;
float inB = Rectangle.Height * 3 / 8;
float centerX = Rectangle.X + Rectangle.Width / 2;
float centerY = Rectangle.Y + Rectangle.Height / 2;
float inAngle = delta / 2;
float outAngle = delta;
for (int i = 0; i < 24; i++)
{
inPoints[i].X = centerX + inA * (float)Math.Cos(inAngle);
inPoints[i].Y = centerY + inB * (float)Math.Sin(inAngle);
outPoints[i].X = centerX + outA * (float)Math.Cos(outAngle);
outPoints[i].Y = centerY + outB * (float)Math.Sin(outAngle);
inAngle += delta;
outAngle += delta;
}
for (int i = 0; i < 23; i++)
{
g.DrawLine(Pens.Black, inPoints[i], outPoints[i]);
g.DrawLine(Pens.Black, outPoints[i], inPoints[i + 1]);
}
g.DrawLine(Pens.Black, inPoints[23], outPoints[23]);
g.DrawLine(Pens.Black, outPoints[23], inPoints[0]);
}
效果是画出24角型
请问,这些语句是什么意思啊?看不懂啊
float delta = (float)Math.PI / 12;
要产生的图形就是word文档中自定义图形中的24角星,然后这边用PI除以12有什么用意,超级不明白啊;而且如果把12变成8,然后改相应的数组个数,就可以产生16角星,所以不明白变量delta在这里的作用??????