static public void SetStart(Polygon polygon)
{
float xc = (float)polygon.Width / 2;
float yc = (float)polygon.Height / 2;
float r = xc;
// r: determines the size of the star.
// xc, yc: determine the location of the star.
float sin36 = (float)Math.Sin(36.0 * Math.PI / 180.0);
float sin72 = (float)Math.Sin(72.0 * Math.PI / 180.0);
float cos36 = (float)Math.Cos(36.0 * Math.PI / 180.0);
float cos72 = (float)Math.Cos(72.0 * Math.PI / 180.0);
float r1 = r * cos72 / cos36;
// Fill the star:
PointCollection points = new PointCollection();
points.Add(new Point(xc, yc-r));
points.Add(new Point(xc + r1 * sin36, yc - r1 * cos36));
points.Add(new Point(xc + r * sin72, yc - r * cos72));
points.Add(new Point(xc + r1 * sin72, yc + r1 * cos72));
points.Add(new Point(xc + r * sin36, yc + r * cos36));
points.Add(new Point(xc, yc + r1));
points.Add(new Point(xc - r * sin36, yc + r * cos36));
points.Add(new Point(xc - r1 * sin72, yc + r1 * cos72));
points.Add(new Point(xc - r * sin72, yc - r * cos72));
points.Add(new Point(xc - r1 * sin36, yc - r1 * cos36));
points.Add(new Point(xc, yc - r));
polygon.Points = points;
}
{
float xc = (float)polygon.Width / 2;
float yc = (float)polygon.Height / 2;
float r = xc;
// r: determines the size of the star.
// xc, yc: determine the location of the star.
float sin36 = (float)Math.Sin(36.0 * Math.PI / 180.0);
float sin72 = (float)Math.Sin(72.0 * Math.PI / 180.0);
float cos36 = (float)Math.Cos(36.0 * Math.PI / 180.0);
float cos72 = (float)Math.Cos(72.0 * Math.PI / 180.0);
float r1 = r * cos72 / cos36;
// Fill the star:
PointCollection points = new PointCollection();
points.Add(new Point(xc, yc-r));
points.Add(new Point(xc + r1 * sin36, yc - r1 * cos36));
points.Add(new Point(xc + r * sin72, yc - r * cos72));
points.Add(new Point(xc + r1 * sin72, yc + r1 * cos72));
points.Add(new Point(xc + r * sin36, yc + r * cos36));
points.Add(new Point(xc, yc + r1));
points.Add(new Point(xc - r * sin36, yc + r * cos36));
points.Add(new Point(xc - r1 * sin72, yc + r1 * cos72));
points.Add(new Point(xc - r * sin72, yc - r * cos72));
points.Add(new Point(xc - r1 * sin36, yc - r1 * cos36));
points.Add(new Point(xc, yc - r));
polygon.Points = points;
}