




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、计算机图形学课程设计项目题目:圆内动态颜色填充专业:计算机科学与技术学 号: 112054141姓 名: 汪智指导教师:李丽亚2014年6月目录一、 项目概述 二、项目需求 三、项目设计 四、项目效果 五、算法改进 六、项目总结一、项目概述填充算法用于内部定义区域,以改变整个区域的颜色属性,它把区域内的原像 素点值改变成另一种像素点值。算法中,读出像素点(x; y)像素点值。此算法所采用的基本方法是首先确定 (x; y)点的像素点是否在区域内尚未被 访问过的那一部分之中,也就是说,如果这个像素点的值是原始值old-value ,则需要把它改为填充的值 new-value ,然后按区域性质先后访
2、问其相邻的像素 点,当访问其中每一个近邻像素点时,都要进行递归调用。填充算法,其基本思想是:从图形的一个内点开始,由内向外用给定的颜色画 点直到边界为止。如果边界是以一种颜色指定的,则种子填充算法可逐个像素地 处理直到遇到边界颜色为止。从区域内任意一点出发,通过各方向到达区域内的任意像素。二、项目需求计算机图形学:(Computer Graphics,简称CG)是一种使用数学算法将二维或 三维图形转化为计算机显示器的栅格形式的科学。计算机图形学的主要研究内容就是研究如何在汁算机中表示图形、以及利用计算机进行图形的计算、处理和显示的相关原理与算法。图形通常由点、线、面、 体等几何元素和灰度、色彩
3、、线型、线宽等非几何属性组成。从处理技术上来看, 图形主要分为两类,一类是基于线条信息表示的。如工程图、等高线地图、曲面 的线框图等,另一类是明暗图,也就是通常所说的真实感图形。计算机图形学一个主要目的就是要利用计算机产生令人赏心悦目的真实感图形。 为此,必须建立图形所描述场景的几何表示,再用某种光照模型,计算在假想的光源、纹理、材质属性下的光照明效果。同时,真实感图形计算的结果是以数字 图像的方式提供的,计算机图形学也就和图像处理有着密切的关系。计算机图形学的研究内容非常广泛,如图形硬件、图形标准、图形交互技术、光 栅图形生成算法、曲线曲面造型、实体造型、真实感图形计算与显示算法、非真 实感
4、绘制,以及科学计算可视化、计算机动画、自然景物仿真、虚拟现实等。三、项目设计首先,创建Test MFCT程,在工程中的Testview找到OnDraw开始画图。用 函数日lipse先作一个大圆,使圆大概在对话框的中央。然后再创建一个画笔和 画刷,画笔使圆边界加粗加色,画刷使边界内填充颜色。接着用相同的方法再画 四个同心圆,使每个圆的边界颜色不同,边界内填充的颜色也不同,这样就使的 后画的圆覆盖了前面一个圆圆内的填充颜色,以达到不同颜色圆的效果。其次, 用for(int i=0;i100;i+) 语句设置圆渐变特效,用“ Sleep(300):设置圆变 色的快慢。最后,添加上自己想要添加上的文本
5、的内容,比如“ happy everyday -、” (made by WZ)。用 “ pDC-SetTextC010r(RGB(124,252, 0); 课随意设置文本的颜色。可以把“ happy everyday !”放在for(int i=0;i:Have run /Have run /三占西 石m;Hjn。 f S f五、算法改进/ ProjectView.cpp : implementation of the CProjectView class / #include stdafx.h#include Project.h #include ProjectDoc.h#include P
6、rojectView.h #ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE口 = _FILE#endif / CProjectViewIMPLEMENT_DYNCREATE(CProjectView, CView)BEGIN_MESSAGE_MAP(CProjectView, CView) /AFX_MSG_MAP(CProjectView)/ NOTE - the ClassWizard will add and remove mapping macros here./ DO NOT EDIT wh
7、at you see in these blocks of generated code! /AFX_MSG_MAP/ Standard printing commandsON_COMMAND(ID_FILE_PRINT, CView:OnFilePrint) ON_COMMAND(ID_FILE_PRINT_DIRECT, CView:OnFilePrint) ON_COMMAND(ID_FILE_PRINT_PREVIEW, CView二OnFilePrintPreview)END_MESSAGE_MAP()/ CProjectView construction/destructionCP
8、rojectView:CProjectView()/ TODO: add construction code hereCProjectView:CProjectView()BOOL CProjectView二PreCreateWindow(CREATESTRUCT& cs) / TODO: Modify the Window class or styles here by modifying/ the CREATESTRUCT csreturn CView二PreCreateWindow(cs);/ CProjectView drawingvoid CProjectView:OnDraw(CD
9、C* pDC) CProjectDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);/ TODO: add draw code for native data here for(int i=0;iSelectObject(&newBrush1);pDC-SelectObject(&newpen);pDC-Ellipse(450+i,45+i,850-i,445-i);画圆CPen newpen2;newpen2.CreatePen(PS_SOLID,25,RGB(0,0,200);CBrush newBrush2;newBrush2.CreateSolid
10、Brush(RGB(100,200,00);pDC-SelectObject(&newBrush2);pDC-SelectObject(&newpen2);pDC-Ellipse(500+i,95+i,800-i,395-i);CPen newpen3;newpen3.CreatePen(PS_SOLID,25,RGB(200,500,100);CBrush newBrush3;newBrush3.CreateSolidBrush(RGB(150,100,50);pDC-SelectObject(&newBrush3);pDC-SelectObject(&newpen3);pDC-Ellips
11、e(550+i,145+i,750-i,345-i);CPen newpen4;newpen4.CreatePen(PS_SOLID,25,RGB(200,50,100);CBrush newBrush4;newBrush4.CreateSolidBrush(RGB(0125,05,50);pDC-SelectObject(&newBrush4);pDC-SelectObject(&newpen4);pDC-Ellipse(600+2*i,195+2*i,700-2*i,295-2*i);CPen newpen5;newpen5.CreatePen(PS_SOLID,25,RGB(200,50
12、0,100);CBrush newBrush5;newBrush5.CreateSolidBrush(RGB(255,0,00);pDC-SelectObject(&newBrush5);pDC-SelectObject(&newpen5);pDC-Ellipse(600+i,195+i,700-i,295-i);CFont newfont,*poldfont;newfont.CreateFont(80,50,0,0,FW_THIN,true,false,false,CHINESEBIG5_CHARSET,OUT_CHARACTER_PRECIS,CLIP_CHARACTER_PRECIS,D
13、EFAULT_QUALITY ,FF_MODERN,宋体);/修改文本字体大小poldfont=pDC-SelectObject(&newfont);pDC-SetTextColor(RGB(255,200, 0);/设置文本颜色pDC-TextOut(400-i,480,Have Fun !);/文本坐标及内容CBrush newBrush;newBrush.CreateSolidBrush(RGB(0,0,0);pDC-SelectObject(&newBrush);pDC-Ellipse(630,225,670,265);for(int j=0;jSelectObject(&newfon
14、t);/设置文本大小pDC-SetTextC010r(RGB(124,252, 0);/设置文本颜色pDC-TextOut(300,700-j,(made by WZ);)/ CProjectView printingBOOL CProjectView:OnPreparePrinting(CPrintInfo* pInfo)(/ default preparationreturn DoPreparePrinting(pInfo);)void CProjectView二OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)(/ TODO: add
15、 extra initialization before printing)void CProjectView:OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)(/ TODO: add cleanup after printing)/ CProjectView diagnostics#ifdef _DEBUGvoid CProjectView:AssertValid() const(CView:AssertValid();)void CProjectView:Dump(CDumpContext& dc) const(CView:Dump(dc
16、);)CProjectDoc* CProjectView:GetDocument() / non-debug version is inline (ASSERT(m_pDocument-IsKindOf(RUNTIME_CLASS(CProjectDoc);return (CProjectDoc*)m_pDocument;)#endif/_DEBUG/ CProjectView message handlers六、项目总结由于属于初学MFC且时间有限,所以对于设计难免也诸多的不足,很多东西 都要马上学习查资料并进行初步调试即拿出来使用。而制作出的前台功能单一结构简单是一大缺憾,没有时间进行精加
17、工与进一步的调试补全源程序的不足之处 使之更加完善。不过通过这次的课程设计,使我们的自学能力与动手实践能力得到相当大的提 高,编程并不是靠看书本就能学会的,而是要靠一步步的调试一条条指令的修改 试运行中学习进步的,盲目的看书并不能提高自己水平。从这次的课程设计我们知道了自己的不足,学习的知识不够充分,对于现有资源材料的利用学习率太。附录:1梁俊杰,冯玉才.LBD:基于局部位码比较的高维空间 KNN搜索 算法J.计算机科学.2007(06)2沈永增,叶鸿敏,张敏捷.基于高维空间几何分析理论的图像增强 实现J.计算机仿真.2007(06) 3李静,王文成,吴恩华.基于凸剖分 的多边形窗口线裁剪算法J.计算机辅助设计与图形学学报. 2007(04)4敖雁,徐辰武.贝叶斯回归分析方法及其在 QTL作图中的应用J. 扬州大学学报.2005(02) 5刘勇,徐从富,陈卫东,潘云鹤.带圆弧简 单多边形的面积公式获取算法 J.计算机辅助设计与图形学学报 .2005(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC TR 63309:2025 EN Active fibres – Characteristics and measurement methods – Guidance
- 2025至2030中国电镀表配件行业深度研究及发展前景投资评估分析
- 2025至2030中国电子商务食品行业深度研究及发展前景投资评估分析
- 2025至2030中国电动尾门行业产业运行态势及投资规划深度研究报告
- 2025至2030中国玛瑙饰品行业市场占有率及投资前景评估规划报告
- 技术培训推动教师职业发展的重要动力
- 幼儿园营养性疾病知识培训
- 智慧教育大数据驱动的教学效率变革
- 探索不同国家在线教育平台的创新实践
- 教育中的心理学技巧激发学生潜能的实践
- 【MOOC】教育研究方法-浙江大学 中国大学慕课MOOC答案
- 《回归分析》课件
- 心脏手术围手术期
- 餐车经营食品安全应急预案
- DB43T 876.11-2017 高标准农田建设 第11部分:耕地地力评定技术规范
- 2024新版(外研版三起孙有中)三年级英语上册单词带音标
- 2024至2030年中国汉白玉石雕数据监测研究报告
- 三年级下册混合计算题100道及答案
- DB12T 998-2020 殡葬服务机构消毒卫生规范
- 广东省广州市五校2023-2024学年高一下学期期末联考化学试卷
- 2024年天津高考数学真题试题(原卷版+含解析)
评论
0/150
提交评论