版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
--本页仅作为文档封面,使用时请直接删除即可--
--内页可以根据需求调整合适字体及大小本页仅作为文档封面,使用时请直接删除即可--
--内页可以根据需求调整合适字体及大小--河南工业大学-图形学实验四(总9页)PAGE实验四:二维变换与裁剪算法的实现一、实验目的1、掌握平移变换、旋转变换和缩放变换方法;2、达到掌握二维图形基本几何变换及运用几何变换快速方便生成图形的目的;3、掌握图形裁剪算法。二、实验要求1.在MFC单文档应用程序中,添加奇次二维坐标点类CP2,如图所示,参考图部分代码,分别完成二维图形的平移、旋转和缩放。(注:变换参数可在程序内直接给出或用对话框等形式输入,简单二维图形经二维变换后可生成复杂图形。)图CP2类定义图部分二维变换参考代码2.利用Cohen-Sutherland端点编码算法编程实现任意线段的裁剪,要求自定义窗口区域和直线端点。(注:未被裁剪的线段及被裁剪的线段用不同的颜色显示出来。)三、实验内容二维图形的变换eq\o\ac(○,1)菜单栏的建立eq\o\ac(○,2)对话框的创建,创建对应的类为dialogeq\o\ac(○,3)为编辑框Edit添加成员变量:右键,建立类向导,选择MemberVariables,双击IDC_EDIT1(对应编辑框的ID),Membervariablename??m_x1Category?Value?Variabletype??OKeq\o\ac(○,4)新建两个类CCP2和TransForm,CCP2类用于将二维点坐标转换成齐次坐标,TransForm类是平移,旋转,缩放的具体实现。代码如下:.View类中复制的方法也不一样,第一种控件变量复制:x1=,第二种为成员变量:x1=。eq\o\ac(○,2)关于if()==IDOK){…},当()后,显示一个模态对话框,此时DoModal()函数并不返回,即并没有执行大括号内的内容,直到用户关闭此对话框时,DoModal才返回。如果用户点击了确定按钮,那么DoModal()函数就返回IDOK,此时进入if语句。IDOK是一个宏。当你CMyDlgdlg;时,对话框并没有显示,只是构造了一个CMyDlg类型的对象而已,直到用户调用DoModal(),对话框才会显示出来。而且有意思的是DoModal()只有两个定义好的返回值IDOK和IDCANCLE,其实对应的就是默认的确认和取消,其他返回值需要自定义。这使我在点击不同按钮实现不同功能时碰到了困难,因为只有两个两个返回值,而我需要实现四个功能,对此我的解决方案是这样的,最初,只用一个IDOK返回值,没实现一个功能就换代码截完图,写完实验报告蒙混过关。接着,既然只用一个的话,为什么不在一个if()==IDOK){}里把三个功能一起实现,在画布上把平移,旋转,缩放一同画出来。后来,好像全局变量可以解决这个问题诶,才有了之后的flag。这儿还有一个未解决的问题就是:不要if,直接()好像也能达到目的,区别在哪,尚未明了。eq\o\ac(○,3)Invalidate();把这句代码删除之后,就没法在画布上画画了,而且程序中断。多次试验个人总结出来的结果是:Invalidate()是强制系统进行重画。点击对话框上的按钮后,对话框关闭,返回IDOK,Invalidate()进行重画,调用…View中的OnDraw()函数。由于在对话框传值,画布上画画上花费了大量时间
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CQCAA 0015-2026山地城市轻型汽车实际行驶污染物排放测量方法
- T/TIC 069-2024含硫气田废水脱硫治理技术规范
- T/FYJKYJH 0003-20240岁~6岁儿童能力观察评估规范
- T/CI 1511-2026航空发动机用温度-振动-冲击复合传感器安装结构设计规范
- T/CAAMTB 226-2024智能网联汽车测试场地建设技术要求
- T/CPIA 0046-2022晶体硅光伏组件用定位胶带
- 2025~2026学年河南省周口市项城市西南大学版五年级上册11月期中素质测评数学试卷【附答案】
- 2025~2026学年安徽省阜阳市某校联考北师大版六年级上册12月月考数学试卷【附答案】
- 辽宁省大连市普兰店区2027届九上数学期末复习检测试题含解析
- PHP奇葩冷门面试题及超详细答案(真实面试坑题合集)
- 浙江天域名校协作体2027届高三上学期10月学科练习数学试卷(含答案)
- IEC 60601-1-2-2024 中文版(医用电气设备 第 1-2 部分:基本安全和基本性能的要求 并列标准:电磁兼容 要求和试验)
- 2026年国家能源集团笔试试题题库答案
- 浙江省高校招生职业技能考试技能操作合格标准(试行)
- 2026年永州职业技术学院高职单招职业技能考试题库完美版附答案详解
- 2026年医药代表合规推广行为准则与案例
- 《AI智能体搭建与应用(基于Coze)(慕课版)》 课件 项目1-4 AI 智能体概述-创作提效:内容生成智能体
- 2026年中耳炎(术后)出院耳部护理与防复发
- 2025年重庆市从“五方面人员”中选拔乡镇领导班子成员考试历年参考题库含答案详解
- 雨课堂学堂在线学堂云《临床心理学(山东第二医科)》单元测试考核答案
- GB/T 750-2024水泥压蒸安定性试验方法
评论
0/150
提交评论