计算机图形学专业课程设计作品.doc
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《计算机图形学专业课程设计作品.doc》由会员分享,可在线阅读,更多相关《计算机图形学专业课程设计作品.doc(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机图形学Visual c+版考试作业报告题目: 计算机图形学图形画板 专业: 推荐IT学长淘宝日用品店530213 班级: 推荐IT学长淘宝日用品店530213 学号: 推荐IT学长淘宝日用品店530213 姓名: 推荐IT学长淘宝日用品店530213 指引教师: 推荐IT学长淘宝日用品店530213 完毕日期: 12月2日一、课程设计目本课程设计目的就是要达到理论与实际应用相结合,提高学生设计图形及编写大型程序能力,并培养基本、良好计算机图形学技能。设计中规定综合运用所学知识,上机解决某些与实际应用结合紧密、规模较大问题,通过度析、设计、编码、调试等各环节训练,使学生深刻理解、牢固掌握计
2、算机图形学基本知识和算法设计基本技能术,掌握分析、解决实际问题能力。通过这次设计,规定在加深对课程基本内容理解。同步,在程序设计办法以及上机操作等基本技能和科学作风方面受到比较系统和严格训练。二、设计内容推荐IT学长淘宝日用品店530213设计一种图形画板,在这个图形画板中要实现:1, 画线功能,并且画线要具备反走样功能。2,运用上面画线功能实现画矩形,椭圆,多边形,并且可以对这些图形进行填充。3,可以对选中区域图形放大,缩小,平移,旋转等功能。三、 设计过程程序预解决:涉及头文献加载,常量定义以及全局变量定义#include stdafx.h#include GraDesign.h#incl
3、ude GraDesignDoc.h#include GraDesignView.h#include math.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/*自定义全局变量int type = -1;CPoint point1;CPoint point2;CPoint temp2;CPoint remember;int i = 0;/推荐IT学长淘宝日用品店530213/ CGraDesignViewIMPLEMENT_DYNCREATE(CGraDesignV
4、iew,CView)BEGIN_MESSAGE_MAP(CGraDesignView,CView)/AFX_MSG_MAP(CGraDesignView)ON_WM_LBUTTONDOWN()ON_WM_LBUTTONUP()ON_COMMAND(line,Online)ON_COMMAND(rectangle,Onrectangle)ON_COMMAND(ellipse,Onellipse)ON_COMMAND(polygon,Onpolygon)ON_COMMAND(fill,Onfill)ON_WM_RBUTTONDOWN()ON_COMMAND(tobig,Ontobig)/AFX_M
5、SG_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()/推荐IT学长淘宝日用品店530213/ CGraDesignView construction/destructionCGraDesignView:CGraDesignView()/ TODO:
6、add construction code hereCGraDesignView:CGraDesignView()BOOL CGraDesignView:PreCreateWindow(CREATESTRUCT& cs)/ TODO:Modify the Window class or styles here by modifying/ the CREATESTRUCT csreturn CView:PreCreateWindow(cs);/ CGraDesignView drawingvoid CGraDesignView:OnDraw(CDC* pDC)CGraDesignDoc* pDo
7、c = GetDocument();ASSERT_VALID(pDoc);/ TODO:add draw code for native data here/ CGraDesignView printingBOOL CGraDesignView:OnPreparePrinting(CPrintInfo* pInfo)/ default preparationreturn DoPreparePrinting(pInfo);void CGraDesignView:OnBeginPrinting(CDC* /*pDC*/,CPrintInfo* /*pInfo*/)/ TODO:add extra
8、initialization before printingvoid CGraDesignView:OnEndPrinting(CDC* /*pDC*/,CPrintInfo* /*pInfo*/)/ TODO:add cleanup after printing/ CGraDesignView diagnostics#ifdef _DEBUGvoid CGraDesignView:AssertValid() constCView:AssertValid();void CGraDesignView:Dump(CDumpContext& dc) constCView:Dump(dc);CGraD
9、esignDoc* CGraDesignView:GetDocument() / non-debug version is inlineASSERT(m_pDocument-IsKindOf(RUNTIME_CLASS(CGraDesignDoc);return (CGraDesignDoc*)m_pDocument;#endif /_DEBUG推荐IT学长淘宝日用品店530213画直线:RunLine函数绘制任意斜率直线,并且添加反走样算法,通过OnLButtonDown,OnLButtonUp函数记录鼠标点击位置/*画线函数*void CGraDesignView:RunLine(CPoi
10、nt CP0,CPoint CP1)CDC *pDC=GetDC();CPoint p,t;int x,y;double e,k,e1;x=CP1.x-CP0.x;/斜率无穷if(x=0)if(CP0.yCP1.y)t=CP0;CP0=CP1;CP1=t;p=CP0;while(p.ySetPixelV(p,RGB(0,0,0);p.y+;elsey=CP1.y-CP0.y;k=double(y)/double(x);/斜率0至1if(k=0 & kCP1.x)t=CP0;CP0=CP1;CP1=t;p=CP0;x=CP1.x-CP0.x;y=CP1.y-CP0.y;/画反走样k=double
11、(CP0.y-CP1.y)/(CP0.x-CP1.x);e=k;while(p.xSetPixelV(p.x,p.y,RGB(e*255,e*255,e*255);pDC-SetPixelV(p.x,p.y+1,RGB(e1*255,e1*255,e1*255);p.x+;e=e+k;if(e=1)e-;p.y+;/斜率不不大于1if(k=1)if(CP0.y=CP1.y)t=CP0;CP0=CP1;CP1=t;p=CP0;x=CP1.x-CP0.x;y=CP1.y-CP0.y;k=double(CP0.y-CP1.y)/(CP0.x-CP1.x);e=1/k;while(p.xSetPixe
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 图形学 专业课程 设计 作品
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内