收藏 分享(赏)

扫描线填充2.doc

上传人:kpmy5893 文档编号:7749569 上传时间:2019-05-25 格式:DOC 页数:8 大小:29.50KB
下载 相关 举报
扫描线填充2.doc_第1页
第1页 / 共8页
扫描线填充2.doc_第2页
第2页 / 共8页
扫描线填充2.doc_第3页
第3页 / 共8页
扫描线填充2.doc_第4页
第4页 / 共8页
扫描线填充2.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、 #include #include #include #define MAX_POINT 20typedef struct int y_top;float x_int;int delta_y;float x_cps;EACH_ENTRY;void put_in_sides_list(int entry,int x1,int y1,int x2,int y2,int next_y);void sort_on_bigger_y(int n);void update_first_and_last(int count,int scan);void swap(EACH_ENTRY *x,EACH_EN

2、TRY *y);void sort_on_x(int entry,int first_s);void process_x_intersections(int first_s,int last_s);void draw_lines(int scan,int x_int_c,int index);void update_sides_list();EACH_ENTRY sidesMAX_POINT;int xMAX_POINT=0,210,240,230,350,380,340,200,180,150;int yMAX_POINT=0,410,370,200,410,340,140,180,120,

3、300;int s_count,first_s,last_s,scan,bottom_s,x_int_c;main()int driver,mode;int v_count=9;driver=DETECT;initgraph(setcolor(3);fill_area(v_count,x,y);getch();closegraph();fill_area(int count)sort_on_bigger_y(count);first_s=1;last_s=1;for(scan=sides1.y_top;scanbottom_s;scan-)update_first_and_last(count

4、,scan);process_x_intersections(first_s,last_s);draw_lines(scan,x_int_c,first_s);update_sides_list();void put_in_sides_list(int entry,int x1,int y1,int x2,int y2,int next_y)int maxy;float x2_temp,xch_temp;xch_temp=(float)(x2-x1)/(float)(y2-y1);x2_temp=x2;if(y2y1)x2_temp+=xch_temp;maxy=(y1y2)?y1:y2;wh

5、ile(entry1)entry-;sidesentry.y_top=maxy;sidesentry.delta_y=abs(y2-y1)+1;if(y1y2)sidesentry.x_int=x1;elsesidesentry.x_int=x2_temp;sidesentry.x_cps=xch_temp;void sort_on_bigger_y(int n)int k,x1,y1;s_count=0;y1=yn;x1=xn;bottom_s=yn;for(k=1;kscan)x-y_top=y-y_top;y-y_top=i_temp;f_temp=x-x_int;x-x_int=y-x

6、_int;y-x_int=f_temp;i_temp=x-delta_y;x-delta_y=y-delta_y;y-delta_y=i_temp;f_temp=x-x_cps;x-x_cps=y-x_cps;y-x_cps=f_temp;void sort_on_x(int entry,int first_s)while(entryfirst_s)sort_on_x(k,first_s);void draw_lines(int scan,int x_int_c,int index)int k,x,x1,x2;for(k=1;k0)sidesk.delta_y-;sidesk.x_int-=sidesk.x_cps;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报