• 大小: 74KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: C/C++
  • 标签:

资源简介

其中还包括圆的参数式算法和圆的隐式方程算法,但是都是1/8圆。你们可以自行尝试修改成整圆。 可运行。环境是vc++6.0 。请看txt必读。谢谢

资源截图

代码片段和文件信息

#include 
#include   
#include 
#include 
/*
void CirclePoints(int xCenterint yCenterint xint yint RGB_value)
{
putpixel(x+xCentery+yCenterRGB_value);
putpixel(y+xCenterx+yCenterRGB_value);
putpixel(y+xCenter-x+yCenterRGB_value);
putpixel(x+xCenter-y+yCenterRGB_value);
putpixel(-x+xCenter-y+yCenterRGB_value);
putpixel(-y+xCenter-x+yCenterRGB_value);
putpixel(-y+xCenterx+yCenterRGB_value);
putpixel(-x+xCentery+yCenterRGB_value);
}
*/
//八分之一圆
void CirclePoints(int xCenterint yCenterint xint yint RGB_value)
{
putpixel(x+xCentery+yCenterRGB_value);
}

//圆的隐式方程算法
void SipmeCicle(int Rint RGB_value)
{
int xy;
for(x=0;x<=R;x++)
{
y=int(sqrt(R*R-x*x)+0.5);
putpixel(xyRGB_value);
}
}


//圆的参数式算法
void ParameterCicle(int R int RGB_value)
{
int xy;
for(double t=0;t<=PI/2;t+=0.05)
{
x=int(R*cos(t)+0.5);
y=int(R*sin(t)+0.5);
putpixel(xyRGB_value);
}

}

//Bresenham画圆算法
void BresenhamCicle(int xCenterint yCenterint radiusint RGB_value)
{
int x=0;
int y=radius;
int d=3-2*radius;
while(x<=y)
{
CirclePoints(xCenteryCenterxyRGB_value);
if(d<=0)
{
d+=4*x+6;
}
else
{
d+=4*(x-y)+10;
y=y-1;
}
x=x+1;
}
}

//中点圆整数优化算法
void MidPointCircleInt(int xCenterint yCenterint radiusint RGB_value)
{
int x=0;
int y=radius;
int d=1-radius;
int dt=3;
int db=-2*radius+5;

while(y>x)
{
CirclePoints(xCenteryCenterxyRGB_value);
if(d<0)
{
d+=dt;
dt+=2;
db+=2;
}
else
{
d+=db;
dt+=2;
db+=4;
y--;
}
x++;
}
}

void main()
{
    initgraph(640 480);    

// setwindow(240 240 640 480 1);

// SipmeCicle(100WHITE);
// ParameterCicle(100WHITE);

    //(240240)为圆心,80为半径
// BresenhamCicle(24024080WHITE);

//(240240)为圆心,50为半径
MidPointCircleInt(24024050YELLOW);

    getch(); 
    closegraph();   
}

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

     文件        281  2009-11-02 07:06  必读.txt

     文件      75226  2009-10-29 21:48  VCBGI-20090909.zip

     文件       2038  2009-11-01 13:28  Circular.cpp

----------- ---------  ---------- -----  ----

                77545                    3


评论

共有 条评论

相关资源