中点分割裁剪算法.doc

中点分割裁剪算法.doc

ID:51663963

大小:32.00 KB

页数:4页

时间:2020-03-14

中点分割裁剪算法.doc_第1页
中点分割裁剪算法.doc_第2页
中点分割裁剪算法.doc_第3页
中点分割裁剪算法.doc_第4页
资源描述:

《中点分割裁剪算法.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、/*sutherland_cohen裁剪算法*/#defineLEFT1#defineRIGHT2#defineBOTTOM4#defineTOP8#defineXL150#defineXR350#defineYB150#defineYT300#include"math.h"#include"graphics.h"#include"conio.h"#include"stdio.h"voidinitialize(void){intgraphdriver;intgraphmode;interrorcode;graphdriver=DETECT;initgraph(&grap

2、hdriver,&graphmode,"d:\tc");errorcode=graphresult();if(errorcode!=0){printf("graphicssystemerreor:%s",grapherrormsg(errorcode));exit(1);}}main(){initialize();setcolor(12);line(XL,YT,XR,YT);line(XL,YB,XR,YB);line(XL,YT,XL,YB);line(XR,YT,XR,YB);setcolor(14);draw_ett();getch();closegraph()

3、;}encode(x,y,code)intx,y;int*code;{intc;c=0;if(x

4、LEFT;elseif(x>XR)c=c

5、RIGHT;if(y

6、BOTTOM;elseif(y>YT)c=c

7、TOP;*code=c;return;}draw_ett(){intx1,x2,y1,y2,x,y;intcode1,code2,code;x1=50;y1=250;x2=400;y2=300;setcolor(1);line(x1,y1,x2,y2);encode(x1,y1,&code1);encode(x2,y2,&code2);w

8、hile((code1!=0)

9、

10、(code2!=0)){if((code1&code2)!=0)return;code=code1;if(code1==0)code=code2;if((LEFT&code)!=0){x=XL;y=y1+(y2-y1)*(XL-x1)/(x2-x1);}elseif((RIGHT&code)!=0){x=XR;y=y1+(y2-y1)*(XR-x1)/(x2-x1);}elseif((BOTTOM&code)!=0){y=YB;x=x1+(x2-x1)*(YB-y1)/(y2-y1);}elseif((TOP&code)!=0){y=Y

11、T;x=x1+(x2-x1)*(YT-y1)/(y2-y1);}if(code==code1){x1=x;y1=y;encode(x,y,&code1);}else{x2=x;y2=y;encode(x,y,&code2);}}setcolor(14);line(x1,y1,x2,y2);return;}#defineLEFT1#defineRIGHT2#defineBOTTOM4#defineTOP8#defineXL150#defineXR350#defineYB150#defineYT300#include"math.h"#include"graphics.h"

12、#include"conio.h"#include"stdio.h"voidinitialize(void){intgraphdriver;intgraphmode;interrorcode;graphdriver=DETECT;initgraph(&graphdriver,&graphmode,"d:\tc");errorcode=graphresult();if(errorcode!=0){printf("graphicssystemerreor:%s",grapherrormsg(errorcode));exit(1);}}main(){intx1,y1,x2,

13、y2,xx,yy,xxx,yyy;initialize();scanf("%d,%d,%d,%d",&x1,&y1,&x2,&y2);cleardevice();xx=0;yy=0;xxx=0;yyy=0;setcolor(12);line(XL,YT,XR,YT);line(XL,YB,XR,YB);line(XL,YT,XL,YB);line(XR,YT,XR,YB);setcolor(14);draw_ett(x1,y1,x2,y2,&xx,&yy);draw_ett(x2,y2,xx,yy,&xxx,&yyy);line(xx,y

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。