用VC画五角星的方法

     五角星有五个点,通过其中的两个可以确定圆心,由圆心可以找出另外的三个点,只要把这五个点都找全了,运用pDC->MoveTo() ,pDC->LineTo()按一定的点顺序就可以把五角星画出来。

 

//这是在确定五个点的坐标。
  int x1=x0,
      x2=(int)(x0-Math.sin(ch)*r),
      x3=(int)(x0+Math.sin(ch)*r),
      x4=(int)(x0-Math.sin(ch/2)*r),
      x5=(int)(x0+Math.sin(ch/2)*r);
  int y1=y0-r,
      y2=(int)(y0-Math.cos(ch)*r),
      y3=y2,
      y4=(int)(y0+Math.cos(ch/2)*r),
      y5=y4;
//由半径和圆心确定了五个点的坐标

 

  //五角星是中心对称图形,角度的实际取值范围在“0——72”之间;
  int x[]={(int)(x0+Math.sin(de)*r),
           (int)(x0-r*Math.sin(ch-de)),
           (int)(x0+r*Math.cos(de-ch/4)),
           (int)(x0-r*Math.sin(ch/2+de)),
           (int)(x0+r*Math.sin(ch/2-de)),
          };
  int y[]={(int)(y0-r*Math.cos(de)),
           (int)(y0-r*Math.cos(ch-de)),
           (int)(y0+r*Math.sin(de-ch/4)),
           (int)(y0+r*Math.cos(ch/2+de)),
           (int)(y0+r*Math.cos(ch/2-de)),
           }

以上是可能用到的核心代码。

    double de = atan((b2-a2)/(b1-a1));
    double ch = 144*pi/180;

    double de = atan((b2-a2)/(b1-a1));
    double ch = 72*pi/180;
  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值