中点算法生成直线.txt
来自「计算机图形学课程设计,简单图形生成演示.希望对别人有用」· 文本 代码 · 共 103 行
TXT
103 行
void MidPointLine(int x1,int y1,int x2,int y2,int color)
{
float x,y,dx,dy;
float k,d;
float IncrE,IncrNE;
dx=x2-x1;
dy=y2-y1;
k=dy/dx;
if(k>=-1 && k<=1)
{
d=dx-2*dy;
IncrE=-2*dy;
IncrNE=2*(dx-dy);
x=x1;y=y1;
putpixel(x,y,color);
while(x<x2)
{
if(d>0)
d+=IncrE;
else
{
d+=IncrNE;
y++;
}
x++;
putpixel((int)x,(int)y,color);
}
}
else
{
d=dy-2*dx;
IncrE=-2*dx;
IncrNE=2*(dy-dx);
x=x1;y=y1;
putpixel(x,y,color);
while(y<y2)
{
if(d>0)
d+=IncrE;
else
{
d+=IncrNE;
x++;
}
y++;
putpixel((int)x,(int)y,color);
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?