高分!!!急~~~一道计算机图形学算法的问题。。
发布网友
发布时间:2022-04-28 19:39
我来回答
共3个回答
热心网友
时间:2022-06-22 23:06
#include <conio.h>
#include <stdio.h>
#include <graphics.h>
void MidBresenhamLine(int x0,int y0,int x1,int y1,int color);
int main(void)
{
int GraphDriver;
int GraphMode;
GraphDriver = DETECT;
initgraph(&GraphDriver, &GraphMode, "");
MidBresenhamLine(10, 10, 300, 300, 12);
getch();
closegraph();
return 0;
}
void MidBresenhamLine(int x0,int y0,int x1,int y1,int color)
{
int dx,dy,d,UpIncre,DownIncre,x,y;
if(x0>x1)
{
x=x1;x1=x0;x0=x;
y=y1;y1=y0;y0=y;
}
x=x0;y=y0;
dx=x1-x0;
dy=y1-y0;
d=dx-2*dy;
UpIncre=2*dx-2*dy;
DownIncre=-2*dy;
while(x<=x1)
{
putpixel(x,y,color);
x++;
if(d<0)
{
y++;
d+=UpIncre;
}
else
d+=DownIncre;
}
}
热心网友
时间:2022-06-22 23:07
好像是图形的坐标没定义好
热心网友
时间:2022-06-22 23:07
这不是画任何直线的算法吗?添加什么函数?