作业帮 > 综合 > 作业

用把一个半径为R的圆40等份,以每个等分点为圆心,以r为半径画圆.

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/07/13 22:16:53
用把一个半径为R的圆40等份,以每个等分点为圆心,以r为半径画圆.
把一个半径为R的圆40等份,以每个等分点为圆心,以r为半径画圆.

试编程绘制图2-36所示的变化的环.程序用的是vc6.0
用把一个半径为R的圆40等份,以每个等分点为圆心,以r为半径画圆.
void CMy2013_3_21_02View::OnDraw(CDC* pDC)
  {
  CMy2013_3_21_02Doc* pDoc = GetDocument();
  ASSERT_VALID(pDoc);
  // TODO:add draw code for native data here
  int R1=120,r1=80;
  int R2=80,r2=80;
  int R3=80,r3=120;//定义大小圆的半径
  double x,y;
  CRect Rect;
  GetClientRect(&Rect);
  int MaxX=Rect.Width();
  int MaxY=Rect.Height();//计算屏幕客户区高度和宽度
  pDC->TextOut(0,0,"大圆半径 > 小圆半径");
  pDC->TextOut(2*MaxX/5,0,"大圆半径 = 小圆半径");
  pDC->TextOut(2*MaxX/3,0,"大圆半径 < 小圆半径");
  CBrush NewBrush,*pOldBrush;
  pOldBrush=(CBrush*)pDC->SelectStockObject(NULL_BRUSH);//使用透明画刷绘制空心圆
  for(double i=0;iEllipse(ROUND(x-r1),ROUND(y-r1),ROUND(x r1),ROUND(y r1));
  }//用椭圆函数绘制圆
  for(double j=0;jEllipse(ROUND(x-r2),ROUND(y-r2),ROUND(x r2),ROUND(y r2));
  }//用椭圆函数绘制圆
  for(double k=0;kEllipse(ROUND(x-r3),ROUND(y-r3),ROUND(x r3),ROUND(y r3));
  }//用椭圆函数绘制圆
  }