蚂蚁文库
换一换
首页 蚂蚁文库 > 资源分类 > DOCX文档下载
 

在Opengl应用框架下实现C-S裁剪算法

  • 资源ID:52709461       资源大小:164.35KB        全文页数:6页
  • 资源格式: DOCX        下载权限:游客/注册会员    下载费用:15积分 【人民币15元】
快捷注册下载 游客一键下载
会员登录下载
三方登录下载: 微信快捷登录 QQ登录  
下载资源需要15积分 【人民币15元】
邮箱/手机:
温馨提示:
支付成功后,系统会自动生成账号(用户名和密码都是您填写的邮箱或者手机号),方便下次登录下载和查询订单;
支付方式: 微信支付    支付宝   
验证码:   换一换

 
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,既可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

在Opengl应用框架下实现C-S裁剪算法

计算机图形学上机试验报告 姓名 学号 20147770228 试验 题目 Cohen-Sutherland裁剪算法 实 验 设 计 (必做)在Opengl应用框架下实现C-S裁剪算法。 完成一个四边形对两条线段的裁剪 四边形的左上角和右下角顶点分别为(100,100),(300,200), 线段1的两个端点为(150,50),250,150; 线段2的两个端点为(180,50),(180,380)。 关 键 代 码 include GL/glut.h // OPenGL好用工具库 const int XL100; const int XR300; const int YB100; const int YT200; int x1150,y150,x2250,y2150; define LIFT 1 define RIGHT 2 define BOTTOM 4 define TOP 8 char encodefloat x,float y { char c0; ifxXL c|LIFT; ifxXR c|RIGHT; ifyYB c|BOTTOM; ifyYT c|TOP; return c; } void CSLineClipint x1,int y1,int x2,int y2,int XL,int XR,int YB,int YT { char code1encodex1,y1; char code2encodex2,y2; int x,y; char code 3; while code1||code2 { ifcode1 0 { codecode1; }else { codecode2; } ifcode LIFT 0 { xXL; float kfloaty2-y1/x2-x1; yintk*XL-x1y10.5; } else ifcode RIGHT 0 { xXR; float kfloaty2-y1/x2-x1; yintk*XR-x1y10.5; } else ifcode BOTTOM 0 { yYB; float kfloatx2-x1/y2-y1; xintk*y-y1x10.5; } else ifcode TOP 0 { yYT; float kfloatx2-x1/y2-y1; xintk*y-y1x10.5; } ifcodecode1 { x1x; y1y; code1encodex,y; } else ifcodecode2 { x2x; y2y; code2encodex,y; } } } void initvoid { glClearColor1.0, 1.0, 1.0, 0.0; // 设置背景颜色 glMatrixModeGL_PROJECTION; // 设置投影参数 gluOrtho2D0.0, 600.0, 0.0, 400.0; // 设置场景的大小 } void drawvoid { glClearGL_COLOR_BUFFER_BIT; glColor3f1.0, 0.0, 0.0; // 设置画图颜色 glBeginGL_LINE_LOOP; glVertex2iXL, YB; // 绘制几何图形 glVertex2iXR, YB; glVertex2iXR, YT; glVertex2iXL, YT; glEnd ; glBeginGL_LINES; glVertex2ix1, y1; // 绘制几何图形 glVertex2ix2, y2; glEnd ; CSLineClipx1,y1,x2,y2,XL,XR,YB,YT; glColor3f1.0, 0.0, 0.0; glLineWidth3.0; glBeginGL_LINES; glVertex2ix1, y1; // 绘制几何图形 glVertex2ix2, y2; glEnd ; gl ; // 处理绘图pipeLine } void mainint argc, char** argv { glutInitargc, argv; // 初始化GLUT环境 glutInitDisplayModeGLUT_SINGLE | GLUT_RGB; // GLUT显示模式单缓冲区、RGB颜色模型 glutInitWindowPosition50, 100; // 窗口左上角的位置 glutInitWindowSize600, 450; // 显示窗口的大小 glutCreateWindowAn Example of OpenGL; // 创建显示窗口,加上标题 init ; glutDisplayFuncdraw; // 调用绘图函数 glutMainLoop ; // 进入事务处理循环 } 运 行 截 图 注表格高度可依据内容自己调整。

注意事项

本文(在Opengl应用框架下实现C-S裁剪算法)为本站会员(18244465852)主动上传,蚂蚁文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蚂蚁文库(发送邮件至2303240369@qq.com或直接QQ联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们


网站客服QQ:2303240369

copyright@ 2017-2027 mayiwenku.com 

网站版权所有  智慧蚂蚁网络

经营许可证号:ICP备2024020385号



收起
展开