数字测图

第四章 计算机地图制图的数学基础

内容提要

4.1 坐标变换

4.2 二维图形裁剪

4.2.1 线段的矢量裁剪法

4.2.2 线段的编码裁剪法

4.2.3 多边形的裁剪

4.3 地图符号的自动绘制

4.3.1 线型

4.3.2 线状符号

4.3.3 多边形轮廓线内绘制晕线

4.4 曲线的绘制

4.4.1 正轴抛物线加权平均法

4.4.2 近似斜轴抛物线加权平均法

4.4.3 张力样条函数插值法

4.5 等高线的绘制

本章小结

4.1 坐标变换

? 测量坐标系到计算机 屏幕 坐标系的换算和

测量坐标系到 绘图仪 坐标系的换算,是计

算机地图制图中的两个最基本的数学变换。

1、测量坐标系到计算机

屏幕坐标系的换算

? 大比例尺数字测图中的测量坐标系采用高斯 -克吕格坐标

系或者是独立坐标系。

? 计算机屏幕坐标系和笛卡尔坐标系的差别是计算机屏幕坐

标系的 Y轴向下为正,且屏幕坐标都为正值,坐标原点在

屏幕的左上角。

? 在计算机地图制图中对实地某点 P转换到计算机屏幕坐标

系中的坐标可按下式计算:

2、测量坐标系到绘图仪

坐标系的换算

? 绘图仪的坐标原点,对不同的绘图仪硬件缺省值不尽相同,

有的位于绘图仪的左下角,有的位于绘图仪的中心,但一

般都可通过软件将绘图仪的坐标原点设于绘图仪有效绘图

区的任一位置。

? 绘图仪的坐标单位为绘图仪脉冲当量,多数绘图仪的一个

脉冲当量等于 0.025mm或 0.00098英寸。

? 对实地某点 P转换到绘图仪坐标系中的坐标可按下式计算:

4.2 二维图形裁剪

? 裁剪是用于描述某一图形要素(如直线、圆等)是否

与一多边形窗口(如矩形窗口)相交的过程,其主要

用途是确定某些图形要素是否全部位于窗口之内,若

只有部分在窗口内又如何裁剪去窗口外的图形,从而

只显示窗口内的内容。

? 裁剪窗口可以为任意多边形,但在实际工作中大多是

矩形窗口,这里只讨论窗口为矩形的情况。

1、线段的矢量裁剪

? 在裁剪时不同的线段可能被窗口分成几段,但其中只有一段

位于窗口内可见。

? 线段的裁剪算法就是要找出位于窗口内部的起始点和终止点

的坐标。

? 因矢量裁剪法对寻找起点和终点坐标的处理方法相同,下面

以起始点坐标为例来说明线段矢量裁剪方法。

– 窗口的四条边界把 XOY平面分成九个区

域,分别用1到9对这九个窗编号

– 具体参见电子教材

2、线段的编码裁剪法

? 这种方法将窗口的边界分成的

九个区按一定的规则用四位二

进制编码来表示。这样,当线

段的端点位于某一区时,该点

的位置可以用其所在区域的四

位二进制码来唯一确定,

? 通过对线段两端点的编码进行

逻辑运算,就可确定线段相对

于窗口的关系。

3、多边形的裁剪

? 多边形的裁剪比直线要复杂得多。因为经过裁剪后,

多边形的轮廓线仍要闭合,而裁剪后的边数可能增加,

也可能减少,或者被裁剪成几个多边形,这样必须适

当地插入窗口边界才能保持多边形的封闭性。

? 对于多边形的裁剪,人们研究出多了多种算法,其中

萨瑟兰德-霍奇曼( Sutherland-Hodgman)算法根据相

对于一条边界线裁剪多边形比较容易这一点,把整个

多边形先相对于窗口的第一条边界裁剪,然后再把形

成的新多边形相对于窗口的第二条裁剪,如此进行到

窗口的最后一条边界,从而把多边形相对于窗口的全

部边界进行了裁剪。

4、圆和曲线的裁剪

? 对圆的裁剪思路是,首先通过圆的外接矩形判断来确

定圆是否全部位于窗口的外边,若全部位于窗口外边,

则裁剪过程结束。否则,将圆分解成一组短线段,然

后按照直线裁剪的方法来进行。

? 由于曲线在实际绘制时是采用短直线来逼近曲线的方

法实现,故曲线的裁剪也采用一般直线裁剪方法对每

一短线段进行裁剪,从而实现对整个曲线的裁剪。

4.3 地图符号的自动绘制

? 地图上的各种地形要素是用相应的地图

符号来表示的。

? 地图符号可以分为 3类,即独立符号、线

状符号和面状符号。

1、独立符号和汉字字符的

自动绘制

? 独立符号以点定位,在一定比例尺范围内,图

上的大小是固定的,如各种控制点符号。

? 它们常常不能用某一固定的数学公式来描述,

必须首先建立表示这些符号特征点信息的符号

库,才能实现计算机的自动绘制。

? 汉字字符的自动绘制和独立符号相仿。

1)独立符号库的建立

? 按照国家测绘局发布的, 1,500,1,1000,1,2000

地形图图式,,将图式上的独立符号和说明符号等放

大 20倍绘毫米格网纸上,进行符号特征点的坐标采集。

也可以在 CAD软件符号库编辑系统中进行制作。

? 对于规则符号,可直接计算符号特征点的坐标,对于

圆,采集圆心坐标和半径,对于圆弧,则采集圆心坐

标、半径、起始角和终止角,对于填充符号,则采集

边界信息,并给出填充信息。

2)汉字字符库的建立

? 汉字字符库的建立,一般采用建立字模,在字模上选取汉

字的特征点。作为采集信息的标准汉字字模,不仅要字体

美观,而且还要具有足够的大小,这样才能保证在读取汉

字笔划特征点的坐标时有足够的精度。

? 在字模上标出每一汉字笔划特征点,对于直线,以首末端

点为特征点;对于撇、捺、折等则用若干直线来逼近。

? 坐标采集时都是以汉字的左下角作为坐标原点,除了读取

特征点的坐标外,还要规定抬落笔信息。

3)独立符号和汉字字符

的自动输出

( 1) 独立符号的自动输出

– 根据符号的代码,在独立符号库中检索出该符号的信息

数据。

( 2) 汉字字符的自动输出

– 汉字字符的自动输出,和独立符号类似。国标汉字中的

每一个汉字都有一个唯一的机内码;对于字符,每一个

字符也都有一个唯一的 ASCII编码。

2、线状符号的自动绘制

1)线型

2)线状符号

1)线型

线型的设置及其绘制

– 地图上用到的线型尽管很复杂,但归结起来,它们可以用以

下绘图参数来表示:定位点数 N和定位点坐标 (Xi,Yi ),i=1,2,

3,…, n,实步长 D1,虚步长 D2和点步长 D3。

2)线状符号

? 线状符号除了在每两个离散点之间有趋势性的直线、

曲线等符号以外,有些线状符号中间还配置有其它的

符号。

? 如陡坎符号,除了定位中心线以外,还配置有短齿线。

? 对于这些沿中心轴线按一定规律进行配置的线状符号,

可以用比较简单的数学关系表达式来描述。

3、面状符号的自动绘制

? 面状符号通常是在一定轮廓区域内用填绘晕线或一系

列某种密度的点状符号来表示。

? 在轮廓区域内填绘点状符号,最终也可归结到首先用

计算晕线的方法计算出点状符号的中心位置,然后再

绘制符号。

4.4 曲线的绘制

? 抛物线加权平均法

? 张力样条函数插值法

1、抛物线加权平均法

? 根据给定的曲线特征点顺序,每相邻三点作一

条抛物线,而每相邻两点之间前后两条抛物线

弧的重合部分用加权平均曲线作为最终的插值

光滑曲线。

? 根据每三点之间建立抛物线方法的不同,又可

分为

– 正轴抛物线加权平均法

– 斜轴抛物线加权平均法

1)正轴抛物线加权平均法

的基本思想

? 对给定的 n个曲线特征点序列,从首点开始,顺序取四点,过四点中的前

三点可作一正轴抛物线,过四点中的后三点又可作一正轴抛物线,对过

中间两点的两条正轴抛物线取加权平均,作为过中间两点的最终曲线。

2)正轴抛物线加权平均法

的特点

? 正轴抛物线加权平均法在数学上是严密的,计算过程

也较为简单,能保证光滑曲线严格通过每个特征点,

并且在整条线上具有一阶连续导数。

? 曲线的拐点不一定正好在特征点上,也即曲线的最大

曲率点有可能偏离节点。

