- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《计算机图形学》课程设计报告点阵字符
课程设计报告
课程设计题目:交互实现点阵字符生成及旋转
专 业: 计算机科学与技术
班 级: 1120702
姓 名: 邱望
学 号: 201120070218
指导教师: 桂颖,陆玲
2014年 06月 05日
目录
摘要 3
一、 课程设计目的 3
二、 课程设计描述及要求 3
三、 系统开发环境 3
四、 需求分析 4
五、 总体设计 4
六、 详细设计 4
七、 设计结果 11
八、 总结 13
九、 参考资料 13
摘要
本文主要描述了计算机图形学中,运用C++和MFC来实现的建立单文档以及对话框,实现交互生成和旋转点阵字符的功能。其中简单的用LButtonDown,LButtonUp等函数实现了用鼠标控制其位置和拖动鼠标实现任意角度旋转,点阵字符则是通过pDC_SetPixel()打点的方式绘制。
关键字:点阵字符,鼠标控制,旋转
课程设计目的
熟练掌握VC++的开发环境,会运用MFC建立工程,并运用其中的各种工具实现一些图形处理的功能。
掌握点阵字符的原理。
掌握图形旋转的原理。
会运用鼠标实现交互。
课程设计描述及要求
实现交互生成点阵字符,使其能够在任意位置显示。
实现交互旋转点阵字符,使其能够随着鼠标拖动进行旋转。
系统开发环境
开发工具:Microsoft?Visual?C++?6.0?
开发平台:?MFC平台?
操作系统:Microsoft?Windows7
编程语系:C语言语系
需求分析
该软件需要建立单文档,在其菜单栏添加生成字符和旋转字符的按钮,设计对话框,分别实现交互生成点阵字符和交互旋转点阵字符。
总体设计
运用MFC设计对话框,为其添加各种控件并建立类向导。点阵字符则是在一个32*32的区域能通过pDC-SetPixel(int x,int y,RGB())函数打点显示。交互则是使用添加LButtonDown()和LButtonUp()鼠标控制函数进行坐标的变换来实现。另外添加编辑框获取鼠标当前位置,并显示出其x、y的坐标。
详细设计
单文档设计
(1) 进入Visual C++ 6.0 集成开发环境后,选择“文件|新建”菜单,弹出“新建”对话框。单击“ 工程” 标签, 打开其选项卡, 在其左边的列表框中选择MFCAppWizard(EXE)工程类型,在“工程名称”文本框输入工程名,在“位置”中选择工程路径(如选择“C:”),则在“C:”下建立一个新的以工程名命名的目录。如果是第一
个工程文件,则必须创建一个新的工作区,选择“创建新的工作空间”,在“平台”编辑框中选择“Win32”,如图1所示
图1 新建工程对话框
(2) 单击“确定”按钮后,显示“MFC 应用程序向导-步骤1”对话框,选择“单文档”选项,如图2所示。
图2 “MFC 应用程序向导-步骤1”对话框
单击“完成”按钮,系统弹出如图 所示“新建工程信息”对话框。
单击“确定”按钮后,就完成了应用程序的自动生成,在指定的目录下生成了应用程序框架所必需的全部文件,并且可以直接运行,如图3所示。
图 3 应用程序界面
选择“组建|执行”,运行结果如图 4。
图 4 程序运行界面
点阵字符生成设计
(1)设计生成字符对话框,在其面板上添加按钮,编辑框等控件,如图5所示。
图5 生成字符对话框
(2)建立类向导,添加LButtonDown()函数,用x0、y0存储鼠标获取的位置。其代码如下:
void CCreat::OnLButtonDown(UINT nFlags, CPoint point)
{
Invalidate();
CDialog::OnLButtonDown(nFlags, point);
x0=point.x;
y0=point.y;
m_xx=x0;
UpdateData(false);
m_yy=y0;
UpdateData(false);
}
(3)显示x、y坐标的编辑框分别为Edit1和Edit2,其成员变量分别为m_xx和m_yy。其代码如下:
void CCreat::OnChangeEdit1()
{
UpdateData(false
您可能关注的文档
最近下载
- 国家职业技术技能标准 4-10-01-03 保育师 人社厅发[2021]92号.docx
- 教师电子教案申请书模板.docx VIP
- 个人信用报告征信简版电子版PDF版2024年2月最新版带水印可编辑.pdf VIP
- 2025至2030中国电力生产行业市场发展分析及发展潜力与投资报告.docx
- 人教版(2024年新版)七年级上册数学全册教学设计.docx
- 高分子材料概述课件幻灯片课件.ppt VIP
- 财务报表基础知培训.ppt VIP
- 部编版小学四年级上册全册心理健康教育教案.docx VIP
- 《给水排水管道工程施工及验收规程》GB50268-2023.docx VIP
- 安全隐患排查治理台帐.doc VIP
文档评论(0)