计算机地图制图的理论基础课件
计算机地图制图原理与方法基本图形生成算法PPT课件
a=y0-y1; b=x1-x0;d=2*a+b; d1=2*a;d2=2* (a+b); x=x0;y=y0; while (x<=x1) { SetPixel (x, y, color); if (d<0) {x++;y++; d+=d2; } else {x++; d+=d1;} } /* while */ } /* midPointLine */
第13页/共34页
程序改进
void Bresenhamline (int x0,int y0,int x1, int y1,int color)
{ dx = x1-x0,;dy = y1- y0,;e=-dx;
x=x0; y=y0; for (i=0; i<=dx; i++)
从速度考虑,还 有那些可以改进?
第9页/共34页
3.2.3 生成直线的Bresenham算法
Yi+1 Yi
D
B A
C
xi
Xi+1
第10页/共34页
原理:
d
d
dd
假定直线斜率,0<k<1, 起点坐标为(x,y);
下一个点亮象素可能是:(x+1,y) 或 (x+1,y+1)。这可通过d值的大小来确定:
d = d+k, 当d>1 时 d=d-1 ;
d = F(xp + 2, yp - 0.5)
《数字地图制图》PPT课件
• 二、非空间数据结构 • 非空间数据主要包括专题属性数据、质量描
述数据、时间因素等有关属性的语义信息。
• 地图数据库中的非空间数据有如下几种组织模 式:
• (1) 简单表格数据结构 • (2) 层次数据结构 • (3) 网络数据结构 • (4) 关系数据结构
•
图形要素只出现在三维数据空间结构中,因此表
达地图要素的图形都可以看作是点的集合。从数字制
图角度看,制作地图的过程,就是把构成地图要素的
点、线、面以点的坐标(xyz)一一记录下来,形成
有规律的数字集合,并对这些数字形式的图形信息进
行处理,然后将经过加工的数字信息再现,使其成为 地图图形输出的过程。
•
• 第三节 数字地图制图的基本流程
• 一、数字地图制图的基本流程
• 数字地图制图的基本流程可分为四个阶段:
• 1编辑准备阶段
• 这一阶段的工作与传统的制图过程基本相同, 包括收集、分析评价和确定编图资料,根据编 图要求选定地图投影、比例尺、地图内容、表 示方法等并按自动制图的要求做些编辑准备工 作。
• 在地图中,点、线、面等基础要素构成了一 幅地图,在数据组织形式上表现为:点用单一 的坐标(x,y)来表示,;线则用多个坐标对 来表示,也可以说是用多个点来表示;面同线 一样也是用多个坐标对来表示,与线不同的是, 面的最后一个坐标对必须与第一个坐标相对应。
• 图形数据另一个重要的数据结构就是拓扑结 构,即基本要素点、线、面、体之间具有、邻 接、关联和包含的拓扑关系。
包含的拓扑关系。
• 1.图形数据的基本要素为点、线、面和 体
No1_计算机地图制图技术
街景地图
GIS天空; 地图学与GIS实验室/ArcGIS教学与应用研究中心 ; lrjgis@
手绘绿地图???
GIS天空; 地图学与GIS实验室/ArcGIS教学与应用研究中心 ; lrjgis@
GIS天空; 地图学与GIS实验室/ArcGIS教学与应用研究中心 ; lrjgis@
Google Earth掀起的风暴——WebService
GIS天空; 地图学与GIS实验室/ArcGIS教学与应用研究中心 ; lrjgis@
网络地图搜索
GIS天空; 地图学与GIS实验室/ArcGIS教学与应用研究中心 ; lrjgis@
计算机地图制图流程
地图制图需求分析
地图制图方案设计 数据来源获取 坐标系统框架定义 设置与输入控制点 数据生产与加工 设置数字化参数 数据优化与规范 读图、分层 固定地图 输入初始化参数
数字化
地图可视化表达 检查修改数字化错误 地图制版与输出
GIS天空; 地图学与GIS实验室/ArcGIS教学与应用研究中心 ; lrjgis@
SuperMap软件
GIS天空; 地图学与GIS实验室/ArcGIS教学与应用研究中心 ; lrjgis@
R2V软件
GIS天空; 地图学与GIS实验室/ArcGIS教学与应用研究中心 ; lrjgis@
计算机地图制图—授课体系
计算机地图制图的发展过程 计算机地图制图的起源 计算机地图无所不在 计算机地图制图与其它学科、技术的关系 计算机地图制图与地图 计算机地图制图与CAD(Computer Aided Design) 计算机地图制图与GIS、RS、GPS 计算机地图制图与数据库技术 计算机地图制图与Web 计算机地图制图与实景地图 制图软件平台(R2V、MapGIS、ArcGIS、MapInfo、AutoCAD) 计算机地图制图流程 课程体系结构介绍
计算机地图制图课件【3】地图数据处理资料
点S(x,y)到直线段(x1,y1),(x2,y2)的距离d的计算公式为:
——计算机地图制图基本过程
数据采集建库
形式设计
表达输出 数据加工处理
第四讲 地图数据处理
对采集的各种数据,按照不同的方式方法对数踞进行编辑运算, 清除数据沉余,弥补数据缺失,形成符合用户要求的数据文件格式。
主要内容: —— 数据格式转换 —— 坐标变换 —— 图形属性编辑 —— 数据裁切与接边 —— 拓扑及逻辑一致性关系改正 —— 数据压缩与光滑
<4> 三种改正策略
(1)移动河流
(2)移动等高线
(3)同时移动
例2:房屋与道路冲突探测与调整
道路更新后与周边邻近房屋产生冲突(小板房压盖),通过探测,对有 冲突关系的小板房进行旋转、位移处理自动改正该冲突关系。
例3:基于“空间场模型”的群目标冲突 波及范围探测与一致性改正
将地图综合种的移位方法应 用到空间冲突改正中,提出一种 基于场论分析的移位方法,具有 传递性与衰减性特征。 借助于物理学场论中的“等势线 ”模型来表达这一移位现象,在 Delaunay三角网支持下建立多级 邻近关系曲线,探测内部冲突与 外部冲突。
4.1 地图数据格式转换
数据格式:地图数据在文件或记录中的编排格式 。 导致地图数据格式不同的原因包括:
(1)采用不同的数据结构 矢量数据格式 栅格数据格式
(2)不同行业、软件系统出于各种原因定义不同的数据格式
《计算机地图制图》课件简介
1. 绪论 了解卫星定位系统发展的历史;了解子午卫星导航系统的原理及发展;掌握 GPS 定位系统的组 成部分及各部分的功能;掌握 GPS 定位的特点;掌握 GPS 的应用领域。 重点:GPS 系统组成。难点:GPS 定位中的空间后方交会原理。 2. 天球坐标系统 了解天球坐标系的用途;掌握天球、春风点、北天极、黄道、北黄极、黄赤交角、岁差、章动 概念;掌握天球三维直角坐标系、天球球面坐标系的定义;掌握协议天球坐标系、瞬时天球坐标系、 平天球坐标系的定义;掌握岁差和章动产生的原因。 重点:协议天球坐标系、瞬时天球坐标系、平天球坐标系的定义。难点:岁差章动产生的原因。 3. 地球坐标系统及时间系统 了解地球坐标系的用途;掌握极移现象及成因;掌握地球三维直角坐标系、大地坐标系的定义; 掌握瞬时地球坐标系和协议地球坐标系的定义;了解协议天球坐标系化为协议地球坐标系的过程; 掌握地心系和参心系的区别。 重点:地心地固坐标系;参心坐标系。难点:各类坐标系间的相互转换。 4. 卫星运动及卫星信号 卫星轨道参数及摄动参数;卫星在观测瞬间的地心地固坐标系中坐标。掌握卫星轨道参数及摄 动参数;掌握卫星坐标计算过程。 难点:观测瞬间卫星坐标计算。 5. RINEX 格式文件的认识 掌握 RINEX 格式文件的类型、文件名的格式;掌握 RINEX 格式文件的格式;掌握精密星历文件 格式。 重点:RINEX 格式文件的格式。难点:提取导航电文中各卫星轨道参数。 6. 静态绝对定位原理 了解测距码、载波相位测量原理;掌握绝对定位的原理;掌握精度衰减因子。 重点:绝对定位原理。难点:测距码、载波相位测量原理。 7. GPS 测速 了解 GPS 测时的原理;了解 GPS 测速的原理。 8. GPS 相对定位原理 掌握单差、双差、三差推理及其优缺点、用途;掌握利用单差模型、双差模型、三差模型进行 定位原理。
计算机地图制图原理与算法基础.ppt
(3)计算机地图制图与GIS
计算机地图制图是GIS的重要组成部分。计算机 地图制图侧重于地物的显示和处理,讨论地形、地 物和各种专题要素在地图上的表示,并且以数字形 式对它们进行存贮、管理,最后通过图形输出设备 输出地图。
GIS既注重实体的空间分布又强调它们的可视 化效果,既注重实体的空间特征又强调它们的非空 间(属性)特征及其操作,具备强大的空间分析和 决策支持能力。现代GIS都具有计算机地图制图的 成分,具备良好的地图制图功能,但并非所有计算 机地图制图系统都含有GIS的全部功能。
操作平台
接口
有效区域
标示器
支架
图1-5 手扶跟踪数字化仪
图1-6 标示器
Y行写线
Y脉冲Y脉冲发发生生器 器
X冲发X冲生发生器器
时钟脉冲
时钟脉冲 计数计器数器
图1-7 数字化仪工作原理
X坐标 Y坐标
图1-8 线性CCD外观
谢谢!
1.2 计算机地图制图的一般过程
数据获取
数据处理
数据输出
地图数字化 影像数字化 数字测图 数据转贮 键盘录入 ……
图1成 自动综合 曲线光滑 分析处理 注记配置 符号化处理
图形显示 绘图输出 胶片输出 光盘输出
……
……
计算机地图制图的一般过程
1.3 计算机地图制图的设备
不同之处: CAD一般采用几何坐标系,处理的多为规则
几何图形及其组合,图形功能尤其是三维图形功 能极强,属性数据处理功能相对较弱。
计算机地图制图一般采用大地坐标系,处理 的多为地理空间的自然目标和人工目标,图形关 系更为复杂,因而图形处理的难度更大,且制图 数据来源广、输入方式多样化。特别是专题地图 的自动绘制,需要丰富的地图符号库和属性数据 库支持。
计算机制图基本知识课件
总结词
环境艺术设计制图是计算机制图在环境艺术 设计领域的应用,它涉及到景观设计、室内 设计、城市规划等多个方面。
详细描述
环境艺术设计制图使用CAD和GIS(地理信 息系统)软件,实现环境景观的规划和设计 。通过精确的室内设计制图,保证室内装修 和布局的美观和实用性。城市规划则能通过 计算机制图实现城市空间布局的优化和可持 续发展。
SketchUp
总结词
易用的3D建模软件
详细描述
SketchUp是一款简单易用的3D建模软件,广泛应用于建筑、景观、室内设计等 领域。它提供了丰富的绘图工具和强大的编辑功能,支持导入和导出多种文件格 式,方便与其他软件的协作。
SolidWorks
总结词
专业的3D机械设计软件
详细描述
SolidWorks是一款专业的3D机械设计软件,广泛应用于机械、汽车、航空航天等领域。它提供了丰 富的绘图工具和强大的编辑功能,支持参数化设计、装配体设计和工程图生成等功能,可以大大提高 设计效率。
计算机制图基本知识课件
• 计算机制图概述 • 计算机制图基础知识 • 常用计算机制图软件 • 计算机制图进阶知识 • 计算机制图实践应用
01
计算机制图概述
计算机制图定义
01
计算机制图是指利用计算机技术 进行图形设计和绘制的统称。
02
它涉及使用各种软件工具和技术 ,将设计理念转化为数字图形, 并进行编辑、修改和输出。
机械设计制图
总结词
机械设计制图是计算机制图在机械工程领域的应用,它涉及到零件设计、装配图绘制和 运动仿真等多个方面。
详细描述
机械设计制图使用CAD软件,实现零件的精确设计和建模。通过装配图绘制,保证机 械设备的正确组装和运行。同时,运动仿真能够模拟机械设备的运动状态和性能,为优
算机地图制图原理概
面状符号
表示面状地物,如森林、湖泊 等。
文字和数字注记
表示地物的名称、数量、质量 等属性信息。
03
CATALOGUE
计算机地图制图技术原理
03
CATALOGUE
计算机地图制图技术原理
数字地图的制作流程
地图数据采集
通过实地调查、遥感技术、GPS定位等方式 获取地图数据。
地图符号化
将地理信息数据转化为可视化的地图符号, 以表达地理要素的特征和属性。
坐标系统
描述地理要素的空间位置,常见的坐 标系统有地理坐标、投影坐标等。
坐标转换
在地图制作过程中,可能需要将不同 坐标系统进行转换,以确保地图的准 确性和一致性。
地理信息系统的应用
GIS概述
GIS功能
地理信息系统是一种用于处理、分析和表 达地理数据的计算机系统。
包括数据输入、编辑、查询、分析、可视 化等,广泛应用于资源管理、城市规划等 领域。
环境监测等。
灾害应急响应
地图制图软件在灾害应急响应中用于 制作应急地图、进行灾害评估和资源
调度等。
自然资源管理
在土地资源管理、森林资源管理、水 资源管理等领域,地图制图软件发挥 着重要作用。
商业决策支持
地图制图软件可以为商业决策提供可 视化支持,如市场分析、物流规划等 。
软件应用案例分析
城市规划与管理
软件内置或支持插件形 式的空间分析工具,如 缓冲区分析、叠加分析 、网络分析等,用于解 决各种地理空间问题。
地图制图软件支持多种 形式的可视化表达,如 柱状图、饼图、热力图 等,同时可以将地图导 出为各种格式的文件, 如PDF、JPEG、PNG等 。
软件功能和使用方法
数据输入与处理
第04章 计算机地图绘图基础01
二,基本概念-2 基本概念3.屏幕域 3.屏幕域 设备输出图形的最大区域, 设备输出图形的最大区域,是有限的整 数域. 数域. 4.视图区 4.视图区 任何小于或等于屏幕域的区域. 任何小于或等于屏幕域的区域.
三,坐标变换
1.坐标系的概念 1.坐标系的概念 大比例尺数字测图中的坐标系一般采用 高斯-克吕格坐标系或独立坐标系, 高斯-克吕格坐标系或独立坐标系,它们都 是一种平面直角坐标系统. 是一种平面直角坐标系统.
Xs Xg (maxXg, maxYg) (minXs, minYs) Yp (maxXp, maxYp)
P(Xg, Yg) (minXg, minYg) Ys Yg
P(Xs, Ys)
P(Xp, Yp) (minXp, minYp) Xp
(maxXs, maxYs)
大地坐标系
屏幕坐标系
绘图坐标系
2.测量坐标系, 2.测量坐标系,笛卡尔坐标系和屏幕坐标系 测量坐标系 (1)测量坐标系 采用高斯 采用高斯-克吕格平面直角坐标系或独 立坐标系, 轴为纵轴表示南北方向, 立坐标系,以X轴为纵轴表示南北方向,以Y 轴为纵轴表示南北方向 轴为横轴表示东西方向, 轴表示高程. 轴为横轴表示东西方向,以Z轴表示高程. 轴表示高程 测图成果一般是在平面地形图上加注高 程和绘制等高线. 程和绘制等高线.测量坐标系一般以米为单 取值范围是可以是整个实数域, 位,取值范围是可以是整个实数域,在实际 工作中它的取值往往和地理区域有关. 工作中它的取值往往和地理区域有关.
测量坐标系
p p g
绘图坐标系
g
X = min X + M (Y min Y ) Y = min Y + M ( X min X ) M = (max X min X ) (max Y min Y )
计算机地图制图原理
计算机地图(dìtú)制图原理第1章计算机地图制图是指以计算机硬件设备为基础,在相应软件软件系统的支持下,以数字格式对地图制图要素与现象数据进行采集、处理与管理,按照地图制作的规范进行符号化、图版制作与输出(shūchū),并提供地图自动分析的过程。
地图是按照一定的数学法则,将地球(或星体)表面的空间信息,经概括综合后以可视化、数字化或可触摸的符号形式,缩小表达(biǎodá)在一定载体上的图形模型,用以传输、模拟和认知客观世界的时空信息。
计算机地图制图(zhì tú)系统的数据转换:多源数据---计算机地图制图系统---数字地图。
计算机地图(dìtú)制图一般过程:地面数据获取---地面数据处理---地图输出。
计算机图形学是研究怎样用计算机生成、处理和现实图形的一门学科。
计算机图形系统由图形硬件系统和图形软件系统组成,图形硬件系统是支持图形的设备,图形软件系统是实现图形设备管理和图形功能的程序和数据,计算机图形系统特点是数据量大、数据结构复杂、数据操作计算机量大和处理方法复杂。
计算机图形系统基本功能:1.图形输入输出功能2.图形定义和维护功能3.图形数据存储和管理功能4.图形变换、图形处理和数据计算功能。
地图数据主要包括:1.地理要素空间数据2.地理要素属性数据3.地理要素空间关系数据4.地图符号库5.地图注记数据6.地图元数据。
计算机地图制图的当前发展特点:1.多元数据采集手段一体化2.数据标准化3.数据库集成化4.地图产品多元化5.地图分析的深入6.地图表达方式多样化7.地图及相关应用商业化。
计算机地图制图的主要研究内容:1.计算机地图制图硬件设备研制与开发2.制图数据采集与预处理3.地图要素表达与数据结构4.地图符号设计5.地形表达6.地图数据存储与组织7.地图操作8.地图空间分析与地图关系9.输入输出10.三维可视化、虚拟现实地图与虚拟地理环境11.地图制图新技术应用12.计算机地图制图软件系统与应用系统开发。
计算机地图制图课件【4】地图数据可视化
B.不依比例尺双线河:
是单线河与依比例尺双线河的过渡部分,即图上河流宽度等于 0.4mm。 用蓝色0.4mm的双线表示
C.依比例尺双线河:
图上河流宽度大于0.4mm。 用蓝色双线依河流实地位置表示
② 运河、沟渠
与河流相比,运河、沟渠一般具有人工性质。 通常用蓝色平行双线或等粗实线来表示,按实地宽度分级使用不同 的宽度或粗细。
射产生的明暗程度,用 浓淡的墨色或彩色沿斜
坡渲绘阴影,造成明暗
对比,显示地貌的起伏 、形态和分布特征,称
为地貌晕渲法 。
(3)等高线法
等高线:一组地面高程相等的点的连线。
等高距:地形图上相邻等高线的高程差。 在大、中比例尺地形图上等高距是固定的,根据等高线的疏密 可以判断地形的变化情况。
等高线的特点: A.连续、封闭的曲线;
(D)晕渲:以色调的阴暗、冷暖变化表 现海底地形地貌起伏。
海底地形的表示
(2)陆地水系的表示
① 河流
河流在地图上是用线状符号配合注记来表示的,通常要表示出河
流的大小(长度、宽度)、形状和水流情况。常年河用蓝色实线表示, 时令河用蓝色虚线表示。 —— 用蓝色的细实线(制图上称水涯线)符号表示河流两岸岸线,水 域用浅蓝色普染表示,称为双线河;如果雨季的高水位与常水位相差 很大,在大比例尺地图上还要求同时用棕色虚线表示高水位岸线。 —— 宽度不能按比例尺表示的河流,用蓝色单线表示,称为单线河; 由河源到河口用0.1mm~0.4mm逐渐加粗,单线的粗细渐变反映河流 的流向和形状。
明暗变化表示地形起伏
颜色变化表示地形起伏
(3)地图符号的构图方式:
—— 通过象形、会意的方式抽象出要素的主要特征。
—— 纯粹的指代关系
计算机绘图基础知识PPT课件
第二章 二维图形变换
上一页 下一页
第二章 二维图形变换
2011年计算机绘图
一。 图形坐标矩阵
1.二维
x4,y4
x3,y3
取图形的拐点坐标(Xi,Yi)依次生成
x1,y1
x2,y2
x1 y1
x1 y1 1
x2
图形坐标矩阵
x
3
y2
y
3
增加一坐标
x
2
变成齐次坐标矩阵 x 3
a b p T c d q
l m s
2011年计算机绘图
除透视变换(p,q≠0)外,其余变换具有仿射变换的性质。即变换前 后图形之间保持以下性质: 1). 从属性:变换前图形上的直线或点,变换后在图形上均有直线 或点以之对应。 2). 同素性:变换前是直线或点,变换后仍是直线或点。 3).平行性:两平行线段变换后仍保持平行。 4).定比性:变换前两线段之比等于变换后对应线段之比。
co2s 0
Csi2n
A
1
=平移﹒旋转﹒对称﹒旋转﹒平移
上一页 下一页
2011年计算机绘图
(三). 级联顺序对图形的影响
由于矩阵的乘法运算不适用交换律: 即A·B≠B·A
级联的顺序是不能随意颠倒的。也就是说,级联的顺序对图形 一般是有影响的。
例如:平移、旋转的级联
平移量受旋转变换的影响。
100 c os in 0 c os s in 0 T 010 s in c o0 s s in c os 0
cos sin 0
x
T4sin cos 0
0
0 1
(5)
.沿x向平移
C A
,使对称轴回到原点的位置,其变y换矩阵为:
计算机地图制图原理概述
计算机地图制图的基本原理
• 图形的离散化 • 用点可以表示地图上所有的图形,而平面上的任意一点可以用x,y,M来表示,X,Y表示点的平面位置,
• 国内发展状况 • 1 硬件方面 • 2 软件开发及系统建立方面
• 硬件 • 软件 • 地图数据 • 制图人员
计算机地图制图原理概述
• 输入设备 • 处理设备 • 输出设备
计算机地图制图原理概述
• 键盘鼠标 • 光笔、触摸屏 • 数字化仪 • 扫描仪 • 全站仪、GPS接收机等
输入设备
手扶跟踪数字化仪
喷墨打印机
栅格点阵
高 适合绘制一般的线划地图,还可以进行刻图等特殊方式 的绘图
高
可制作彩色地图与影像地图等各类精致地图制品。
高分辨彩显
屏幕像元点阵
一般
实时显示GIS的各类图形、图像产品。
行式打印机 胶片拷贝机
字符点阵 光栅
差 以不同复杂度的打印字符输出各类地图,精度差,变形 大。
较高 可将屏幕图形复制至胶片上,用于制作幻灯片或正胶片。
• 手扶跟踪数字化仪,根据其采集数据的方式分为机械式、超声波式和全电子式三种, 其中全电子式数 字化仪精度最高,应用最广。按照其数字化版面的大小可分为A0、A1、A2、A3、A4 等。
• 数字化仪由电磁感应板、游标和相应的电子电路组成。这种设备利用电磁感应原理:在电磁感应 板的x,y方向上有许多平行的印刷线,每隔200μm一条。游标中装有一个线圈。当使用者在电磁 感应板上移动游标到图件的指定位置,并将十字叉丝的交点对准数字化的点位,按动相应的按钮时, 线圈中就会产生交流信号,十字叉丝的中心也便产生了一个电磁场,当游标在电磁感应板上运动时, 板下的印制线上就会产生感应电流。印制板周围的多路开关等线路可以检测出最大信号的位置,即 十字叉线中心所在的位置,从而得到该点的坐标值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0° ≤ β < 360°
判断点与多边形位置关系的铅垂线内点算法 判断点与多边形位置关系的铅垂线内点算法
(适用于带孔多边形 适用于带孔多边形) 适用于带孔多边形
基本思想:从待判别点引铅垂线, 基本思想:从待判别点引铅垂线,由该铅垂线 注意:是一条射线)与多边形交点个数的奇 (注意:是一条射线)与多边形交点个数的奇 偶性来判断点是否在多边形内 来判断点是否在多边形内。 偶性来判断点是否在多边形内。 若交点个数为奇数,点在多边形内; 若交点个数为奇数,点在多边形内; 若交点个数为偶数,则该点在多边形外。 若交点个数为偶数,则该点在究的重点问题是求线与面的相交。 线面关系研究的重点问题是求线与面的相交。 求线与面的相交 线段与多边形交线的算法 :
第一步,求多边形的最小投影矩形。 第一步,求多边形的最小投影矩形。 第二步, 第二步,判断线段是否有端点在该最小投影矩形 若不在,结论为“线段与多边形相离” 中。若不在,结论为“线段与多边形相离”,算 法结束;否则,执行第三步。 法结束;否则,执行第三步。 第三步,顺次判断线段与多边形各边是否有交点, 第三步,顺次判断线段与多边形各边是否有交点, 若有交点,则求出并保存交点坐标。 若有交点,则求出并保存交点坐标。 第四步,对交点坐标排序:计算各交点与线段一 第四步,对交点坐标排序:计算各交点与线段一 端点的距离 的距离, 端点的距离,然后按照距离由小到大对交点编号 排序。 排序。 第五步,按规律连接各个交点, 第五步,按规律连接各个交点,得到位于多边形内部的 连接各个交点 交线。 交线。
判断点线侧位关系的意义? 判断点线侧位关系的意义?
1.2 点、线关系的判别方法 点线关系判别的目的之一是确定点是否在线上。 点线关系判别的目的之一是确定点是否在线上。
p1
P2 B P6
P3
P4
A
P5
点线关系的判断(虚线为投影矩形) 图2-1 点线关系的判断(虚线为投影矩形)
1.3 点到线的距离计算
{ if(((PointXyz[j].x<x&&x<PointXyz[j+2].x)||(PointXyz[j+2].x<x&&x<PointXyz[j].x))&&PointXyz[j+2].y>y) //若前后相邻的两顶点在该顶点所做铅垂线分得异侧,则num++ 若前后相邻的两顶点在该顶点所做铅垂线分得异侧, 若前后相邻的两顶点在该顶点所做铅垂线分得异侧 num=num+1; else if(x==PointXyz[j+1].x&&x==PointXyz[j+2].x&&PointXyz[j+2].y>y) //若铅垂线与边部分重合 若铅垂线与边部分重合 { if((PointXyz[j+3].x<x&&x<PointXyz[j].x)||(PointXyz[j].x<x&&x<PointXyz[j+3].x)) num=num+1; } } } if(num%2==1) { MessageBox("点在多边形内!");} 点在多边形内! 点在多边形内 else if(num%2==0) { MessageBox("点在多边形外!");} 点在多边形外! 点在多边形外 }
部分源代码: 部分源代码:
void CDraw1View::judge2(float x, float y) { float xmax=PointXyz[0].x; float xmin=PointXyz[0].x; float ymin=PointXyz[0].y; float fy; //fy为待判断点与直线方程的交点的纵坐标 为待判断点与直线方程的交点的纵坐标 int num=0; //记录待判断点与直线方程的交点的数目 记录待判断点与直线方程的交点的数目 PointXyz[a].x=PointXyz[0].x; PointXyz[a].y=PointXyz[0].y; PointXyz[a+1].x=PointXyz[1].x;PointXyz[a+1].y=PointXyz[1].y; PointXyz[a+2].x=PointXyz[2].x; PointXyz[a+2].y=PointXyz[2].y; PointXyz[a+3].x=PointXyz[3].x; PointXyz[a+3].y=PointXyz[3].y;
3.2 点与多边形位置关系的计算
判断点与多边形位置关系的夹角求和算法
(只适用于简单多边形 对于带孔多边形的算法改进比较麻烦 只适用于简单多边形,对于带孔多边形的算法改进比较麻烦 只适用于简单多边形 对于带孔多边形的算法改进比较麻烦)
设有一简单n边形,其顶点可以表示为 设有一简单 边形,其顶点可以表示为Pi(xi,yi), 边形 i=1,2…, ,另有待判别的独立点A。连接点A与多边 =1,2…,n,另有待判别的独立点A =1,2…, 形的各个顶点,计算其夹角和,且规定顺时针方向 形的各个顶点,计算其夹角和, 旋转的角度为正 逆时针方向旋转的角度为负 旋转的角度为正,逆时针方向旋转的角度为负。若 有
若满足: 若满足:
图2-5 点与三角形的位置关系
则点P位于三角形的内部,否则点 位 则点 位于三角形的内部,否则点P位 位于三角形的内部 于三角形的外部。 于三角形的外部。
void CTView::OnLButtonUp(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default //CView::OnLButtonUp(nFlags, point); if(m_DrawCurrent==2) { float F1=f1(PointXyz[2].x,PointXyz[2].y); float F2=f2(PointXyz[0].x,PointXyz[0].y); float F3=f3(PointXyz[1].x,PointXyz[1].y); float F4=f1(float(mPointOrign.x),float(mPointOrign.y)); float F5=f2(float(mPointOrign.x),float(mPointOrign.y)); float F6=f3(float(mPointOrign.x),float(mPointOrign.y)); if(F1*F4>0 && F2*F5>0 && F3*F6>0) MessageBox(" 点在三角形内! "); 点在三角形内! 点在三角形外! else MessageBox(" 点在三角形外! "); ReleaseCapture(); } }
A P1
P2
P2 P1 A P3 P4
(b)
P3 P4
(a)
图2-12 铅垂线交于多边形的顶点
P2 P1 P1 A P3 P2
A P3
P6 P5
(a)
P4
P5
P4
(b)
图2-13 铅垂线与多边形的一边相重合
特殊情况的考虑: 特殊情况的考虑: 1. 交点位于多边形顶点 建立铅垂线的直线方程,判断该顶点前、 建立铅垂线的直线方程,判断该顶点前、后相邻 的两顶点是否在铅垂线的同侧,若在同侧, 的两顶点是否在铅垂线的同侧,若在同侧,Num不 变,否则Num加1。 2. 铅垂线与多边形的一条边重合 建立铅垂线的直线方程, 建立铅垂线的直线方程,判断与该边两端点相邻的 后两顶点是否在铅垂线的同侧,若在同侧, 前、后两顶点是否在铅垂线的同侧,若在同侧, Num不变 否则Num 不变, Num加 Num不变,否则Num加1。
点到线段的距离可能是该点与线段某一端点的距离, 点到线段的距离可能是该点与线段某一端点的距离, 某一端点的距离 也可能是点到线段的垂距 垂距。 也可能是点到线段的垂距。
p1 p1
A
p2 (a)
A
p2
(b)
图2-2 点与线段距离的两种情形
点到线的距离有最远距离和最近距离。 点到线的距离有最远距离和最近距离。
图2-4 折线的单调链划分及其投影矩形 折线自相交的判断与此基本一样. 折线自相交的判断与此基本一样
3.点面关系 3.点面关系
3.1点与三角形位置关系的计算 3.1点与三角形位置关系的计算 AB BC CA
f1 ( x, y ) = a1 x + b1 y + c1 f 2 ( x, y ) = a 2 x + b2 y + c2
1. 点线关系
点在线上
点线相离
研究重点:点与线段的侧位关系判断、 研究重点:点与线段的侧位关系判断、点与线 拓扑关系的判别方法及点到线的距离计算。 拓扑关系的判别方法及点到线的距离计算。
1.1 点线侧位关系判断
Ax 设有一条直线,其方程为: 设有一条直线,其方程为: + By + C = 0 ,则对于函 数 f ( x, y ) = Ax + By + C ,任取空间一点 m( x0 , y 0 ) ,有:
l6 l4 l3 l2 k1
第一步:生成单调链 此图中 第一步:生成单调链(此图中 为关于纵坐标的单调链) 为关于纵坐标的单调链
k2
L
l1 l5
K
k3
第二步: 第二步:计算每个单调链的 最小投影矩形 第三步: 第三步:两两判断最小投影 矩形是否相交,如相交 如相交,才判 矩形是否相交 如相交 才判 断其对应单调链是否相交. 断其对应单调链是否相交
f 3 ( x, y ) = a3 x + b3 y + c3