• 大小: 2.89MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-03
  • 语言: 其他
  • 标签: 变换  缩放  旋转  

资源简介

本系统需要实现以下内容: 1、给出系统框架。 2、调用画点的函数,分别用DDA、中点Bresenham算法和改进Bresenham算法绘制直线和中点算法绘制直线、用不同的算法绘制圆和椭圆 ,并各自比较算法精度与效率的差别 。 3、实现二维图形的变换。(包括平移,放缩,旋转,错切以及复合变换) 4、运用所学的区域填充算法实现区域填充。 5、运用所学算法实现线段裁剪以及多边形裁剪(多边形裁剪为可选)。 6、自己实现其它附加以及需要完善的功能。

资源截图

代码片段和文件信息

// Circle.cpp: implementation of the CCircle class.
//
//////////////////////////////////////////////////////////////////////

#include “stdafx.h“
#include “Graph.h“
#include “Circle.h“
#include “math.h“
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CCircle::CCircle()
{

}

CCircle::~CCircle()
{

}

void CCircle::CircleMidPoint(CDC *pDC int ptCenterx int ptCentery int r COLORREF color)
{
int ptxpty;
  ptx =0;pty =r;int p=1-r;
  CirclePlotPoint(pDCptCenterxptCenteryptxptycolor);
  while(ptx   {ptx ++;
  if(p<0) p+=2*ptx +1;else{pty--;
  p+=2*(ptx -pty)+1;
  }
CirclePlotPoint(pDCptCenterxptCenteryptxptycolor);
  }
}

void CCircle::CirclePlotPoint(CDC *pDC int ptCenterx int ptCentery int ptx int pty COLORREF color)
{
pDC->SetPixel(ptCenterx+ptxptCentery+ptycolor);
pDC->SetPixel(ptCenterx-ptxptCentery+ptycolor);
pDC->SetPixel(ptCenterx+ptxptCentery-ptycolor);
pDC->SetPixel(ptCenterx-ptxptCentery-ptycolor);
pDC->SetPixel(ptCenterx+ptyptCentery+ptxcolor);
pDC->SetPixel(ptCenterx-ptyptCentery+ptxcolor);
pDC->SetPixel(ptCenterx+ptyptCentery-ptxcolor);
pDC->SetPixel(ptCenterx-ptyptCentery-ptxcolor);
}

void CCircle::draw(CDC *pDC)
{
int ptCenterx=(m_ptBegin.x+m_ptEnd.x)/2;
int ptCentery=(m_ptBegin.y+m_ptEnd.y)/2;
int t1=(m_ptBegin.x-m_ptEnd.x)*(m_ptBegin.x-m_ptEnd.x);
int t2=(m_ptBegin.y-m_ptEnd.y)*(m_ptBegin.y-m_ptEnd.y);
int r=(int)sqrt(t1+t2);
CircleMidPoint(pDC ptCenterxptCenteryrm_color);
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1750  2003-11-01 22:36  0432\0432\Circle.cpp

     文件        742  2003-11-01 22:36  0432\0432\Circle.h

     文件       7036  2010-06-16 10:30  0432\0432\Debug\Circle.obj

     文件       6903  2010-06-16 10:30  0432\0432\Debug\Circle.sbr

     文件       8347  2010-06-16 10:30  0432\0432\Debug\Element.obj

     文件       3115  2010-06-16 10:30  0432\0432\Debug\Element.sbr

     文件       7741  2010-06-16 10:30  0432\0432\Debug\Ellipse.obj

     文件       3793  2010-06-16 10:30  0432\0432\Debug\Ellipse.sbr

     文件     143410  2010-06-16 10:30  0432\0432\Debug\Graph.exe

     文件     355464  2010-06-16 10:30  0432\0432\Debug\Graph.ilk

     文件      22626  2010-06-16 10:30  0432\0432\Debug\Graph.obj

     文件    6871972  2010-06-16 10:30  0432\0432\Debug\Graph.pch

     文件     377856  2010-06-16 10:30  0432\0432\Debug\Graph.pdb

     文件      11732  2010-06-16 10:30  0432\0432\Debug\Graph.res

     文件      12202  2010-06-16 10:30  0432\0432\Debug\Graph.sbr

     文件      14330  2010-06-16 10:30  0432\0432\Debug\GraphDoc.obj

     文件       3460  2010-06-16 10:30  0432\0432\Debug\GraphDoc.sbr

     文件      51987  2010-06-16 10:30  0432\0432\Debug\GraphView.obj

     文件      19801  2010-06-16 10:30  0432\0432\Debug\GraphView.sbr

     文件       5826  2010-06-16 10:30  0432\0432\Debug\Line.obj

     文件       3022  2010-06-16 10:30  0432\0432\Debug\Line.sbr

     文件      19579  2010-06-16 10:30  0432\0432\Debug\MainFrm.obj

     文件       4025  2010-06-16 10:30  0432\0432\Debug\MainFrm.sbr

     文件      10019  2010-06-16 10:30  0432\0432\Debug\RGBDialog.obj

     文件       2710  2010-06-16 10:30  0432\0432\Debug\RGBDialog.sbr

     文件       9947  2010-06-16 10:30  0432\0432\Debug\RGBFill.obj

     文件       2665  2010-06-16 10:30  0432\0432\Debug\RGBFill.sbr

     文件      10029  2010-06-16 10:30  0432\0432\Debug\Rotate.obj

     文件       2672  2010-06-16 10:30  0432\0432\Debug\Rotate.sbr

     文件      10057  2010-06-16 10:30  0432\0432\Debug\Scale.obj

............此处省略61个文件信息

评论

共有 条评论