资源描述:
《计算机图形学实验报告,二维变换》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划计算机图形学实验报告,二维变换 实验一Window图形编程基础 一、实验类型:验证型实验 二、实验目的 1、熟练使用实验主要开发平台; 2、掌握如何在编译平台下编辑、编译、连接和运行一个简单的Windows图形应用程序; 3、掌握Window图形编程的基本方法; 4、学会使用基本绘图函数和WindowGDI对象;三、实验内容 创建基于MFC的SingleDocument应用程序,程序可以实现以下要
2、求:1、用户可以通过菜单选择绘图颜色; 2、用户点击菜单选择绘图形状时,能在视图中绘制指定形状的图形;四、实验要求与指导 1、建立名为“颜色”的菜单,该菜单下有四个菜单项:红、绿、蓝、黄。用户通过点击不同的菜单项,可以选择不同的颜色进行绘图。 2、建立名为“绘图”的菜单,该菜单下有三个菜单项:直线、曲线、矩形其中“曲线”项有级联菜单,包括:圆、椭圆。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项
3、目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 3、用户通过点击“绘图”中不同的菜单项,弹出对话框,让用户输入绘图位置,在指定位置进行绘图。五、实验结果: 六、实验主要代码 1、画直线:CClientDC*m_pDC;再在OnDraw函数里给变量初始化m_pDC=newCClientDC(this);在OnDraw函数中添加:m_pDC=newCClientDC(this);m_pDC->MoveTo(10,10);m_pDC->LineTo(100,100);m_pDC->SetPixel(1
4、00,200,RGB(0,0,0));m_pDC->TextOut(100,100); 2、画圆: voidCMyCG::LineDDA2(intxa,intya,intxb,intyb,CDC*pDC){intdx=xb-xa;intdy=yb-ya;intSteps,k;floatxIncrement,yIncrement;floatx=xa,y=ya;if(abs(dx)>abs(dy))Steps=abs(dx);elseSteps=abs(dy);xIncrement=dx/(float)Steps;yInc
5、rement=dy/(float)Steps;pDC->SetPixel(ROUND(x),ROUND(y),RGB(0,0,0));for(k=0;kSetPixel(ROUND(x),ROUND(y),RGB(0,0,0)); 3、画矩形 voidCRectangleDlg::OnLButtonDown(UINTnFlags,CPointpoint){ lButtonDownNotUp=TRUE;RECTrect;目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并
6、确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 m_showRectangle.GetClientRect(&rect); if((point.xrect.left)&&(point.yrect.top)){ regionLeftTopTemp=point;} CDialog::OnLButtonDown(nFlags,point);} voidCRectangleDlg::OnMouseMove(UINTnFlags,C
7、Pointpoint){ RECTrect; m_showRectangle.GetClientRect(&rect); if(()&&()){ if((lButtonDownNotUp==TRUE){ regionRightBottomTemp=point; CDC*pDC=m_showRectangle.GetWindowDC(); pDC->Rectangle(CRect(regionLeftTopTemp,regionRightBottomTemp));}} CDialog::OnMouseMove
8、(nFlags,point);} voidCRectangleDlg::OnLButtonUp(UINTnFlags,CPointpoint){ lButtonDownNotUp=FALSE; CDialog::OnLButtonUp(nFlags,point);目的-通过该培训员工可对保安行业有