正在加载图片...
★★中点画线扫描转换算法的实现如下 #include <stdio. h> #include <graphics. h #include <conio. h> #include <math h> int xl, xO, yl, yo Int x, y, a, b, d deltal, delta2 driverDEtect corsarO initgraph(&driver, &gmode, c: I\tc"); printf("input xO, xl,yO, y1: \n"); scanf("%d, %d, %d, %d", &xo, &yo, &xl, &y 1); printf("%d %d%d%dInn,x0, yo, xl, y1); b=x1-xO delta1=2*a delta2=2*(a+b) 0 putpixel(,,YELLOW) printf("%d %d %odIn", x, y, d); if(d<o) d+=delta2 d+=deltal putpixel(x, y, YELLOW) printf("%d %d %d\n", x,y, d); ★★扫描转换的结果如下: 0★★中点画线扫描转换算法的实现如下: #include <stdio.h> #include <graphics.h> #include <conio.h> #include <math.h> main() { int gdriver,gmode; int x1,x0,y1,y0; int x,y,a,b,d,delta1,delta2; gdriver=DETECT; clrscr(); initgraph(&gdriver,&gmode,"c:\\tc"); printf("input x0,x1,y0,y1:\n"); scanf("%d,%d,%d,%d",&x0,&y0,&x1,&y1); printf("%d %d %d %d\n\n",x0,y0,x1,y1); a=y0-y1; b=x1-x0; d=2*a+b; delta1=2*a; delta2=2*(a+b); x=x0; y=y0; putpixel(x,y,YELLOW); printf("%d %d %d\n",x,y,d); while(x<x1) { if(d<0) {x++;y++; d+=delta2; } else {x++; d+=delta1; } putpixel(x,y,YELLOW); printf("%d %d %d\n",x,y,d); } } ★★扫描转换的结果如下: x y d 0 0 2 1 0 -6 2 1 6 3 1 -2
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有