下载此文档

计算机图形学c实验指导五.doc


文档分类:IT计算机 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
计算机图形学c实验指导五.doc实验五课程名称:计算机图形学 实验名称:裁剪和曲线实验日期:XX—XX—XX班级:XXXXXX 姓名:XXXX学号XXXX 仪器编号:XX一、 实验目的和要求1、 掌握直线段的裁剪算法;2、 掌握Hermite|W线生成算法;二、 实验内容1、下面的程序段在windows控制台下实现按住鼠标右键绘制一个矩形,按住鼠标左键,绘制直线段,并利用Cohen-Sutherland算法实现肓线裁剪。要求理解掌握下面程序的执行过程。同时把该程序修改成MFC框架形式。#include<>#include<cmath>#include<vector>usingstd::vector;classPt2D{public:GLfloatx,y;Pt2D()(};Pt2D(GLfloatxx,GLfloatyy){X=XX;y=yy;vector<Pt2D>vector1;vector<Pt2D>vector2;intMIN=0;intMAX=600;Pt2DstartP;Pt2DpreP;Pt2DboxA;Pt2DboxB;Pt2Dtemp1;Pt2Dtemp2;boolbuttonFlag=true;〃以下是Cohen-Sutherland线段裁剪算法的实现constGLintwinLeftBitCode=0x1;constGLintwinRightBitCode=0x2;constGLintwinBottomBitCode=0x4;constGLintwinTopBitCodc=0x&//区域码inlineGLintround(constGLfloata){returnGLint(a+);}inlineGLintinside(GLintcode){returnGLint(!code);}inlineGLintreject(GLintcodel,GLintcode2){returnGLint(code1&codc2);}ept(GLintcodel,GLintcode2){returnGLint(!(codelIcode2));}〃codc(Pt2Dpt)〃获得外部码{ode=0x00;if(<)code=codeIwinLeftBitCode;if(>)code=codeIwinRightBitCode;if(<)code=codeIwinBottomBitCode;if(>)code=codeIwinTopBitCode;returncode;}template<classType>voidswap(Type*X,Type*Y)〃交换数值的模板函数Typetemp;temp=*X;*X=*Y;*Y=temp;voidlineClip(Pt2Dpl,PODp2)〃裁剪算法{GLubytecodel,code2;booldone=false,plotLine=false;GLfloatm;while(!done)codc(pl);code2=encode(p2);GLintqq=accept(code1,code2);if(accept(code1,code2)){done=true;plotLine=true;}elseif(reject(code1,code2))

计算机图形学c实验指导五 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人sssmppp
  • 文件大小51 KB
  • 时间2019-12-31
最近更新