⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 circle.cpp

📁 这个是计算机图形学的课程设计的全部 内容。
💻 CPP
字号:
// 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 ptx,pty;
  ptx =0;pty =r;int p=1-r;
  CirclePlotPoint(pDC,ptCenterx,ptCentery,ptx,pty,color);
  while(ptx <pty)
  {ptx ++;
  if(p<0) p+=2*ptx +1;else{pty--;
  p+=2*(ptx -pty)+1;
  }
CirclePlotPoint(pDC,ptCenterx,ptCentery,ptx,pty,color);
  }
}

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

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, ptCenterx,ptCentery,r,m_color);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -