计算机图形学-实验报告3-透视投影算法

计算机图形学-实验报告3-透视投影算法

实验报告实验地点软件实验室

计算机图形学实验报告

《计算机图形学》实验报告姓名:郭子玉 学号:2012211632 班级:计算机12-2班 实验地点:逸夫楼507 实验时间:15.04.10 15.04.17

实验一 1 实验目的和要求 理解直线生成的原理;掌握典型直线生成算法;掌握步处理、分析实验数据的能力; 编程实现DDA 算法、Bresenham 中点算法;对于给定起点和终点的直线,分别调用DDA 算法和Bresenham 中点算法进行批量绘制,并记录两种算法的绘制时间;利用excel 等数据分析软件,将试验结果编制成表格,并绘制折线图比较两种算法的性能。 2 实验环境和工具 开发环境:Visual C++ 6.0 实验平台:Experiment_Frame_One (自制平台) 3 实验结果 3.1 程序流程图 (1)DDA 算法 是 否 否 是 是 开始 计算k ,b K<=1 x=x+1;y=y+k; 绘点 x<=X1 y<=Y1 绘点 y=y+1;x=x+1/k; 结束

(2)Mid_Bresenham 算法 是 否 否 是 是 是 否 是 否 开始 计算dx,dy dx>dy D=dx-2*dy 绘点 D<0 y=y+1;D = D + 2*dx - 2*dy; x=x+1; D = D - 2*dy; x=x+1; x

3.2程序代码 //-------------------------算法实现------------------------------// //绘制像素的函数DrawPixel(x, y); (1)DDA算法 void CExperiment_Frame_OneView::DDA(int X0, int Y0, int X1, int Y1) { //----------请实现DDA算法------------// float k, b; float d; k = float(Y1 - Y0)/float(X1 - X0); b = float(X1*Y0 - X0*Y1)/float(X1 - X0); if(fabs(k)<= 1) { if(X0 > X1) { int temp = X0; X0 = X1; X1 = temp; }

算法设计与分析实验报告贪心算法

算法设计与分析实验报告 贪心算法 班级:2013156 学号:201315614 姓名:张春阳哈夫曼编码 代码 #include float small1,small2; int flag1,flag2,count; typedefstructHuffmanTree { float weight; intlchild,rchild,parent; }huffman; huffmanhuffmantree[100]; void CreatHuffmanTree(intn,int m) { inti; void select(); printf("请输入%d个节点的权值:",n); for(i=0;i

printf("\n"); for(i=0;i

《地图学》实验报告

《地图学》 实 验 报 告 院系: 班级: 姓名: 指导教师: 矿业工程学院·测绘工程教研室 实验一地图投影的认识及应用 一、实验目的 1.了解与掌握常用的地图投影; 2.掌握各类投影经纬线形状、变形规律及应用; 3.针对不同用途的地图投影进行比较分析; 4.熟悉GIS软件中地图投影的应用。 二、实验内容 1、地图投影的认识与判别; 2、熟悉GIS软件中地图投影功能,掌握地图投影定义及变换方法。 三、实验方法与步骤 1、定义投影:

2、地图投影转换:设置方格网;投影变换

四、实验成果 投影名称(中文) 投影名称(英 文) 标准 纬线 中央 经线 经纬网形状变形特点 双标准纬线等角圆锥投影(兰勃特投影) Lambert conformal conic projection 40oN 56oN 10oE 纬线就是以圆锥顶点 为圆心的同心圆弧,经 线为由圆锥顶点向外 放射直线束。 两条标准纬线 无变形,等变 形线与纬线平 行。 双标准纬线等角圆锥投影(兰勃特投影) Lambert conformal conic projection 24oN 46oN 110oE 纬线就是以圆锥顶点 为圆心的同心圆弧,经 线为由圆锥顶点向外 放射直线束。 两条标准纬线 无变形,等变 形线与纬线平 行。 伪圆柱投影(罗宾逊投影) Robinson projection 38oN 38oS 0o纬线为平行直线,中央 经线为直线,其余经线 均为对称于中央经线 的曲线。 赤道为无变形 线,离赤道越 远变形越大。 横轴等积方位投影Azimuthal Equai-Area Projection 0o20oE 中央经线与赤道为直 线,其她经纬线都就是 对称于中央经线与赤 道的曲线, 面积没有变 形,距投影中 心越远,变形 越大。 实验二墨卡托投影的绘制 一、实验目的 1.使学生掌握墨卡托投影的经纬网形状与变形性质。 2.使学生掌握墨卡托投影的绘制方法。 3.理解墨卡托投影上等角航线与大圆航线的绘制方法。 二、实验内容 1.按主比例尺为1:15000万,经纬线网密度为10°,绘制墨卡托投影经纬线网格。 2.转绘大洲轮廓。 3.绘制大圆航线与等角航线。

计算机图形学实验报告 (2)

中南大学信息科学与工程学院 实验报告实验名称 实验地点科技楼四楼 实验日期2014年6月 指导教师 学生班级 学生姓名 学生学号 提交日期2014年6月

实验一Window图形编程基础 一、实验类型:验证型实验 二、实验目的 1、熟练使用实验主要开发平台VC6.0; 2、掌握如何在编译平台下编辑、编译、连接和运行一个简单的Windows图形应用程序; 3、掌握Window图形编程的基本方法; 4、学会使用基本绘图函数和Window GDI对象; 三、实验内容 创建基于MFC的Single Document应用程序(Win32应用程序也可,同学们可根据自己的喜好决定),程序可以实现以下要求: 1、用户可以通过菜单选择绘图颜色; 2、用户点击菜单选择绘图形状时,能在视图中绘制指定形状的图形; 四、实验要求与指导 1、建立名为“颜色”的菜单,该菜单下有四个菜单项:红、绿、蓝、黄。用户通过点击不同的菜单项,可以选择不同的颜色进行绘图。 2、建立名为“绘图”的菜单,该菜单下有三个菜单项:直线、曲线、矩形 其中“曲线”项有级联菜单,包括:圆、椭圆。 3、用户通过点击“绘图”中不同的菜单项,弹出对话框,让用户输入绘图位置,在指定位置进行绘图。

五、实验结果: 六、实验主要代码 1、画直线:CClientDC *m_pDC;再在OnDraw函数里给变量初始化m_pDC=new CClientDC(this); 在OnDraw函数中添加: m_pDC=new CClientDC(this); m_pDC->MoveTo(10,10); m_pDC->LineTo(100,100); m_pDC->SetPixel(100,200,RGB(0,0,0)); m_pDC->TextOut(100,100); 2、画圆: void CMyCG::LineDDA2(int xa, int ya, int xb, int yb, CDC *pDC) { int dx = xb - xa; int dy = yb - ya; int Steps, k; float xIncrement,yIncrement; float x = xa,y= ya; if(abs(dx)>abs(dy))

几种常用地图投影

一:等角正切方位投影(球面极地投影) 概念:以极为投影中心,纬线为同心圆,经线为辐射的 直线,纬距由中心向外扩大。 变形:投影中央部分的长度和面积变形小,向外变形逐渐增 大。 用途:主要用于编绘两极地区,国际1∶100万地形图。 二:等距正割圆锥投影 概念:圆锥体面割于球面两条纬线。 变形:纬线呈同心圆弧,经线呈辐射的直线束。 各经线和两标纬无长度变形,即其它纬线均有 长度变形,在两标纬间角度、长度和面积变形 为负,在两标纬外侧变形为正。离开标纬愈远, 变形的绝对值则愈大。 用途:用于编绘东西方向长,南北方向稍宽地区 的地图,如前苏联全图等。 三:等积正割圆锥投影 概念:满足mn=1条件,即在两标纬间经线长度放 大,纬线等倍缩小,两标纬外情况相反。 变形:在标纬上无变形,两标纬间经线长度变形为正, 纬线长度变形为负;在两标纬外侧情况相反。角度 变形在标纬附近很小,离标纬愈远,变形则愈大。 用途:编绘东西南北近乎等大的地区,以及要求面积 正确的各种自然和社会经济地图。

四:等角正割圆锥投影 概念:满足m=n条件,两标纬间经线长度与纬线长度 同程度的缩小,两标纬外同程度的放大。 变形:在标纬上无变形,两标纬间变形为负,标纬外变 形为正,离标纬愈远,变形绝对值则愈大。 用途:用于要求方向正确的自然地图、风向图、洋流图、 航空图,以及要求形状相似的区域地图;并广泛用于制 作各种比例尺的地形图的数学基础。 如我国在1949年前测制的1∶5万地形图,法国、比利 时、西班牙等国家亦曾用它作地形图数学基础,二次大 战后美国用它编制1∶100万航空图。 五:等角正切圆柱投影——墨卡托投影 概念:圆柱体面切于赤道,按等角条件,将经 纬线投影到圆柱体面上,沿某一母线将圆柱体 面剖开,展成平面而形成的投影。是由荷兰制 图学家墨卡托(生于今比利时)于1569年创拟 的,故又称(墨卡托投影)。 变形:经线为等间距的平行直线,纬线为非等 间距垂直于经线的平行直线。离赤道愈远,纬 线的间距愈大。纬度60°以上变形急剧增大, 极点处为无穷大,面积亦随之增大,且与纬线 长度增大倍数的平方成正比,致使原来只有南 美洲面积1/9的位于高纬度的格陵兰岛,在图 上比南美洲大。 用途:等角航线表现为直线,用于编制海图、印度尼西亚和赤道非洲等赤道附近国家和地区的地图、世界时区图和卫星轨迹图等。

北京理工大学《数据结构与算法设计》实验报告实验一

《数据结构与算法设计》 实验报告 ——实验一 学院: 班级: 学号: 姓名:

一、实验目的 1.通过实验实践、巩固线性表的相关操作; 2.熟悉VC环境,加强编程、调试的练习; 3.用C语言编写函数,实现循环链表的建立、插入、删除、取数据等基本操作; 4.理论知识与实际问题相结合,利用上述基本操作实现约瑟夫环。 二、实验内容 1、采用单向环表实现约瑟夫环。 请按以下要求编程实现: ①从键盘输入整数m,通过create函数生成一个具有m个结点的单向环表。环表中的 结点编号依次为1,2,……,m。 ②从键盘输入整数s(1<=s<=m)和n,从环表的第s个结点开始计数为1,当计数到 第n个结点时,输出该第n结点对应的编号,将该结点从环表中消除,从输出结点 的下一个结点开始重新计数到n,这样,不断进行计数,不断进行输出,直到输出 了这个环表的全部结点为止。 三、程序设计 1、概要设计 为实现上述程序功能,应用单向环表寄存编号,为此需要建立一个抽象数据类型:单向环表。 (1)、单向环表的抽象数据类型定义为: ADT Joseph{ 数据对象:D={ai|ai∈ElemSet,i=1,2,3……,n,n≥0} 数据关系:R1={ |ai∈D,i=1,2,……,n} 基本操作: create(&L,n) 操作结果:构造一个有n个结点的单向环表L。 show(L) 初始条件:单向环表L已存在。 操作结果:按顺序在屏幕上输出L的数据元素。 Josephf( L,m,s,n) 初始条件:单向环表L已存在, s>0,n>0,s

电子地图的制作实验报告

实验一:地理底图基础数据准备 一.实验目的及要求: 1.学习使用Google Earth选择目标地区图形进行矢量化; 3.进一步掌握在arcview、ARCMAP或mapinfo下进行地图配准,数字化,属性编辑等; 4.通过本次实习,使大家掌握用Google Earth进行矢量化,ARCMAP 进行属性编辑等为后期的电子地图设计提供图形数据。 二.实验材料及软件 Google Earth4.2 、getScreen、ArcMap 三.实验步骤: (一)数据准备 1、启动GoogleEarth,在GoogleEarth上定位到自己家乡所在地市州的影像图。 2、在区域内添加地标4-6个(不含四个角点),要求地标在所在区域内分布均匀。记录下地标的地理坐标。也可以导出为kml文件。 3、启动getSrceen,用GetScreen获取家乡的影像。具体方法参见《用GEtScreen与GoogleEarth获取影像的方法.docx》将得到jpg 影像和.map文件(记录四个角点的地理坐标) (二)影像校正 MapInfo配准步骤如下(也可以用mapgis、arcmap、arcview等软件实现配准)用于配准的控制点是影像的四个角点,和(一)2中添加的地

标点。坐标分别见.map文件和.kml文件。均可用记事本打开。1。mapinfo影像校正(配准)步骤 1)打开栅格地图。 文件->打开,选择栅格文件类型。 打开刚才下载的jpg图片。弹出对话框。 选择“配准(Projection)”。出现图像配准对话框。 2)、坐标配准。 点击“+”或“-”号可以缩放对话框中央的地图。

计算机图形学实验报告

目录

实验一直线的DDA算法 一、【实验目的】 1.掌握DDA算法的基本原理。 2.掌握DDA直线扫描转换算法。 3.深入了解直线扫描转换的编程思想。 二、【实验内容】 1.利用DDA的算法原理,编程实现对直线的扫描转换。 2.加强对DDA算法的理解和掌握。 三、【测试数据及其结果】 四、【实验源代码】 #include

#include #include #include GLsizei winWidth=500; GLsizei winHeight=500; void Initial(void) { glClearColor(1.0f,1.0f,1.0f,1.0f); glMatrixMode(GL_PROJECTION); gluOrtho2D(0.0,200.0,0.0,150.0); } void DDALine(int x0,int y0,int x1,int y1) { glColor3f(1.0,0.0,0.0); int dx,dy,epsl,k; float x,y,xIncre,yIncre; dx=x1-x0; dy=y1-y0; x=x0; y=y0; if(abs(dx)>abs(dy)) epsl=abs(dx); else epsl=abs(dy); xIncre=(float)dx/(float)epsl; yIncre=(float)dy/(float)epsl; for(k=0;k<=epsl;k++) { glPointSize(3); glBegin(GL_POINTS); glV ertex2i(int(x+0.5),(int)(y+0.5)); glEnd(); x+=xIncre; y+=yIncre; } } void Display(void) { glClear(GL_COLOR_BUFFER_BIT); DDALine(100,100,200,180); glFlush(); }

算法设计与实验报告讲解

算法设计与分析实验报告 学院:信息学院 专业:物联网1101 姓名:黄振亮 学号:20113379 2013年11月

目录 作业1 0-1背包问题的动态规划算法 (7) 1.1算法应用背景 (3) 1.2算法原理 (3) 1.3算法描述 (4) 1.4程序实现及程序截图 (4) 1.4.1程序源码 (4) 1.4.2程序截图 (5) 1.5学习或程序调试心得 (6) 作业2 0-1背包问题的回溯算法 (7) 2.1算法应用背景 (3) 2.2算法原理 (3) 2.3算法描述 (4) 2.4程序实现及程序截图 (4) 2.4.1程序源码 (4) 2.4.2程序截图 (5) 2.5学习或程序调试心得 (6) 作业3循环赛日程表的分治算法 (7) 3.1算法应用背景 (3) 3.2算法原理 (3) 3.3算法描述 (4) 3.4程序实现及程序截图 (4)

3.4.1程序源码 (4) 3.4.2程序截图 (5) 3.5学习或程序调试心得 (6) 作业4活动安排的贪心算法 (7) 4.1算法应用背景 (3) 4.2算法原理 (3) 4.3算法描述 (4) 4.4程序实现及程序截图 (4) 4.4.1程序源码 (4) 4.4.2程序截图 (5) 4.5学习或程序调试心得 (6)

作业1 0-1背包问题的动态规划算法 1.1算法应用背景 从计算复杂性来看,背包问题是一个NP难解问题。半个世纪以来,该问题一直是算法与复杂性研究的热点之一。另外,背包问题在信息加密、预算控制、项目选择、材料切割、货物装载、网络信息安全等应用中具有重要的价值。如果能够解决这个问题那么则具有很高的经济价值和决策价值,在上述领域可以获得最大的价值。本文从动态规划角度给出一种解决背包问题的算法。 1.2算法原理 1.2.1、问题描述: 给定n种物品和一背包。物品i的重量是wi,其价值为vi,背包的容量为C。问:应如何选择装入背包的物品,使得装入背包中物品的总价值最大? 形式化描述:给定c >0, wi >0, vi >0 , 1≤i≤n.要求找一n元向量(x1,x2,…,xn,), xi ∈{0,1}, ?∑ wi xi≤c,且∑ vi xi达最大.即一个特殊的整数规划问题。 1.2.2、最优性原理: 设(y1,y2,…,yn)是 (3.4.1)的一个最优解.则(y2,…,yn)是下面相应子问题的一个最优解: 证明:使用反证法。若不然,设(z2,z3,…,zn)是上述子问题的一个最优解,而(y2,y3,…,yn)不是它的最优解。显然有 ∑vizi > ∑viyi (i=2,…,n) 且 w1y1+ ∑wizi<= c 因此 v1y1+ ∑vizi (i=2,…,n) > ∑ viyi, (i=1,…,n) 说明(y1,z2, z3,…,zn)是(3.4.1)0-1背包问题的一个更优解,导出(y1,y2,…,yn)不是背包问题的最优解,矛盾。 1.2.3、递推关系:

遥感实验报告

遥感原理与应用 实验报告 姓名:学号:学院:专业: 年月日 实验一: erdas视窗的认识实验 一、实验目的 初步了解目前主流的遥感图象处理软件erdas的主要功能模块,在此基础上,掌握几个视窗操作模块的功能和操作技能,为遥感图像的几何校正等后续实习奠定基础。 二、实验步骤 打开imagine 视窗 启动数据预处理模块 启动图像解译模块 启动图像分类模块 imagine视窗 1.数据预处理(data dataprep) 2.图像解译(image interpreter) 主成份变换 色彩变换 3.图像分类(image classification) 非监督分类 4. 空间建模(spatial modeler) 模型制作工具 三、实验小结 通过本次试验初步了解遥感图象处理软件erdas的主要功能模块,在此基础上,基本掌握了几个视窗操作模块的功能和用途。为后续的实验奠定了基础。 实验二遥感图像的几何校正 掌握遥感图像的纠正过程 二、实验原理 校正遥感图像成像过程中所造成的各种几何畸变称为几何校正。几何校正就是将图像数据投影到平面上,使其符合地图投影系统的过程。而将地图投影系统赋予图像数据的过程,称为地理参考(geo-referencing)。由于所有地图投影系统都遵循一定的地图坐标系统,因此几何校正的过程包含了地理参考过程。 几何校正包括几何粗校正和几何精校正。地面接收站在提供给用户资料前,已按常规处理方案与图像同时接收到的有关运行姿态、传感器性能指标、大气状态、太阳高度角对该幅图像几何畸变进行了几何粗校正。利用地面控制点进行的几何校正称为几何精校正。一般地面站提供的遥感图像数据都经过几何粗校正,因此这里主要进行一种通用的精校正方法的实验。该方法包括两个步骤:第一步是构建一个模拟几何畸变的数学模型,以建立原始畸变图像空间与标准图像空间的某种对应关系,实现不同图像空间中像元位置的变换;第二步是利用这种对应关系把原始畸变图像空间中全部像素变换到标准图像空间中的对应位置上,完成标准图像空间中每一像元亮度值的计算。 三、实验内容 根据实验的数据,对两张图片进行几何纠正 四、实验流程

银行家算法设计实验报告

银行家算法设计实验报告

银行家算法设计实验报告 一.题目分析 1.银行家算法: 我们可以把操作系统看做是银行家,操作系统管理的资源相当于银行家管理的资金,进程向操作系统请求资源相当于客户向银行家贷款。操作系统按银行家制定的规则为进程分配资源,当进程首次申请资源时,要测试该进程尚需求的资源量,若是系统现存的资源可以满足它尚需求的资源量,则按当前的申请量来分配资源,否则就推迟分配。 当进程在执行中继续申请资源时,先测试该进程申请的资源量是否超过了它尚需的资源量。若超过则拒绝分配,若没有超过则再测试系统尚存的资源是否满足该进程尚需的资源量,若满足即可按当前的申请量来分配,若不满足亦推迟分配。 2.基本要求: (1)可以输入某系统的资源以及T0时刻进程对资源的占用及需求情况的表项,以及T0时刻系统的可利用资源数。 (2)对T0时刻的进行安全性检测,即检测在T0时刻该状态是否安全。

(3)进程申请资源,用银行家算法对其进行检测,分为以下三种情况: A. 所申请的资源大于其所需资源,提示分配不合理不予分配并返回 B. 所申请的资源未大于其所需资源, 但大于系统此时的可利用资源,提 示分配不合理不予分配并返回。 C. 所申请的资源未大于其所需资源, 亦未大于系统此时的可利用资源,预 分配并进行安全性检查: a. 预分配后系统是安全的,将该进 程所申请的资源予以实际分配并 打印后返回。 b. 与分配后系统进入不安全状态,提示系统不安全并返回。 (4)对输入进行检查,即若输入不符合条件,应当报错并返回重新输入。 3.目的: 根据设计题目的要求,充分地分析和理解题 目,叙述系统的要求,明确程序要求实现的功能以及限制条件。 明白自己需要用代码实现的功能,清楚编写每部分代码的目的,做到有的放矢,有条理不遗漏的用代码实现银行家算法。

GIS实验报告

华南师范大学实验报告 学生姓名学号 专业地理科学年级 2009级课程名称地理信息系统 实验项目地图投影及投影变换 实验类型验证实验时间2011年 4 月指导老师实验评分

华南师范大学实验报告 一、实验目的: 1、认识空间数据源学会各种比例尺地图的图式符号的识别。 2、比较矢量数据与栅格数据结构,了解两种数据结构表达的空间数据各 有何特点? 3、掌握地图投影变换的基本原理与方法。 4、熟悉ArcGIS 中投影的应用及投影变换的方法、技术。 5、了解地图投影及其变换在实际中的应用。 二、实验资料: 1、空间矢量数据、扫描栅格数据样本; 2、两张扫描几何纠正以后的标准地形图图像(1:1万和1:5万地形图)。 三、实验内容: 1、认识地形图,学会在地形图上读取有用信息 遥感图像、地形图、专题图(如旅游图、规划图、交通图等)图源都是地理信息系统的重要数据源,因此正确的识别各种图形、信息是空间数据建立的基础。本实验主要针对标准的地形图识别,认识地图分幅、图廓标注、公里格网、坐标标注、投影分带、坐标系及图内图式符号表示等。 2、较矢量数据与栅格数据两种数据结构表达的空间数据各有何特点 利用试验提供的数据资料,在GIS软件中打开浏览。比较两种数据结构的坐标系、地图的缩放、查询、查找等操作。 3、认识投影,学会使用GIS软件建立正确的地图投影及其空间坐标系 在ArcMap中打开1万、5万地形图扫描栅格数据文件,仔细观察图廓、图内的各种信息,识别出其坐标系、投影分带、中央子午线、投影代号等内容;利用GIS软件分别为两幅地图建立正确的地图投影,观察建立投影前后两幅地形图

的空间位置关系。 四.实验方法及实验结果: 1、用ArcMap软件打开1万、5万地形图扫描栅格数据文件,分别观察其图廓、图内的各种信息,区别两幅地形图在坐标系、投影分带、中央子午线、投影代号、比例尺等内容中的不同。1万地形图中央子午线是东经114度,3度分带投影,代号为38号,1比1万的比例尺。5万地形图中央子午线也是东经114度,6度分带投影,代号为20号,1比5万的比例尺。 2、在1万和5万的地形图上找到最外围的四个公里格网点,分别记录其平面坐标值(x,y)在地图上找到最外围的四个图廓点,分别记录其球面坐标值(B,L)。下表是其平面坐标 由上图可知,其平面坐标是很乱的,不准确的。 3、右键空白工具栏增加Georeferncing工具条,选定Add control points, 在5万地形图中找一个已知坐标点,按左键,出现一个十字,按右键选择Enter Coordinates输入坐标(我选择的是不输入投影代号),再找不同的两个点,完成如上操作。选点时,要注意选点的均匀分布,如果在选点时没有注意点位的分布或者点太多,这样不但不能保证精度,反而会使影像产生变形。步骤如下:

计算机图形学实验报告

计算机图形学 实验报告 姓名:谢云飞 学号:20112497 班级:计算机科学与技术11-2班实验地点:逸夫楼507 实验时间:2014.03

实验1直线的生成 1实验目的和要求 理解直线生成的原理;掌握典型直线生成算法;掌握步处理、分析 实验数据的能力; 编程实现DDA算法、Bresenham中点算法;对于给定起点和终点的 直线,分别调用DDA算法和Bresenham中点算法进行批量绘制,并记 录两种算法的绘制时间;利用excel等数据分析软件,将试验结果编 制成表格,并绘制折线图比较两种算法的性能。 2实验环境和工具 开发环境:Visual C++ 6.0 实验平台:Experiment_Frame_One(自制平台)。 本实验提供名为 Experiment_Frame_One的平台,该平台提供基本 绘制、设置、输入功能,学生在此基础上实现DDA算法和Mid_Bresenham 算法,并进行分析。 ?平台界面:如错误!未找到引用源。所示 ?设置:通过view->setting菜单进入,如错误!未找到引 用源。所示 ?输入:通过view->input…菜单进入.如错误!未找到引用 源。所示 ?实现算法: ◆DDA算法:void CExperiment_Frame_OneView::DDA(int X0, int Y0, int X1, int Y1) Mid_Bresenham法:void CExperiment_Frame_OneView::Mid_Bresenham(int X0, int Y0, int X1, int Y1)

3实验结果 3.1程序流程图 1)DDA算法流程图:开始 定义两点坐标差dx,dy,以及epsl,计数k=0,描绘点坐标x,y,x增 量xIncre,y增量yIncre ↓ 输入两点坐标x1,y1,x0,y0 ↓ dx=x1-x0,dy=y1-y0; _________↓_________ ↓↓ 若|dx|>|dy| 反之 epsl=|dx| epsl=|dy| ↓________...________↓ ↓ xIncre=dx/epsl; yIncre=dy/epsl ↓ 填充(强制整形)(x+0.5,y+0.5); ↓←←←← 横坐标x+xIncre; 纵坐标y+yIncre; ↓↑ 若k<=epsl →→→k++ ↓ 结束 2)Mid_Bresenham算法流程图开始 ↓ 定义整形dx,dy,判断值d,以及UpIncre,DownIncre,填充点x,y ↓ 输入x0,y0,x1,y1 ______↓______ ↓↓ 若x0>x1 反之 x=x1;x1=x0;x0=x; x=x0;

世界地图常用地图投影知识大全

世界地图常用地图投影知识大全 2009-09-30 13:20 在不同的场合和用途下使用不同的地图投影,地图投影方法及分类名目众多,象:墨卡托投影,空间斜轴墨卡托投影,桑逊投影,摩尔维特投影,古德投影,等差分纬线多圆锥投影,横轴等积方位投影,横轴等角方位投影,正轴等距方位投影,斜轴等积方位投影,正轴等 角圆锥投影,彭纳投影,高斯-克吕格投影,等角圆锥投影等等。 一、世界地图常用投影 1、等差分纬线多圆锥投影(Polyconic Projection With Meridional Interval o nSame Parallel Decrease AwayFrom Central Meridian by E qual Difference) 普通多圆锥投影的经纬线网具有很强的球形感,但由于同一纬线上的经线间隔相等,在编制世界地图时,会导致图形边缘具有较大面积变形。1963年中国地图出版社在普通多圆锥投影的基础上,设计出了等差分纬线多圆锥投影。 等差分纬线多圆锥投影的赤道和中央经线是相互垂直的直线,中央经线长度比等于1;其它纬线为凸向对称于赤道的同轴圆弧,其圆心位于中央经线的延长线上,中央经线上的纬线间隔从赤道向高纬略有放大;其它经线为凹向对称于中央经线的曲线,其经线间隔随离中央经线距离的增加而按等差级数递减;极点投影成圆弧(一般被图廓截掉),其长度等于赤道的一半(图2-30)。 通过对大陆的合理配置,该投影能完整地表现太平洋及其沿岸国家,突出显示我国与邻近国家的水陆关系。从变形性质上看,等差分纬线多圆锥投影属于面积变形不大的任意投影。我国绝大部分地区的面积变形在10%以内。中央经线和±44o纬线的交点处没有角度变形,随远离该点变形愈大。全国大部分地区的最大角度变形在10o以内。等差分纬线多圆锥投影是我国编制各种世界政区图和其它类型世界地图的最主要的投影之一。

南京邮电大学算法设计实验报告——动态规划法

实验报告 (2009/2010学年第一学期) 课程名称算法分析与设计A 实验名称动态规划法 实验时间2009 年11 月20 日指导单位计算机学院软件工程系 指导教师张怡婷 学生姓名丁力琪班级学号B07030907 学院(系) 计算机学院专业软件工程

实验报告 实验名称动态规划法指导教师张怡婷实验类型验证实验学时2×2实验时间2009-11-20一、实验目的和任务 目的:加深对动态规划法的算法原理及实现过程的理解,学习用动态规划法解决实际应用中的最长公共子序列问题。 任务:用动态规划法实现求两序列的最长公共子序列,其比较结果可用于基因比较、文章比较等多个领域。 要求:掌握动态规划法的思想,及动态规划法在实际中的应用;分析最长公共子序列的问题特征,选择算法策略并设计具体算法,编程实现两输入序列的比较,并输出它们的最长公共子序列。 二、实验环境(实验设备) 硬件:计算机 软件:Visual C++

三、实验原理及内容(包括操作过程、结果分析等) 1、最长公共子序列(LCS)问题是:给定两个字符序列X={x1,x2,……,x m}和Y={y1,y2,……,y n},要求找出X和Y的一个最长公共子序列。 例如:X={a,b,c,b,d,a,b},Y={b,d,c,a,b,a}。它们的最长公共子序列LSC={b,c,d,a}。 通过“穷举法”列出所有X的所有子序列,检查其是否为Y的子序列并记录最长公共子序列并记录最长公共子序列的长度这种方法,求解时间为指数级别的,因此不可取。 2、分析LCS问题特征可知,如果Z={z1,z2,……,z k}为它们的最长公共子序列,则它们一定具有以下性质: (1)若x m=y n,则z k=x m=y n,且Z k-1是X m-1和Y n-1的最长公共子序列; (2)若x m≠y n且x m≠z k,则Z是X m-1和Y的最长公共子序列; (3)若x m≠y n且z k≠y n,则Z是X和Y的最长公共子序列。 这样就将求X和Y的最长公共子序列问题,分解为求解较小规模的问题: 若x m=y m,则进一步分解为求解两个(前缀)子字符序列X m-1和Y n-1的最长公共子序列问题; 如果x m≠y n,则原问题转化为求解两个子问题,即找出X m-1和Y的最长公共子序列与找出X 和Y n-1的最长公共子序列,取两者中较长者作为X和Y的最长公共子序列。 由此可见,两个序列的最长公共子序列包含了这两个序列的前缀的最长公共子序列,具有最优子结构性质。 3、令c[i][j]保存字符序列X i={x1,x2,……,x i}和Y j={y1,y2,……,y j}的最长公共子序列的长度,由上述分析可得如下递推式: 0 i=0或j=0 c[i][j]= c[i-1][j-1]+1 i,j>0且x i=y j max{c[i][j-1],c[i-1][j]} i,j>0且x i≠y j 由此可见,最长公共子序列的求解具有重叠子问题性质,如果采用递归算法实现,会得到一个指数时间算法,因此需要采用动态规划法自底向上求解,并保存子问题的解,这样可以避免重复计算子问题,在多项式时间内完成计算。 4、为了能由最优解值进一步得到最优解(即最长公共子序列),还需要一个二维数组s[][],数组中的元素s[i][j]记录c[i][j]的值是由三个子问题c[i-1][j-1]+1,c[i][j-1]和c[i-1][j]中的哪一个计算得到,从而可以得到最优解的当前解分量(即最长公共子序列中的当前字符),最终构造出最长公共子序列自身。

地图学实验报告

测绘工程专业 地图学实习报告 实习内容:地图投影变换班级:测绘工程2班 学号:631201040205姓名:付博 指导老师:李华蓉 时间: 2014-10-7

地图投影变换 一、地图投影 地图投影是GIS知识体系中重要的组成部分,每个GIS软件都会涉及到这一部分知识,并不是只有MAPGIS软件中才有,MAPGIS 软件中的投影变换相比国外的软件更具有针对性,更符合我们国家的国情,比如标准框等。我这里只是给大家说说我对投影变换的一个理解,讲很多的知识点串起来,不正确的地方,还请大家给予批评指正。 那么什么是投影呢? 我们知道,地球是一个近似于梨型的不规则椭球体,而GIS 软件所处理的都是二维平面上的地物要素的信息。所以首先要考的一个问题,就是如果如何将地球表面上的地物展到平面去。 最简单的一个方法,或者说是最容易想到的一个方法就是将地球表面沿着某个经线剪开,然后展成平面,即采用这种物理的方法来实现。可采用物理的方法将地球表面展开成地图平面必然产生裂隙或褶皱,大家可以想象一下,如果把一个足球展成平面的,会是什么结果。所以这种方法存在着很大的误差和变形,是不行的。 那么我们就可以采用地图投影的方法,就是建立地球表面上的点与地图平面上点之间的一一对应关系,利用数学法则把地球表面上的经纬线网表示到平面上,这样就可以很好的控制变形和

误差。凡是地理信息系统就必然要考虑到地图投影,地图投影的使用保证了空间信息在地域上的联系和完整性,在各类地理信息系统的建立过程中,选择适当的地图投影系统是首先要考虑的问题。 所以一句话,投影:就是建立地球表面上点(Q,λ)和平面上的点(x,y)之间的函数关系式的过程。 在MAPGIS中的“投影变换”的定义如下:将当前地图投影坐标转换为另一种投影坐标,它包括坐标系的转换、不同投影系之间的变换以及同一投影系下不同坐标的变换等多种变换。 二、实验目的: 1、理解投影变换的原理及其应用。 2、熟悉使用ARCMAP做地图投影变换的方法。 3、增加对地图学的地图投影变换方便知识的理解。 三、实验内容: 将老师发的矢量化地图用ARCMAP软件进行投影变换,具体包括边界线的绘制、各省份直辖市的颜色填充等,最后将绘制的地图进行投影变换。 四、实验步骤 1、启动ARCMAP

地图投影的基本问题

3.地图投影的基本问题 3.1地图投影的概念 在数学中,投影(Project)的含义是指建立两个点集间一一对应的映射关系。同样,在地图学中,地图投影就是指建立地球表面上的点与投影平面上点之间的一一对应关系。地图投影的基本问题就是利用一定的数学法则把地球表面上的经纬线网表示到平面上。凡是地理信息系统就必然要考虑到地图投影,地图投影的使用保证了空间信息在地域上的联系和完整性,在各类地理信息系统的建立过程中,选择适当的地图投影系统是首先要考虑的问题。由于地球椭球体表面是曲面,而地图通常是要绘制在平面图纸上,因此制图时首先要把曲面展为平面,然而球面是个不可展的曲面,即把它直接展为平面时,不可能不发生破裂或褶皱。若用这种具有破裂或褶皱的平面绘制地图,显然是不实际的,所以必须采用特殊的方法将曲面展开,使其成为没有破裂或褶皱的平面。 3.2地图投影的变形 3.2.1变形的种类 地图投影的方法很多,用不同的投影方法得到的经纬线网形式不同。用地图投影的方法将球面展为平面,虽然可以保持图形的完整和连续,但它们与球面上的经纬线网形状并不完全相似。这表明投影之后,地图上的经纬线网发生了变形,因而根据地理坐标展绘在地图上的各种地面事物,也必然随之发生变形。这种变形使地面事物的几何特性(长度、方向、面积)受到破坏。把地图上的经纬线网与地球仪上的经纬线网进行比较,可以发现变形表现在长度、面积和角度三个方面,分别用长度比、面积比的变化显示投影中长度变形和面积变形。如果长度变形或面积变形为零,则没有长度变形或没有面积变形。角度变形即某一角度投影后角值与它在地球表面上固有角值之差。 1)长度变形 即地图上的经纬线长度与地球仪上的经纬线长度特点并不完全相同,地图上的经纬线长度并非都是按照同一比例缩小的,这表明地图上具有长度变形。 在地球仪上经纬线的长度具有下列特点:第一,纬线长度不等,其中赤道最长,纬度越高,纬线越短,极地的纬线长度为零;第二,在同一条纬线上,经差相同的纬线弧长相等;第三,所有的经线长度都相等。长度变形的情况因投影而异。在同一投影上,长度变形不仅随地点而改变,在同一点上还因方向不同而不同。 2)面积变形 即由于地图上经纬线网格面积与地球仪经纬线网格面积的特点不同,在地图上经纬线网格面积不是按照同一比例缩小的,这表明地图上具有面积变形。 在地球仪上经纬线网格的面积具有下列特点:第一,在同一纬度带内,经差相同的网络面积相等。第二,在同一经度带内,纬线越高,网络面积越小。然而地图上却并非完全如此。如在图4-9-a上,同一纬度带内,纬差相等的网格面积相等,这些面积不是按照同一比例缩

算法与设计实验报告

算法与分析实验报告软件工程专业 安徽工业大学 指导老师:许精明

实验内容 1:杨辉三角 2:背包问题 3:汉诺塔问题 一:实验目的 1:掌握动态规划算法的基本思想,学会用其解决实际问题。 2:通过几个基本的实验,提高算法分析与设计能力,提高动手操作能力和培养良好的编程习惯。 二:实验内容 1:杨辉三角 2:背包问题 3:汉诺塔问题 实验一:杨辉三角

问题分析: ①每行数字左右对称,由1开始逐渐变大,然后变小,回到1。 ②第n行数之和为2^n。 ③下一行每个数字等于上一行的左右两个数字之和。 算法设计及相关源代码: public void yanghui(int n) { int[] a = new int[n]; if(n==1){ System.out.println(1); }else if(n==2) { System.out.print(1 + " " +1); }else{ a[1]=1; System.out.println(a[1]); a[2]=1;

System.out.println(a[1]+" "+a[2]); for(int i=3;i<=n;i++){ a[1]=a[i]=1; for(int j=i-1;j>1;j--){ a[j]=a[j]+a[j-1]; } for(int j=1;j<=i;j++){ System.out.print(a[j]+" "); } System.out.println(); } } } 实验结果:n=10 实验二:0-1背包问题 问题分析::令V(i,j)表示在前i(1<=i<=n)个物品中能够装入容量为就 j(1<=j<=C)的背包中的物品的最大价值,则可以得到如下的动态规划函数: (1) V(i,0)=V(0,j)=0 (2) V(i,j)=V(i-1,j) j

地图投影,空间数据处理指导-实验4

实验四、空间数据处理 一、实验目的 1. 掌握空间数据处理(融合、拼接、剪切、交叉、合并)的基本方法,原理。领会其用途。 2. 掌握地图投影变换的基本原理与方法。 3. 熟悉ArcGIS 中投影的应用及投影变换的方法、技术 4. 了解地图投影及其变换在实际中的应用。 二、实验准备 预备知识: ArcToolbox 是ArcGIS Desktop 中的一个软件模块。内嵌在ArcCatalog 和ArcMap中,在ArcView、ArcEditor 和ArcInfo 中都可以使用。 ArcToolbox 具有许多复杂的空间处理功能,包括的工具有: ● 数据管理 ● 数据转换 ● Coverage 的处理 ● 矢量分析 ● 地理编码 ● 统计分析 空间间数据处理是基于已有数据派生新数据的一种方法。是通过空间分析方法来实现 的。是基于矢量数据进行的,包括如下几种常用的操作:融合,剪切,拼接,合并(并集), 相交(交集)。 地理坐标系(Geogrpahic Coordinate System) 地理坐标系使用基于经纬度坐标的坐标系统描述地球上某一点所处的位置。某一个地理 坐标系是基于一个基准面来定义的。 基准面是利用特定椭球体对特定地区地球表面的逼近,因此每个国家或地区均有各自的 基准面。

在ArcGIS 中基于这三个椭球,建立了我国常用的三个基准面和地理坐标系: ● GCS_WGS1984 (基于WGS84 基准面) ● GCS_BEIJING1954 (基于北京1954 基准面) ● GCS_XIAN1980 (基于西安1980 基准面) 投影坐标系(Projected Coordinate Systems) 投影坐标系使用基于X,Y 值的坐标系统来描述地球上某个点所处的位置。这个坐标系是 从地球的近似椭球体投影得到的,它对应于某个地理坐标系。 投影坐标系由以下参数确定 ● 地理坐标系(由基准面确定,比如:北京54、西安80、WGS84) ● 投影方法(比如高斯-克吕格、Lambert 投影、Mercator 投影) 在ArcGIS 中提供了几十种常用的投影方法 北京1954 投影坐标系和西安1980 坐标系都是应用高斯-克吕格投影,只是基准面、椭球、大地原点不同。 地理变换 地理变换是一种在地理坐标系(基准面)间转换数据的方法,当将矢量数据从一个坐标 系统变换到另一个坐标系统下时,如果矢量数据的变换涉及基准面的改变时,需要通过地 理变换来实现地理变换或基准面平移。 主要的地理变换方法有:三参数和七参数法。 投影变换 当系统所使用的数据是来自不同地图投影的图幅时,需要将一种投影的地理数据转换成 另一种投影的地理数据,这就需要进行地图投影变换。 实验数据: 云南县界.shp; Clip.shp 西双版纳森林覆盖.shp 西双版纳县界.shp

相关文档
最新文档