画五角星

原创:

 #include "math.h"

double pi = 3.1415926535;
 void CVectorView::OnDraw(CDC* pDC)
{
 CVectorDoc* pDoc = GetDocument();
 ASSERT_VALID(pDoc);
 if (!pDoc)
  return;

   double percentY,percentX1,percentX2;
   percentY=(1-sin(0.1*pi))/(1+sin(0.3*pi));
   percentX1=0.5-1 / (4 * cos(0.2 * pi));
   percentX2=0.5+1 / (4 * cos(0.2 * pi));

   CPoint point[5];
   CPoint m_ptBegin,m_ptEnd;
   m_ptBegin=CPoint(100,100);
   m_ptEnd=CPoint(400,400);

   point[0].x=(m_ptEnd.x - m_ptBegin.x)/2.0 + m_ptBegin.x;
   point[0].y=m_ptBegin.y;

   point[1].x=m_ptBegin.x;
   point[1].y=(m_ptEnd.y - m_ptBegin.y) * percentY + m_ptBegin.y;
 
   point[4].x=m_ptEnd.x;
   point[4].y=(m_ptEnd.y - m_ptBegin.y) * percentY + m_ptBegin.y;

   point[2].x=(m_ptEnd.x - m_ptBegin.x) * percentX1 + m_ptBegin.x;
   point[2].y=m_ptEnd.y;

   point[3].x=(m_ptEnd.x - m_ptBegin.x) * percentX2 + m_ptBegin.x;
   point[3].y=m_ptEnd.y;
/*
   for(int i=0;i<5;i++)
   { 
    pDC->MoveTo(point[i]);
    pDC->LineTo(point[(i+2)%5]);
   }
*/
   pDC->MoveTo(point[0]);
   for(int i=0;i<5;i++)
   {
    pDC->LineTo(point[i]);
   }
   pDC->LineTo(point[0]);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值