? 为此,人们提出了一种改进算法,即斜轴抛物线加权

平均法。

3)近似斜轴抛物线加权平均法

的基本思想

? 在离散点序列中,顺序取相邻三点,建立顶点位于中间点的

斜轴抛物线,对于相邻两点之间前后两条抛物线弧段的重叠

部分,采用加权平均曲线作为最终的插值曲线。

? 使用的权函数要保证插值曲线向两边节点过渡时分别逼近以

该点为顶点的斜轴抛物线弧,保证插值曲线的明显转弯点位

于原始数据点。

? 对于首点和末点,需要在首末点处各补插一点。

4)近似斜轴抛物线加权平均法

的特点

? 能获得比较满意的图形效果,且保证了最终曲线的拐

点位于给出的节点上。

? 曲线通过全部节点,两节点间的曲线较短。

? 缺点是计算复杂,使得在微机上实现比较困难。

? 为此,人们提出了一种近似斜轴抛物线加权平均法,

以简化斜轴抛物线方程的建立。

2、张力样条函数插值法

? 张力样条函数是描述样条曲线的一种函数。

? 它的主要特征是在一般的三次样条函数中引入

一个张力系数 δ 。

? 当 δ→0 时,张力样条函数就等同于三次样条函

数;当 δ→1 时,张力样条函数就退化为分段线

性函数,即相邻节点之间以直线连接。

? 可以选择适当的张力系数,以改变曲线的松紧

程度,使曲线的走向更加合理和美观。

4.5 等高线的绘制

等高线的绘制主要有两种方法:

? 网格法

? 三角网法

1、网格法绘制等高线

? 它的基本思想是利用有限的离散点数据建立一个曲面

去逼近地形表面,然后在这个曲面上内插网格点高程。

? 地形表面不同于一般的数学曲面,它们在形态上是错

综复杂的,不能用某一确定的数学公式来表达,也无

法用严格的解析算式去处理。

? 自 50年代数字高程模型方法提出后,人们对网络化的

理论和方法进行了大量的研究,相继出现了多种插值

算法,同时积累了丰富的经验。

1)离散点的网格法

2)在网格上追踪等高线

? 离散点经过网格化以后, 形成

一个矩形区域, 该区域大体上

相当于离散点的分布区间 。

? 该区间沿 X方向上的方格划分

记为 j=1,2,…,n,在 Y方向上方

格划分记为 i=1,2,…,m,则整

个区域共划分成 m× n个网格

点 。

? 对于每个网格点的高程可用

Z0(i,j)来表示, 网格的横边长

设为 nx,纵边长设为 ny。

2,三角网法绘制等高线

? 三角网法是直接利用原始离散点建立数字高程模型。

? 它直接利用原始数据,对保持原始数据精度,引用各种地

性线信息非常有用。

? 对于地面测量获得的数据,其数据点大多为地形特征点、

地物点,它们的位置含有重要的地形信息。

? 对于大比例尺数字测图直接利用原始离散点建立数字高程

模型是比较合适的。

? 建立三角网数字高程模型的算法有多种,其中以 Delaunay

三角形的算法理论严密,最终三角形网具有唯一性,因而

最为理想。

