绘画中的点线面,编程实现中点画线法的直线的绘制和Bresenham算法的直线绘制
答案:1 悬赏:50 手机版
解决时间 2021-08-21 20:23
- 提问者网友:最爱你的唇
- 2021-08-21 01:49
绘画中的点线面,编程实现中点画线法的直线的绘制和Bresenham算法的直线绘制
最佳答案
- 五星知识达人网友:风格不统一
- 2021-08-21 02:15
中点画线法
void MidPoint_Line(x0, y0, x1, y1, color) i
nt x0, y0, x1, y1, color;
{ int a, b, delta1, delta2, d, x, y;
a=y0-y1; b=x1-x0;
d=2*a+b; delta1=2*a; delta2=2*(a+b);
x=x0; y=y0;putpixel(x, y, color);
while(x0)return 1;
if(x==0)return 0;
if(xdx)
{
temp=dx;
dx=dy;
dy=temp;
interchange=1;
}
else interchange=0;
e=2*dy-dx;
for(i=1;i0)
{
if(interchange==1) x=x+s1;
else y=y+s2;
e=e-2*dx;
}
if(interchange) y=y+s2;
else x=x+s1;
e=e+2*dy;
}
}
void MidPoint_Line(x0, y0, x1, y1, color) i
nt x0, y0, x1, y1, color;
{ int a, b, delta1, delta2, d, x, y;
a=y0-y1; b=x1-x0;
d=2*a+b; delta1=2*a; delta2=2*(a+b);
x=x0; y=y0;putpixel(x, y, color);
while(x0)return 1;
if(x==0)return 0;
if(xdx)
{
temp=dx;
dx=dy;
dy=temp;
interchange=1;
}
else interchange=0;
e=2*dy-dx;
for(i=1;i0)
{
if(interchange==1) x=x+s1;
else y=y+s2;
e=e-2*dx;
}
if(interchange) y=y+s2;
else x=x+s1;
e=e+2*dy;
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