计算机图形学中画直线用C实现
#include<stdio.h>voidSetPixel(intx,inty,intcolor);voidCirclePoints(intx,inty,intcolor...
#include<stdio.h>
void SetPixel(int x,int y,int color);
void CirclePoints(int x,int y,int color)
{
SetPixel(x,y,color);SetPixel(y,x,color);
SetPixel(-x,y,color);SetPixel(y,-x,color);
SetPixel(x,-y,color);SetPixel(-y,x,color);
SetPixel(-x,-y,color);SetPixel(-y,-x,color);
}
void MidPointCircle(int r,int color)
{
int x,y;
int e;
x=0;y=r;e=1-r;
CirclePoints(x,y,color);
while(x<=y)
{
if(e<0)
e+=2*(x-y)+3;
else
{
e+=2*(x-y)+5;
y--;
}
x++;
CirclePoints(x,y,color);
}
}
void main()
{
MidPointCircle(5,3);
}这是画圆的一个C语言算法,但是本人学得不好,不知道怎么自己编写画点的程序,即:void SetPixel(int x,int y,int color);所以请教高人帮我完成它,能够在VC上运行,程序要自己编算法,不能用C中函数来画。 展开
void SetPixel(int x,int y,int color);
void CirclePoints(int x,int y,int color)
{
SetPixel(x,y,color);SetPixel(y,x,color);
SetPixel(-x,y,color);SetPixel(y,-x,color);
SetPixel(x,-y,color);SetPixel(-y,x,color);
SetPixel(-x,-y,color);SetPixel(-y,-x,color);
}
void MidPointCircle(int r,int color)
{
int x,y;
int e;
x=0;y=r;e=1-r;
CirclePoints(x,y,color);
while(x<=y)
{
if(e<0)
e+=2*(x-y)+3;
else
{
e+=2*(x-y)+5;
y--;
}
x++;
CirclePoints(x,y,color);
}
}
void main()
{
MidPointCircle(5,3);
}这是画圆的一个C语言算法,但是本人学得不好,不知道怎么自己编写画点的程序,即:void SetPixel(int x,int y,int color);所以请教高人帮我完成它,能够在VC上运行,程序要自己编算法,不能用C中函数来画。 展开
1个回答
2013-05-27
展开全部
哥,你太神奇,这上没这样的人才吧。 而且我是学建筑的。百度QQ没那么高的层次。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询