本文主要是介绍计算机图形学cpoint类,计算机图形学实习报告,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
计算机图形学实习报告
实 习 报 告实习名称: 计算机图形学实习 班 级: 09031 班 学 号: 2009302590223 姓 名: 吴煜晖 实习地点: 附三 201 机房 实习指导教师: 付仲良 实习时间:2011 年 6 月 27 日至 7 月 10 日遥感信息工程学院一、实习目的与意义本次实习为集中实习,基于 AutoCAD2004 平台与 VC 环境系统,制作二维和三维立体产品。通过对 AutoCAD2004 与 VC 系统的应用实习,熟悉其的基本功能及操作特点,掌握基本的制作过程。这次集中实习,学生应能熟练使用 AutoCAD 软件来绘制二维和三维图形。从基础的实体绘图命令操作,编辑命令操作,图层、颜色、线型、特性修改、特性匹配、图案填充操作,尺寸标注操作,块操作入手,逐渐掌握复杂的二维及三维图形的绘制方式,加深了我们对计算机图形学这门学科的理解和对计算机制图的感性理解。建立初步面向对象编程的基本概念、以及学会使用 VC 编程语言,使得我们对于课堂上学到的算法,除了有理性的认识之外,还有实际的编程操作认识,并掌握计算机图形学算法的实现算法。二、实习主要内容2.1 AutoCAD 软件操作1. 简单图形绘制2. 图形的基本编辑3. 文字及填充4. 三维图形绘制2.2 基于 VC6.0 下的计算机图形学程序编写1. 画直线、画多边形、画圆、画字符2.对多边形进行填充3.图形裁剪4.图形的几何变换5.三维图形的消隐及着色三、实习的主要过程 3.1、AutoCad 绘图实习实习的第一周主要为 AutoCad 软件绘图实习。前两天我们主要是对 AutoCad 进行初步了解,第三四天我在学会了绘制一些复杂的二维图形,并在模仿指导书的过程中有有了一些自己的思路,而在第五六天我学会绘制并标注一些简单的三维图形,第七天进行了考核,在整个实习过程中我学会了:(1)启动 AutoCAD2000 软件;(2)基本绘图环境设置;(3)设置图层、颜色、线型及线型比例;(4)分别用下列绘图命令绘制各个实体:POINT(点)、LINE(线) 、CIRCLE(圆) 、ARC(圆弧) 、DONUT(圆环) 、RECTANGLE(矩形) 、POLYLINE(多段线) 、ELLIPSE(椭圆)、POLYGON(多边形)、MLINE﹑TRACE(跟踪)﹑SOLIDE(填充)、XLINE﹑RAY;(5)利用编辑命令绘制实体:MOVE( 移 动 ) 、 COPY( 复 制 ) 、 MIRROR( 镜 像 ) 、 ARRAY( 排 列 ) 、BREAK( 打 断 ) 、 TRIM( 剪 切 ) 、 EXTEND( 延 伸 ) 、 ROTATE( 旋 转 ) 、OFFSET( 补 偿 ) 、 FILLET( 切 片 ) 、 CHAMFER( 倒 角 ) ;( 6) 擦除命令(ERASE)操作;(7)重画命令(REDRAW)操作;(8)图案填充(BHATCH)操作;(9)用BLOCK命令生成块操作;(10)尺寸标注操作;利用注记工具栏上可进行尺寸注记的工作。单击需要使用的注记按钮,便可简单的对想要标注的图形进行标注。注记可单独使用一个图层来设置其线型、颜色等,也可在“注记样式”中选择所需的注记样式;(11)3D-FACE 三维图形操作在绘制三维图形时,为建立起 3D 立体效果,需要在基本绘图完毕后对图形的每个面进行 3D-FACE 建面操作。使图形在旋转的时候面与面之间能够形成正确的遮挡关系,命令为 3dface,依次点击需要建立的面上的每一个端点,最后将端点闭合,点击 Enter 键,即可进行一个面的建立。3.2 计算机图形学 VC++编程实习而实习的第二周我们以 VC++编程实习为主:实习的内容及任务在上文已说,主要实习步骤如下:(1)建立工程;(2)在 Doc 类及 View 类中声明变量用于存储信息:Doc 类中有 CPoint 数组,用于绘制图形,而在 View 类中有部分变量来辅助绘图。本人为了实现图形重绘,新建了一个 CGraph 类,并在其中存放有已绘图形的信息,而在 View 类中声明了一个 CPtrArray 动态数组来存储 CGraph 类,并在重绘时利用该动态数组在 OnDraw 函数中完成功能;(3)添加绘制基本图形的相关对话框和函数等:我们分别建立菜单项、建立相关对话框、编写图形绘制函数,其中图形绘制函数包括直线、圆、多边形、字符等,最后编写菜单的消息响应函数。(4)编写鼠标消息处理函数:利用 MenuID 及 mPress 两个变量分别添加左键按下、右键按下以及鼠标移动消息处理函数;(5)添加几何变换及三维图形消隐菜单及实现函数:我的几何变换可以做到先绘制圆、直线等基本图形,并分别利用对话框和鼠标将其进行几何变换,连填充的颜色皆可进行变换;(6)添加填充菜单及实现函数我的填充以种子填充为主,通过一个非模态对话框分别选择填充颜色,并利用鼠标单击点取边界颜色,且使用的填充算法与指导书上并不相同,速率较快。(7)添加裁剪的菜单相关函数等首先进行多边形剪裁,其为指定一个矩形裁剪区域,来来剪裁一个多边形,方法与指导书上相同。随后我进行了对任意图形的矩形区域剪裁,其实质为对非剪裁区域进行白色填充。 (进行此操作前提是实现了重绘)(8)添加光照模型菜单及相关函数添加 CObject3D、CReality 的类及类中的处理函数。添加LightParam、Param、Point3D、TriSurface 结构体分别代表光源参数、景物光照参数、三维空间点、三角面,最后在 View 类中添加 Lambert、Phong 以及改进版 Phong 光照模型。(9)添加三维模型的菜单相关函数等;(10)添加工具栏按钮(11)在完成了主要的操作后,我对整个程序添加了重绘功能,其实质上是利用一个 CGraph 类来存储绘图信息,在 View 类中设立动态数组来保存信息,在OnDraw 函数中视线重绘。四、实习的主要体会通 过 本 次 为 期 两 星 期 的 计 算 机 图 形 学 实 习 , 我 有 诸 多 体 会 , 下 面 就说 说 我 自 己 的 体 会 吧 。4.1 AutoCad 绘图实习第 一 , AUTOCAD有 很 强 大 的 工 具 栏 , 但 是 记 住 每 个 COMMAND则 更 为 有用 , 因 为 每 个 命 令 均 有 一 堆 参 数 做 为 限 制 。第 二 , 某 些 编 辑 命 令 的 使 用 能 够 大 大 加 速 我 们 的 制 图 速 度 。 例 如COPY、 MIRROR、 ARRAY、 OFFSET、 BLOCK等 , 对 于 对 称 或 是 单 个 要 素 重复 出 现 的 图 形 , 熟 练 准 确 的 运 用 能 使 我 们 画 图 时 事 半 功 倍 。第 三 , 绘 制 三 维 图 形 时 可 开 取 过 个 不 同 视 角 的 窗 口 来 辅 助 制 图 。 在使 用 3D-FACE命 令 时 选 点 要 精 确 。 在 我 自 己 的 使 用 过 程 中 就 多 次 因 为 图形 太 过 复 杂 而 使 选
这篇关于计算机图形学cpoint类,计算机图形学实习报告的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!