欢迎来到天天文库
浏览记录
ID:59493096
大小:855.50 KB
页数:12页
时间:2020-11-03
《计算机地图制图原理与方法实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《计算机地图制图原理与方法》实验报告姓名:xxx班级:测绘10-3班学号:xxx实验一、地图的扫描矢量化一、实验目的深入理解栅格图形和矢量图形之间的根本区别和各自的优缺点;了解扫描矢量化的的基本原理和过程;学会使用南方cass软件对图像进行纠正并在cass上(或者切换到AUTO-CAD上)进行扫描矢量化。二、实验内容利用所学的知识对老师给的图像(3001-3010、3102-3108.tif)在南方cass上进行图像纠正和扫描矢量化。三、实验步骤1.打开cass软件,利用:工具
2、光栅图像
3、插入图像,导入要进行操作的图像。2.找出图像的比例尺,换
4、算到实地坐标。利用:工具
5、光栅图像
6、图像纠正,在图像上选取特征点并输入换算后的实地坐标进行图像纠正。3.直接在cass软件下(也可以右键
7、选项
8、配置,切换到AUTO-CAD)下,分别新建房屋、道路、河流、田地、注记等图层在各自的图层下进行扫描矢量化绘图。1.检查、核对、修改,保存矢量化成果。结果保存为:王东明.dwg一、实验成果矢量化前后的图像比较(上图为矢量化前,下为矢量化后)二、实验体会通通过本次试验,我学会了如何运用cass软件,虽然在试验中遇到了很多问题,但都通过老师和同学的帮助一一解决。实验二、高级语言图形编程一、实验目的学会使用学过
9、的高级语言(C++)进行简单的图形编程;进一步熟悉VisualC++的开发环境,知道选中菜单里的选项和鼠标的单击、移动产生的消息与程序和窗口之间是怎样通信的;掌握简单的图行生成的原理。二、实验内容利用VisualC++的开发环境进行简单的图形编程,实现能简单的绘制矩形、椭圆、直线、随意曲线等功能。三、实验步骤1.建立基于MFC的单文档程序,工程名为huitu;2.在单文档中的视图View类添加成员变量CPointm_point1;CPointm_point2;boolm_Rectangle;boolm_Ellipse;boolm_Line;bo
10、olm_Xian;boolm_Duan;目的是对各种不同绘图程序的分离操作。3.切换到资源视图,打开Meau,新建“绘图”菜单,并在“绘图”菜单下建立5个下拉菜单修改其Caption并给其ID赋于有意义的名字分别为:任意曲线(ID_MEAUITEMQU)、线段(ID_MEAUITEMDUAN)、矩形(ID_MEAUITEMJU)、椭圆(ID_MEAUITEMTUO)、辐射发散线(ID_MEAUITEMXIAN)。4.建立消息处理函数OnMeauitemXXXX()系列的绘图函数、OnUpdateMeauitemXXXX()系列函数标记是否被选中
11、、添加消息WM_LBUTTONDOWN,WM_LBUTTONUP,WM_MUOSEMOVE消息和相应的消息相应函数OnLButtonDown(),OnLButtonup(),OnMouseMove()并添加相应的代码各种函数的具体代码如下:voidCHuituView::OnLButtonDown(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandlercodehereand/orcalldefaultif(m_Rectangle
12、
13、m_Ellipse){m_point1=point;m_poin
14、t2=point;SetCapture();}if(m_Line){m_point1=point;}if(m_Xian){m_point1=point;m_point2=point;SetCapture();}if(m_Duan){m_point1=point;m_point2=point;SetCapture();}CView::OnLButtonDown(nFlags,point);}voidCHuituView::OnLButtonUp(UINTnFlags,CPointpoint){//TODO:Addyourmessagehandle
15、rcodehereand/orcalldefaultCClientDCdc(this);if(m_Rectangle&&(GetCapture()==this)){ReleaseCapture();CGdiObject*pOldObject=dc.SelectStockObject(NULL_BRUSH);dc.Rectangle(m_point1.x,m_point1.y,point.x,point.y);dc.SelectObject(pOldObject);}if(m_Ellipse&&(GetCapture()==this)){Rele
16、aseCapture();CGdiObject*pOldObject=dc.SelectStockObject(NULL_BRUSH);dc.Elli
此文档下载收益归作者所有