算法基础 计算机数学课件,第4章计算机制图数学基础_中国地质大学:数字测图_ppt_大学课件预览_高等教育资讯网...相关推荐

  1. 计算机导论mod,算法基础计算机导论.ppt

    算法基础计算机导论 计算机导论 黄国兴.陶树平.丁岳伟编著 计算机导论 --软件部分 巢爱棠 atchao@yeah.net 办公室:1208 软件部分 第2章 计算机的基础知识(2.4-2.6) 第 ...

  2. 计算机导论算法设计,计算机导论精品PPT-第五章 算法与程序设计.ppt

    <计算机导论精品PPT-第五章 算法与程序设计.ppt>由会员分享,可在线阅读,更多相关<计算机导论精品PPT-第五章 算法与程序设计.ppt(52页珍藏版)>请在人人文库网上 ...

  3. 计算机数学英语基础,计算机数学与英语到底影响有多大

    计算机数学与英语到底影响有多大以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 计算机数学与英语到底影响有多大 看你的需求 ...

  4. 大学计算机基础模拟系统2014ppt第三,第一章_河海大学:大学计算机信息技术_ppt_大学课件预览_高等教育资讯网...

    大学计算机信息技术 蔡正林 2004.9.21 本课程教学说明 ? 本课程教学目的 ? 广度优先原则,面广量大 ? 学会听课,记笔记,记问题 (上课时间地点 ) ? 学会实践上机,记问题 (关于上机指 ...

  5. 管理运筹学软件计算机解咋看,第3章 线性规划问题的计算机求解_中国地质大学(武汉):管理运筹学(郭海湘)_ppt_大学课件预览_高等教育资讯网...

    管 理 运 筹 学 1 第三章 线性规划问题的计算机求解 § 1,管理运筹学"软件的操作方法 § 2,管理运筹学"软件的输出信息分析管 理 运 筹 学 2 第三章 线性规划问题的计 ...

  6. 【算法基础】 数学预备知识1——集合、关系和函数

    文章目录 一.集合 二.关系 1. 有序n元组 2. 笛卡尔积 3. 关系 (1) 关系的性质 (2) 等价关系 a. 等价类 b. 同余关系 三.函数 为什么要用到数学知识?很简单,一个算法通常把所 ...

  7. 【算法基础】数据结构导论第七章-排序.pptx

    上课的课件分享,适合教学用. 文末提供下载 已发布: 数据结构导论第一章-绪论 数据结构导论第二章-线性表 数据结构导论第三章-栈.队列和数组 数据结构导论第四章-树 数据结构导论第五章-图 数据结构 ...

  8. 【算法基础】数据结构导论第六章-查找.pptx

    上课的课件分享,适合教学用. 文末提供下载 已发布: 数据结构导论第一章-绪论 数据结构导论第二章-线性表 数据结构导论第三章-栈.队列和数组 数据结构导论第四章-树 数据结构导论第五章-图 本文参考 ...

  9. 【算法基础】数据结构导论第五章-图.pptx

    上课的课件分享,适合教学用. 文末提供下载 已发布: 数据结构导论第一章-绪论 数据结构导论第二章-线性表 数据结构导论第三章-栈.队列和数组 数据结构导论第四章-树 本文参考百度文库的多篇文章. 如 ...

  10. 【算法基础】数据结构导论第四章-树.pptx

    上课的课件分享,适合教学用. 文末提供下载 已发布: 数据结构导论第一章-绪论 数据结构导论第二章-线性表 数据结构导论第三章-栈.队列和数组 本文参考百度文库的多篇文章. 如需下载ppt文件,请在本 ...

最新文章

  1. 目标检测coco数据集点滴介绍
  2. 洛谷P1092 虫食算
  3. Golomb及指数哥伦布编码原理介绍及实现
  4. python中用来捕获异常的是_python – 在一行中捕获多个异常(块除外)
  5. 安装完matlab7.0但无法运行
  6. ie 不执行回调函时_「Excel VBA操作IE篇」10分钟内设置完成,3句代码打开IE浏览器
  7. 程序员的奋斗史(三十五)——人在囧途之应聘篇(五)
  8. 高级 Java 面试通关知识点整理
  9. Mysql 导入导出数据结构及数据
  10. python中locked_Python锁类| 带示例的locked()方法
  11. 蓝桥杯51单片机之串口通信发送接收信息【单片机开发初学者串口必会】
  12. 1104File Space Bitmap Block损坏能修复吗
  13. 设置“文件共享”,方便两台主机共享文件
  14. 感性电路电流计算_电路理论——关于复功率的一些常见问题
  15. 指针(一)(基本概念)
  16. 【054】七麦数据-应用商店中详细的应用大数据
  17. 360路由器的虚拟服务器设置,360路由器无线万能中继设置教程图解
  18. 第11届蓝桥杯本科组校赛
  19. 搬家后计算机总重启,电脑老是开机后不久(几分钟)自动重启,重启一两遍后就可以正常运行...
  20. Java:pdf转word

热门文章

  1. ZEMAX 2018中文版光学仿真视频教程
  2. 后端开发之如何写接口设计文档
  3. win7科学计算机的用法,win7系统自带的计算器使用的修复步骤
  4. 给大佬递java表情_给大佬递茶表情包
  5. 回忆测试--------广告理论
  6. 白盒测试 语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖
  7. 2020数据分析人才及CDA持证人行业报告
  8. vs2010 中文版发布及下载地址
  9. MFC AlphaBlend 函数
  10. FANUC主板图纸 电路图