




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Cohen-Sutherland裁减算法#define LEFT 1#define RIGHT 2#define BOTTOM 4#define TOP 8int encode(float x,float y) int c=0; if(xXR) c|=RIGHT; if(xYB) c|=BOTTOM; if(xYT) c|=TOP; retrun c;void CS_LineClip(x1,y1,x2,y2,XL,XR,YB,YT)float x1,y1,x2,y2,XL,XR,YB,YT;/(x1,y1)(x2,y2)为线段的端点坐标,其他四个参数定义窗口的边界 int code1,code
2、2,code; code1=encode(x1,y1); code2=encode(x2,y2); while(code1!=0 |code2!=0) /都为0,在窗口内,则取,直接绘制此直线. if(code1&code2 !=0) return; /与运算不为0,在窗口外,则弃, 不需处理 code = code1; if(code1=0) code = code2; /选择窗口外的端点 if(LEFT&code !=0) /该位编码不为0,与对应窗口边界求交 x=XL; y=y1+(y2-y1)*(XL-x1)/(x2-x1); else if(RIGHT&code !=0) x=XR;
3、 y=y1+(y2-y1)*(XR-x1)/(x2-x1); else if(BOTTOM&code !=0) y=YB;x=x1+(x2-x1)*(YB-y1)/(y2-y1);else if(TOP & code !=0) y=YT; x=x1+(x2-x1)*(YT-y1)/(y2-y1); if(code =code1) /用交点替换窗口外的端点,继续处理余下的线段. x1=x;y1=y; code1 =encode(x,y);else x2=x;y2=y; code2 =encode(x,y); displayline(x1,y1,x2,y2);动画演示:Cohen-Sutherla
4、nd直线段裁剪算法动画演示:Cohen-Sutherland算法和中点分割算法的比较Liang - Barskey算法void LB_LineClip(x1,y1,x2,y2,XL,XR,YB,YT)float x1,y1,x2,y2,XL,XR,YB,YT; float dx,dy,u1,u2; ul=0; u2=1; dx =x2-x1; dy =y2-y1; if(ClipT(-dx,x1-Xl,&u1,&u2) if(ClipT(dx,XR-x1, &u1,&u2) if(ClipT(-dy,y1-YB, &u1,&u2) if(ClipT(dy,YT-y1, &u1,&u2) displayline(x1+u1*dx,y1+u1*dy, x1+u2*dx,y1+u2*dy) return; bool ClipT(p,q,u1,u2)float p,q,*u1,*u2; float r; if(p*u2)return FALSE; else if(r*u1) *u1=r; return TRUE; else if(p0) r=q/p; if(r*u1) return FALSE;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 ISO 622:2025 EN Coal and coke - Determination of phosphorus - Reduced molybdophosphate photometric method
- 【正版授权】 ISO 23308-6:2025 EN Energy efficiency of industrial trucks - Test methods - Part 6: Container straddle carrier
- 2020-2025年中级银行从业资格之中级银行业法律法规与综合能力通关考试题库带答案解析
- 【无锡】2025年无锡市卫生健康委直属事业单位公开招聘专技人才50人笔试历年典型考题及考点剖析附带答案详解
- 定量分析方法简介58课件
- 2025年个人理财规划初级考试试卷:金融创新与理财产品市场趋势含答案
- 小学生笑话课件
- 2025年初中科学课程标准考试测试卷及参考答案(共三套)
- 人口隔离宾馆管理办法
- 临沧坚果种植管理办法
- 物业品质提升方案
- 2024年个人信用报告(个人简版)样本(带水印-可编辑)
- 2024急性脑梗死溶栓规范诊治指南(附缺血性脑卒中急诊急救专家共识总结归纳表格)
- (高清版)JTG 2112-2021 城镇化地区公路工程技术标准
- 16J914-1 公用建筑卫生间
- 试验检测单位安全培训课件
- 小学生防性侵安全知识讲座
- 《软件项目质量管理》课件
- GB/T 3211-2023金属铬
- 芯烨xp q200驱动及使用说明机功能设置
- 华为公司渠道政策
评论
0/150
提交评论