




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《计算机图形学实验》报告任课教师:钱文华2016年春季学期实验:梁友栋裁剪实验时间:2016年11月17日实验地点:信息学院2204实验目的:掌握梁友栋裁剪程序代码:#include<stdio.h>#include<glut.h>#include<stdlib.h>#include<math.h>classwcPt2D{public:GLfloatx,y;voidsetCoords(GLfloatxCoord,GLfloatyCoord){x=xCoord;y=yCoord;}GLfloatgetx()const{returnx;}GLfloatgety()const{returny;}};inlineGLintround(constGLfloata){returnGLint(a+0.5);}voidsetPixel(intx,inty){glBegin(GL_POINTS);glVertex2i(x,y);glEnd();voidinit(){glClearColor(1.0,1.0,1.0,0.0);glMatrixMode(GL_PROJECTION);gluOrtho2D(-200.0,200.0,-200.0,200.0);}voidlineBres(GLfloatx0,GLfloaty0,GLfloatxEnd,GLfloatyEnd){intdx=fabs(xEnd-x0),dy=fabs(yEnd-y0);intp=2*dy-dx;inttwoDy=2*dy,twoDyMinusDx=2*(dy-dx);intx,y;if(x0>xEnd){x=xEnd;y=yEnd;xEnd=x0;}else{x=x0;y=y0;}setPixel(x,y);while(x<xEnd){x++;if(p<0)p+=twoDy;else{y++;p+=twoDyMinusDx;}setPixel(x,y);}}GLintclipTest(GLfloatp,GLfloatq,GLfloat*u1,GLfloat*u2){GLfloatr;GLintreturnValue=true;if(p<0.0){r=q/p;if(r>*u2)returnValue=false;elseif(r>*u1)*u1=r;}elseif(p>0.0){r=q/p;if(r<*u1)returnValue=false;elseif(r<*u2)*u2=r;}elseif(q<0.0)returnValue=false;return(returnValue);}voidlineClipLiangBarsk(wcPt2DwinMin,wcPt2DwinMax,wcPt2Dp1,wcPt2Dp2){GLfloatu1=0.0,u2=1.0,dx=p2.getx()-p1.getx(),dy;GLfloatx1=p1.getx(),y1=p1.gety();GLfloatx2=p2.getx(),y2=p2.gety();if(clipTest(-dx,p1.getx()-winMin.getx(),&u1,&u2))if(clipTest(dx,winMax.getx()-p1.getx(),&u1,&u2)){dy=p2.gety()-p1.gety();if(clipTest(-dy,p1.gety()-winMin.gety(),&u1,&u2)){if(clipTest(dy,winMax.gety()-p1.gety(),&u1,&u2)){if(u2<1.0){p2.setCoords(p1.getx()+u2*dx,p1.gety()+u2*dy);}if(u1>0.0){p1.setCoords(p1.getx()+u1*dx,p1.gety()+u1*dy);}glColor3f(0.0,0.0,0.0);lineBres(x1,y1,p1.getx(),p1.gety());lineBres(p2.getx(),p2.gety(),x2,y2);glColor3f(1.0,0.0,0.0);lineBres(p1.getx(),p1.gety(),p2.getx(),p2.gety());}}else{glColor3f(0.0,0.0,0.0);lineBres(x1,y1,x2,y2);}}}voiddisplayliangyoudongcaijian(){glClear(GL_COLOR_BUFFER_BIT);glLineWidth(5.0);glColor3f(0.0,0.0,0.0);glBegin(GL_LINE_LOOP);glVertex2i(100,100);glVertex2i(100,-100);glVertex2i(-100,-100);glVertex2i(-100,100);glEnd();glPointSize(4);wcPt2Dtest1[4]{{-100.0,-100.0},{100.0,100.0},{-150.0,-200.0},{200.0,120.0}};wcPt2Dtest2[4]{{-100.0,-100.0},{100.0,100.0},{-150.0,-120.0},{0.0,0.0}};wcPt2Dtest3[4]{{-100.0,-100.0},{100.0,100.0},{-50.0,50.0},{150.0,150.0}};wcPt2Dtest4[4]{{-100.0,-100.0},{100.0,100.0},{-50.0,0.0},{60.0,50.0}};wcPt2Dtest5[4]{{-100.0,-100.0},{100.0,100.0},{-170.0,-200.0},{200.0,-120.0}};lineClipLiangBarsk(test1[0],test1[1],test1[2],test1[3]);lineClipLiangBarsk(test2[0],test2[1],test2[2],test2[3]);lineClipLiangBarsk(test3[0],test3[1],test3[2],test3[3]);lineClipLiangBarsk(test4[0],test4[1],test4[2],test4[3]);lineClipLiangBarsk(test5[0],test5[1],test5[2],test5[3]);glFlush();}voidmain(intargc,char*argv[]){glutInit(&argc,argv);glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);glutInitWindowPosition(50,100);glutInitWindowSize(400,300);glutCreateWindow("梁友栋裁剪算法");init();glutDisplayFunc(displayliangyoudongcaijian);glutMainLoop();}学生端程序区口安全卫士都口软件管乐Phu+0shop复件计算机图形学实验报告1.docMicrosoftWord9...复件(2)计算机图形学实监报告1"叱MicrosoftWord9...复件C5)计算机图也学实脸报告1"叱MicrciEoftWord9...复件(4)计算机图形学实蛉报告1.dmMicroEoftWord9...实脸学生端程序区口安全卫士都口软件管乐Phu+0shop复件计算机图形学实验报告1.docMicrosoftWord9...复件(2)计算机图形学实监报告1"叱MicrosoftWord9...复件C5)计算机图也学实脸报告1"叱MicrciEoftWord9...复件(4)计算机图形学实蛉报告1.dmMicroEoftWord9...实脸15-0FEHGL画茶壶并旋转.d叱xMicroioftWord文档显示去面体蒋典20151060071.docMicrosoftWord9...我网几分法成国.九心二duCXMicrosoftlirLellDA.docxMicrosoftWord文电142KBa■我看实磬报告验剪cr点IEcr实裁ml中20M1中点届一doMicrosoft假期匚I甘日■类型:Mier口
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025成都租房合同简化版
- 2025私人借款担保协议合同
- 2025试用期劳动合同协议书
- 2025保险合同权益转让协议(转让)
- 2025养殖场租赁合同范本
- 2025混凝土浇筑工程合同
- 2025春季学期国家开放大学专科《高等数学基础》一平台在线形考(形考任务一至四)试题及答案
- 2025室内设计合作合同范本
- 2025二手车买卖合同二手车买卖合同范本
- 2025网络设备采购合同(标准范本)
- 2025年国家粮食和物资储备局垂直管理系事业单位招聘笔试参考题库附带答案详解
- 技能操作鉴定要素细目表(电工技师)
- 武广客运专线隧道防排水技术的突破QC成果
- 部编版五年级道德与法治下册第三单元《百年追梦复兴中华》教材分析单元分析
- 电子产品设计生产工艺流程
- 初级培训机器人的机械系统
- 制造工厂品质宣传海报标语
- 涉密文件接收登记表
- 高炉炼铁用设备材料词汇中英文翻译对照表
- 吸入装置正确使用方法调查表
- 《异位骨化》PPT课件.ppt
评论
0/150
提交评论