画五角星

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;
        }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值