- 博客(0)
- 资源 (9)
- 收藏
- 关注
DDA画直线源代码 C语言代码
DDA画直线源代码!适合画稍微平一点的直线,用X的变化来控制y。这样的话得到的y的点相对多。
#include<graphics.h>
void linedda(int x0,int y0,int x1,int y1,int color)
{
int x,dy,dx,y;
float m;
dx=x1-x0;
dy=y1-y0;
m=dy/dx;
y=y0;
for (x=x0;x<=x1;x++)
{
putpixel(x,(int)(y+0.5),color);
y+=m;
}
}
main()
{
int a,b,c,d,e;
int graphdriver=DETECT;
int graphmode=0;
initgraph(&graphdriver,&graphmode," ");
cleardevice();
a=0;
b=0;
c=200;
d=300;
e=2;
linedda(a,b,c,d,e);
getch();
closegraph();
}
##########################################################################
适合画稍微抖一点的直线,用y的变化来控制x。这样的话得到的X的点相对多。
#include<graphics.h>
void linedda(int x0,int y0,int x1,int y1,int color)
{
int x,dy,dx,y;
float m;
dx=x1-x0;
dy=y1-y0;
m=dy/dx;
x=x0;
for (y=y0;y<=y1;y++)
{
putpixel(y,(int)(x+0.5),color);
x+=1/m;
}
}
main()
{
int a,b,c,d,e;
int graphdriver=DETECT;
int graphmode=0;
initgraph(&graphdriver,&graphmode," ");
cleardevice();
a=0;
b=0;
c=100;
d=100;
e=2;
linedda(0,100,200,300,1);
linedda(0,0,200,300,e);
linedda(100,100,200,300,1);
getch();
closegraph();
}
2008-12-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人