利用cvMinAreaRect2求取轮廓最小外接矩形

利用cvMinAreaRect2求取轮廓最小外接矩形
利用cvMinAreaRect2求取轮廓最小外接矩形

其中返回的2D盒子定义如下:

1 typedef struct CvBox2D

2 {

3 CvPoint2D32f center; /* 盒子的中心 */

4 CvSize2D32f size; /* 盒子的长和宽 */

5 float angle; /* 水平轴与第一个边的夹角,用弧度表示*/

6 }CvBox2D;

注意夹角 angle 是水平轴逆时针旋转,与碰到的第一个边(不管是高还是宽)的夹角。如下图

可用函数cvBoxPoints(box[count], point); 寻找盒子的顶点

1 void cvBoxPoints( CvBox2D box, CvPoint2D32f pt[4] )

2 {

3 double angle = box.angle*CV_PI/180.

4 float a = (float)cos(angle)*0.5f;

5 float b = (float)sin(angle)*0.5f;

6

7 pt[0].x = box.center.x - a*box.size.height - b*box.size.width;

8 pt[0].y = box.center.y + b*box.size.height - a*box.size.width;

9 pt[1].x = box.center.x + a*box.size.height - b*box.size.width;

10 pt[1].y = box.center.y - b*box.size.height - a*box.size.width;

11 pt[2].x =2*box.center.x - pt[0].x;

12 pt[2].y =2*box.center.y - pt[0].y;

13 pt[3].x =2*box.center.x - pt[1].x;

14 pt[3].y =2*box.center.y - pt[1].y;

15 }

简单证明此函数的计算公式:

计算x,由图可得到三个方程式:pt[1].x - pt[0].x = width*sin(angle)

pt[2].x - pt[1].x = height*cos(angle)

pt[2].x - pt[0].x =2(box.center.x - pt[0].x)联立方程可解得函数里的计算式,算 y 略。

写了个函数绘制CvBox2D

1 void DrawBox(CvBox2D box,IplImage* img)

2 {

3 CvPoint2D32f point[4];

4 int i;

5 for ( i=0; i<4; i++)

6 {

7 point[i].x =0;

8 point[i].y =0;

9 }

10 cvBoxPoints(box, point); //计算二维盒子顶点

11 CvPoint pt[4];

12 for ( i=0; i<4; i++)

13 {

14 pt[i].x = (int)point[i].x;

15 pt[i].y = (int)point[i].y;

16 }

17 cvLine( img, pt[0], pt[1],CV_RGB(255,0,0), 2, 8, 0 );

18 cvLine( img, pt[1], pt[2],CV_RGB(255,0,0), 2, 8, 0 );

19 cvLine( img, pt[2], pt[3],CV_RGB(255,0,0), 2, 8, 0 );

20 cvLine( img, pt[3], pt[0],CV_RGB(255,0,0), 2, 8, 0 );

21 }

转自:https://www.360docs.net/doc/2517161051.html,/forum/viewtopic.php?t=8886

CvBox2D和CvRect最大的区别在于Box是带有角度angle的,而Rect则只能是水平和垂直。

相应的,绘制Box时就不能用cvRectangle()了,可以先算出Box的4个顶点,再用多边形绘制函数cvPolyLine()来画出Box。

同理,要找到最大的矩形,就不能用cvMaxRect,可以逐个计算每个Box的面积box_area = box.size.width * box.size.height 来找出最大矩形。

//找出完整包含轮廓的最小矩形

CvBox2D rect = cvMinAreaRect2(contour);

//用cvBoxPoints找出矩形的4个顶点

CvPoint2D32f rect_pts0[4];

cvBoxPoints(rect, rect_pts0);

//因为cvPolyLine要求点集的输入类型是CvPoint**

//所以要把CvPoint2D32f 型的rect_pts0 转换为CvPoint 型的rect_pts

//并赋予一个对应的指针*pt

int npts = 4;

CvPoint rect_pts[4], *pt = rect_pts;

for (int rp=0; rp<4; rp++)

rect_pts[rp]= cvPointFrom32f(rect_pts0[rp]);

//画出Box

cvPolyLine(dst_img, &pt, &npts, 1, 1, CV_RGB(255,0,0), 2);

ArcGIS空间分析工具

ArcGIS空间分析工具(SpatialAnalystTools) 1空间分析之常用工具 空间分析扩展模块中提供了很多方便栅格处理的工具。其中提取(Extraction)、综合(Generalization)等工具集中提供的功能是在分析处理数据中经常会用到的。 1.1提取(Extraction) 顾名思义,这组工具就是方便我们将栅格数据按照某种条件来筛选提取。 工具集中提供了如下工具: ExtractbyAttributes:按属性提取,按照SQL表达式筛选像元值。 ExtractbyCircle:按圆形提取,定义圆心和半径,按圆形提取栅格。 ExtractbyMask:按掩膜提取,按指定的栅格数据或矢量数据的形状提取像元。 ExtractbyPoints:按点提取,按给定坐标值列表进行提取。 ExtractbyPolygon ExtractbyRectangle ExtractValuestoPoints:按照点要素的位置提取对应的(一个/多个)栅格数据的像元值,其中,提取的Value 可以使用像元中心值或者选择进行双线性插值提取。 Sample:采样,根据给定的栅格或者矢量数据的位置提取像元值,采样方法可选:最邻近分配法(Nearest)、双线性插值法(Bilinear)、三次卷积插值法(Cubic)。 以上工具用来提取栅格中的有效值、兴趣区域点等很有用。 1.2综合 这组工具主要用来清理栅格数据,可以大致分为三个方面的功能:更改数据的分辨率、对区域进行概化、对 区域边缘进行平滑。 这些工具的输入都要求为整型栅格。 1.更改数据分辨率 Aggregate:聚合,生成降低分辨率的栅格。其中,CellFactor需要是一个大于1的整数,表示生成栅格的像 元大小是原来的几倍。 生成新栅格的像元值可选:新的大像元所覆盖的输入像元的总和值、最小值、最大值、平均值、中间值。

最短路径分析(代码)

最短路径分析(源码) using System; ArcEngine using ESRI.ArcGIS.Carto; using ESRI.ArcGIS.Geometry; using ESRI.ArcGIS.Geodatabase; using https://www.360docs.net/doc/2517161051.html,workAnalysis;//12 namespace GisEditor { ///

/// 最短路径分析 /// public class ClsPathFinder { private IGeometricNetwork m_ipGeometricNetwork; private IMap m_ipMap; private IPointCollection m_ipPoints; private IPointToEID m_ipPointToEID; private double m_dblPathCost =0; private IEnumNetEID m_ipEnumNetEID_Junctions; private IEnumNetEID m_ipEnumNetEID_Edges; private IPolyline m_ipPolyline; #region Public Function //返回和设置当前地图 public IMap SetOrGetMap { set{ m_ipMap = value;} get{return m_ipMap;} } //打开几何数据集的网络工作空间 public void OpenFeatureDatasetNetwork(IFeatureDataset FeatureDataset) { CloseWorkspace(); if (!InitializeNetworkAndMap(FeatureDataset)) Console.WriteLine( "打开network出错"); } //输入点的集合 public IPointCollection StopPoints { set{m_ipPoints= value;} get{return m_ipPoints;}

凸包及最小外围矩形

题目简述: 給出一个平面点集S,求一个面积最小的矩形使其包含S所有的点。 预备知识: 在求解这道题之前我们先要了解一些关于凸包的知识。 什么是凸包?简单地说,对于一个平面点集S,我们把完全包含该点集的最小的凸多边形叫做点集S的凸包H。 凸包一个很重要的性质就是它“凸”的性质。这个性质对我们理解和计算凸包都有很大的帮助。 I)对点集S中任意一点a,当且仅当存在直线p过a点并使得S中除a外所有点均在p的一侧,则a为凸包上的一顶点。 II)对点集S中任意两点a,b,当且仅当S中除a,b以外所有点都在过点a,b 的直线p的一侧,则线段ab为凸包上的一条边。 III)对点集S中任意四点a,b,c,d,当d在三角形abc中(包括边),则d不是凸包上的点。 上面的几条关于凸包“凸”的性质为我们计算凸包提供了一个基础。这里我们将介绍两种简单且被广泛运用的算法――Gift-Wrapping和Graham-Scan算法。 Gift-Wrapping算法: 通过性质(I),我们可以找到一个特殊点,如具有最小y坐标且x坐标尽可能小的点。将它作为计算凸包的第一个顶点。确定了起点后,我们就可以通过Gift-Wrapping算法计算出点集的凸包。下面的步骤很直观的描述了这个算法: 1)把点集中所有点都看成是固定在平面上的柱子,想象我们在起始点柱子上系上一根身子。 2)把绳子沿水平方向向右拉直,并逆时针旋转,当绳子碰上一根柱子,则对应了凸包上

的一点 3)继续旋转绳子,每次确定一个凸包上的顶点,直至绳子回到起点。 图一:Gift-Wrapping算法计算凸包的过程 每次通过旋转绳子找到下一个凸包顶点需要对点集中所有剩余点进行一次比较,所以这 一步的时间复杂度是O(n)。每个凸包上的顶点都需要进行一次旋转操作,而最坏情况下,凸包顶点个数可以和点集个数相等,所以整个Gift-Wrapping算法的时间复杂度是O(n2)的。 Graham-Scan算法: Gift-Wrapping算法无论从理解还是从实现上来说,它都是十分简单的。但由于它的复杂度并不理想,我们无法利用它来求解大规模的凸包问题。因而,我们将介绍一种高效的计算凸包的算法――Graham-Scan。 Graham-Scan算法主要可分成两部分: 1)同Gift-Wrapping一样,需要先找出一个起始点。将这个点作为原点,进行夹角排序。 2)先将起始点压入堆栈H中,再按照已经排好的顺序对每一个点进行扫描,同时维护堆栈H。这个堆栈表示的是到目前为止,所有已经扫描过的点对应的凸包。每当扫描一个点p 的时候: a) 如果堆栈的元素少2个或者堆栈顶端的两个点与p构成左转关系,则将p压入堆栈中。 b) 否则,栈顶元素出栈并继续进行a的判断。 当所有点都扫描完后,堆栈H即为我们要求的凸包。 图二:Graham-Scan算法的扫描过程(堆栈H储存的即实线连接起来的点)

ArcGIS网络分析最短路径问题分析

网络分析(最短路径问题分析) 一、实验目的: 理解最短路径分析的基本原理,学习利用arcgis软件进行各种类型的最短路径分析的操作。 二、实验准备 1、实验背景: 最短路径分析是空间网络分析中最基本的应用,而交通网络中要素的设置对最短路径的选择有着很大的影响。实验要求根据不同的权重,给出到达指定目的地的路径选择方案,并给出路径长度。 在网络中指定一个超市,要求分别求出在距离、时间限制上从家到超市的最佳路径。 给定访问顺序,按要求找出从家经逐个地点达到目的地的最佳路径。 2、实验材料: 软件:ArcGIS Desktop 9.x , 实验数据:文件夹ex6中,一个GeoDatabase地理数据库:City.mdb,内含有城市交通网、超市分布图,家庭住址以及网络关系。 三、实验内容及步骤 首先启动ArcMap,选择ex6\city.mdb,再双击后选择将整个要素数据集“city”加载进来,然后将“place”点状要素以“HOME”字段属性值进行符号化,1值是家,0值是超市。 第1步无权重最佳路径的选择 加载“设施网络分析”工具条(“视图”>>“工具条”,勾选“设施网络分析”),点选旗标和障碍工具板下拉箭头,将旗标放在家和想要去的超市点上。

第2步加权最佳路径选择 在设施网络分析工具条上,点选旗标和障碍工具板下拉箭头,将旗标放在家和想去的某个超市点上。 选择“分析”下拉菜单,选择“选项”按钮,打开“分析选项”对话框,选择“权重”标签页,在“边权重”上,全部选择长度“length”权重属性。 点选“追踪任务”下拉菜单选择“查找路径”。单击“执行”键,则以长度为 比重为基础的最短路径将显示出来,这条路径的总成本将显示在状态列。

矢量数据的空间分析-以最短路径分析为例

兰州交通大学开放性实验 基于ArcGIS的地理分析 实 验 报 告 实验名称:矢量数据的空间分析-以最短路径分析为例 学生姓名:张鑫港 学生学号:201408301 指导老师:朱睿 时间:2016年5月1日 1.实验背景 最短路径的分析问题在现实生活中有着广泛的应用,可以有助于提高效率,减少资源的消耗,故对最短路径的研究有着重要的意义。

2. 实验目的 通过本练习,掌握ArcGIS最短路径分析的方法,深入理解网络分析的原理。 3. 实验要求 通过分析能够得到到达指定目的地的路径选择方案及根据不同的权重得到不同的最佳路径,并给出路径的长度(总成本)。 (1)在网络中指定一个点,分别求出在不同距离、时间的限制下从指定的另一点到此点的最短路径。 (2)给定访问顺序,按要求找出逐个经过中间位置最终到达目的地的最佳路径。 (3)研究阻抗的设置对最佳路径选择的影响。 4. 实验操作步骤 1)无权重最佳路径的选择 无权重最短路径,即说明路径的长短是此网络分析的唯一标准。 此时计算出的是距离上最短的路径,左下角显示出此网络的总成本,本例中显示为20,即为总共经过20个路口的含义。(以下图中都可显示总成本,不再一一说明) 2)加权最佳路径的选择 加权最佳路径的选择,可以是距离、时间、速度等的加权,要根据分析的具体情况决定以何属性加权。以下以时间加权与距离加权为例说明。

时间加权 距离加权 加权的意义,既为网络分析提供分析依据,即以何作为计算因素来进行分析。 3)按要求和顺序能够逐个通过目标点的路径的实现 如果在一个网络分析中按照一定的顺序依次标定所要经过的点位,此时可以同时赋予权重(本图中以距离权重为例),则可以得到按指定顺序行进的最优路径。 4)阻强问题 权重是通过边线或连接的成本,它只能基于长整型或双精度型数据类型创建。在本例 阻强问题指的是点状要素或线状要素因为某些突发事件而不可运行时,原先获取的最优路径就可能会被修正。本例中同时设置了点要素障碍与边要素障碍,可以看出设置阻碍后最优路线的修正。

求磁场区域最小面积的三类问题

求磁场区域最小面积的三类问题 1、右图为可测定比荷的某装置的简化示意图,在第一象限区域内有垂直于纸面向里的匀强磁场,磁感应强度大小B=2.0×10-3 T,在X 轴上距坐标原点L=0.50m 的P 处为离子的入射口,在Y 上安放接收器,现将一带正电荷的粒子以v=3.5×104 m/s 的速率从P 处射入磁场,若粒子在y 轴上距坐标原点L=0.50m 的M 处被观测到,且运动轨迹半径恰好最小,设带电粒子的质量为m,电量为q,不记其重力。 (1)求上述粒子的比荷; (2)如果在上述粒子运动过程中的某个时刻,在第一象限内再加一个匀强电场,就可以使其沿y 轴正方向做匀速直线运动,求匀强电场的场强大小和方向,并求出从粒子射入磁场开始计时经过多长时间加这个匀强电场; (3)为了在M 处观测到按题设条件运动的上述粒子,在第一象限内的磁场可以局限在一个矩形区域内,求此矩形磁场区域的最小面积,并在图中画出该矩形。 2、如图所示,在竖直平面内,虚线MO 与水平线PQ 相交于O ,二者夹角 θ=30°,在MOP 范围内存在竖直向下的匀强电场,电场强度为E ,MOQ 上方的某个区域有垂直纸面向里的匀强磁场,磁感应强度为B ,O 点处在磁场的边界上,现有一群质量为m 、电量为+q 的带电粒子在纸面内以速度v (0

ArcGIS_7 最短路径问题分析与应用

综合实习7:最短路径问题分析与应用 1.背景 在现实中,最短路径的求取问题可以拓展为许多方面的最高效率问题,最短路径不仅指一般意义上的距离最短,还可以是时间最短、费用最少、线路利用率最高等标准。 2.目的 学会用ArcGIS10进行各种类型的最短路径分析,理解网络分析原理。 3.数据 GeoDatabase地理数据库:City.mdb。 数据库中包含一个数据库:City,其中含有城市交通网net、商业中心及家庭住址place、网络节点city_Net_Junctions等要素。 4.要求 根据不同的要求,获得到达指定目的地的最佳路径,并给出路径的长度;找出距景点最近的某设施的路径。 在网络中指定一个商业中心,分别求出在不同距离、时间的限制下从家到商业中心的最佳路径。 给定访问顺序,按要求找出从家出发,逐个经过访问点,最终到达目的地的最佳路径。 研究阻强的设置对最佳路径选择的影响。 5.操作步骤 启动ArcMap,打开city.mdb,双击city数据库,加载数据。 对点状要素place符号化:以HOME字段,1值为家,0值为商业中心。 (1)无权重最佳路径的生成 1)在几何网络分析工具条上,选择旗标工具,将旗标放在“家”和想要取得“商业中心”点上。 2)选择分析|选项命令,打开“分析选项”对话框,确认“权重”和“权重过滤器”标签项全部是“无(None)”,这种情况下进行的最短路径分析是完全按照这个网络自身的长短来确定。 3)在“追踪任务”文本框中选择“网络路径分析”。单击“解决”按钮。显示出最短路径(图7-1),这条路径的总成本显示在状态栏中。

图7-1 无权重参照的最短路径的显示 (2)加权最佳路径生成 1)在几何网络分析工具条上,点选旗标工具,将旗标分别放在“家”和想去的某个“商业中心”的位置上。 2)选择“分析|选项”命令,打开“分析选项”对话框(图7-2)进入“权重”标签页,在边的权重(Edge weights)上,全部选择长度(length)权重属性。 图7-2 长度权重属性设置

利用cvMinAreaRect2求取轮廓最小外接矩形

其中返回的2D盒子定义如下: 1 typedef struct CvBox2D 2 { 3 CvPoint2D32f center; /* 盒子的中心 */ 4 CvSize2D32f size; /* 盒子的长和宽 */ 5 float angle; /* 水平轴与第一个边的夹角,用弧度表示*/ 6 }CvBox2D; 注意夹角 angle 是水平轴逆时针旋转,与碰到的第一个边(不管是高还是宽)的夹角。如下图

可用函数cvBoxPoints(box[count], point); 寻找盒子的顶点 1 void cvBoxPoints( CvBox2D box, CvPoint2D32f pt[4] ) 2 { 3 double angle = box.angle*CV_PI/180. 4 float a = (float)cos(angle)*0.5f; 5 float b = (float)sin(angle)*0.5f; 6 7 pt[0].x = box.center.x - a*box.size.height - b*box.size.width; 8 pt[0].y = box.center.y + b*box.size.height - a*box.size.width; 9 pt[1].x = box.center.x + a*box.size.height - b*box.size.width; 10 pt[1].y = box.center.y - b*box.size.height - a*box.size.width; 11 pt[2].x =2*box.center.x - pt[0].x; 12 pt[2].y =2*box.center.y - pt[0].y; 13 pt[3].x =2*box.center.x - pt[1].x; 14 pt[3].y =2*box.center.y - pt[1].y; 15 } 简单证明此函数的计算公式: 计算x,由图可得到三个方程式:pt[1].x - pt[0].x = width*sin(angle) pt[2].x - pt[1].x = height*cos(angle) pt[2].x - pt[0].x =2(box.center.x - pt[0].x)联立方程可解得函数里的计算式,算 y 略。 写了个函数绘制CvBox2D 1 void DrawBox(CvBox2D box,IplImage* img) 2 { 3 CvPoint2D32f point[4]; 4 int i; 5 for ( i=0; i<4; i++) 6 { 7 point[i].x =0; 8 point[i].y =0; 9 } 10 cvBoxPoints(box, point); //计算二维盒子顶点 11 CvPoint pt[4]; 12 for ( i=0; i<4; i++) 13 { 14 pt[i].x = (int)point[i].x; 15 pt[i].y = (int)point[i].y; 16 } 17 cvLine( img, pt[0], pt[1],CV_RGB(255,0,0), 2, 8, 0 ); 18 cvLine( img, pt[1], pt[2],CV_RGB(255,0,0), 2, 8, 0 );

云南大学 杨克成老师 Arcgis 网络分析中文版 最短路径、最短路径、服务区选择

实验十、网络分析(道路网络分析) 一、实验目的 网络分析是GIS空间分析的重要功能分。有两类网络,一为道路(交通)网络,一为实体网络(比如,河流、排水管道、电力网络)。此实验主要涉及道路网络分析,主要内容包括: ●最佳路径分析,如:找出两地通达的最佳路径。 ●最近服务设施分析,如:引导最近的救护车到事故地点。 ●服务区域分析,如:确定公共设施(医院)的服务区域。 通过对本实习的学习,应达到以下几个目的: (1)加深对网络分析基本原理、方法的认识; (2)熟练掌握ARCGIS下进行道路网络分析的技术方法。 (3)结合实际、掌握利用网络分析方法解决地学空间分析问题的能力。 二、实验准备 软件准备:ArcMap, 要求有网络分析扩展模块的许可授权 数据准备: Shape文件创建网络数据集(高速公路:Highways, 主要街道:Major Streets, 公园:Parks,湖泊:Lakes,街道:Streets) Geodatabase网络数据集:NetworkAnalysis.mdb:包含:街道图层:Streets 仓库图层:Warehouses 商店图层:Stores 在ArcMap中加载启用NetWork Anylyst网络分析模块: 执行菜单命令[工具Tools]>>[Extensions], 在[Extensions]对话框中点击[Network Analyst] 启用网络分析模块,即装入Network Analyst空间分析扩展模块。 道路网络分析步骤 1. 创建分析图层 2. 添加网络位置 3. 设置分析选项 4. 执行分析过程显示分析结果 三、实验内容及步骤 (一) 最佳路径分析 根据给定的停靠点,查找最佳路径(最省时的线路)

小学三年级奥数 27巧求矩形面积

小学三年级奥数27巧求矩形面积 本教程共30讲 第27讲巧用矩形面积公式 同学们都知道求正方形和长方形面积的公式: 正方形的面积=a×a(a为边长), 长方形的面积=a×b(a为长,b为宽)。 利用这两个公式可以计算出各种各样的直角多边形的面积。例如,对左下图,我们无法直接求出它的面积,但是通过将它分割成几块,其中每一块都是正方形或长方形(见右下图),分别计算出各块面积再求和,就得出整个图形的面积。 例1右图中的每个数字分别表示所对应的线段的长度(单位:米)。这个图形的面积等于多少平方米? 分析与解:将此图形分割成长方形有下面两种较简单的方法,图形都被分割成三个长方形。根据这两种不同的分割方法,都可以计算出图形的的面积。

5×2+(5+3)×3+(5+3+4)×2=58(米2); 或 5×(2+3+2)+3×(2+3)+4×2=58(米2)。 上面的方法是通过将图形分割成若干个长方形,然后求图形面积的。实际上,我们也可以将图形“添补”成一个大长方形(见下图),然后利用大长方形与两个小长方形的面积之差,求出图形的面积。 (5+3+4)×(2+3+2)-2×3-(2+3)×4=58(米2); 或 (5+3+4)×(2+3+2)-2×(3+4)-3×4=58(米2)。 由例1看出,计算直角多边形面积,主要是利用“分割”和“添补”的方法,将图形演变为多个长方形的和或差,然后计算出图形的面积。其中“分割”是最基本、最常用的方法。 例2右图为一个长50米、宽25米的标准游泳池。它的四周铺设了宽2米的白瓷地砖(阴影部分)。求游泳池面积和地砖面积。 分析与解:游泳池面积=50×25=1250(米2)。 求地砖面积时,我们可以将阴影部分分成四个长方形(见下图),从而可得白瓷地砖的面积为 (2+25+2)×2×2+50×2×2=316(米2); 或 (2+50+2)×2×2+25×2×2=316(米2)。

基于ArcGIS对矢量数据模型的最短路径分析

基于ArcGIS对矢量数据模型的最短路径分析 摘要:利用ArcGIS中网络分析模块对最短路径问题分情况进行了探讨,分别给出了在不同情况下如何找到不同最短路径。关键词:矢量数据;网络分析;ArcGIS;最短路径人们每天都会提出如下一些问题:应该在道路的何处开挖,才能迅速找到煤气总管?将冰箱送到客户家里,如何走最好?这个城市卖掉的土地和财产总值多少?要回答上述问题需要访问具有多维(x、y、z坐标和时间)、大容量和高处理费用特征的地理信息;同时,即使回答明显简单的地理学问题,也要求按统一的标准集成多种数据源。1 矢量数据模型的概念与特点以计算机能够接受和处理的数据形式,为了反映空间实体的某些结构特性和行为功能,按一定的方案建立起来的数据逻辑组织方式,是对现实世界的抽象表达。空间数据模型是地理信息系统的基础,它不仅决定了系统数据管理的有效性,而且是系统灵活性的关键。空间数据模型是在实体概念的基础上发展起来的,它包含两个基本内容,即实体组和它们之间的相关关系。实体和相关关系可以通过性质和属性来说明。空间数据模型可以被定义为一组由相关关系联系在一起的实体集(D.J.Peuqoet)[1]。结合空间数据的具体特点进行空间数据模型的设计是地理信息系统的关键。由于空间数据模型的设计与计算机硬件、系统软件和工具软件的发展现状密切相关,所以,就目前的发展现状而言,很难用一个统一的数据模型来表达复杂多变的地理空间实体。例如,某些空间数据模型可能很适合于绘图,但它们对于空间分析来说效率却十分低;有些数据模型有利于空间分析,但对图形的处理则不理想[2]。地理信息系统中一种常见的图形数据结构为矢量结构,即通过记录坐标的方向尽可能精确地表示点、线、多边形等地理实体,坐标空间设为连续,允许任意位置、长度和面积的精确定义。 2 最短路径问题的分析与应用2.1 背景在现实中,最短路径的求取问题是可以拓展为许多方面的最高效率问题,最短路径不仅是指一般意义上的距离最短,还可以是时间最短、费用最少、线路利用率最高等标准。2.2 技术路线图利用GIS软件进行最短路径分析的技术路线图。 2.3 网络中的基本组成部分和属性(1)链:网络中流动的管线,如街道、河流、水管等。其状态属性包括阻力和需求。(2)障碍:禁止网络中链上流动的点。(3)拐角点:出现在网络中所有的分割点上状态属性的阻力,如拐弯时间和限制。(4)中心:是接受或分配资源的位置,如水库、商业中心、电站等。其状态属性包括资源容量和阻力限额。(5)站点:在路径选择中资源增减的站点,如库房、汽车站等。其状态属性有要被运输的资源需求,如产品数。网络中的状态属性有阻力和需求两项。实际的状态属性可通过空间属性和状态属性的转换,根据实际情况赋到网络属性表中。2.4 网络分析的基本方法网络分析的基本方法包括路径分析、地址匹配和资源分配。(1)路径分析①静态求最佳路径:由用户确定权值关系后,即给定每条弧段的属性,当需求最佳路径时,可读出路径的相关属性,从而求得最佳路径。②动态分段技术:给定一条路径由多段联系组成,要求标注出这条路上的公里点或定位某一公路上的某一点,标注出某条路上从某一公里数到另一公里数的路段。③最短路径:确定起点、终点和所要经过的中间点、中间连线,求最短路径。(2)资源分配资源分配网络模型由中心店及其状态属性和网络组成。分配有两种方式,一种是由分配中心向四周输出,另一种是由四周向中心集中。这种分配功能可以解决资源的有效流动和合理分配,其在地理网络中的应用与区位论中的中心理论类似[3,4]。3 矢量数据网络分析实现过程 3.1 网络分析的预处理在进行网络分析之前,首先要对已建好的网络进行初始化参数设置,主要内容如下。3.1.1 网络数据的加载进行网络分析的前提是几何网络的调用。一般来说,根据需求,选择调用的网络数据。基本的网络分析必须加载至少一种包含网络属性的要素类

小学奥数习题版三年级几何巧求面积教师版

知识要点 简单求面积 【例 1】 4个相同的长方形和一个小正方形拼成一个面积是100平方厘米的大正方形,已知小正方形的面积是36平方厘米,问长方形的长和宽各是多少厘米? 【分析】 1001010=?,3666=?,大正方形的边长为10厘米,小正方形的边长为6厘米,长方形的宽为: (106)22-÷=(厘米),长为:628+=(厘米) 【例 2】 如图,一张长方形纸片,长7厘米,宽5厘米.把它的右上角往下折叠,再把左下角往上折叠,未盖住的阴影部分的面积是多少平方厘米? 巧求面积

5 【分析】 阴影部分的宽是752-= (厘米),长是523-= (厘米),面积是236?= (平方厘米). 【例 3】 一个长方形周长是80厘米,它是由3个完全相同的小正方形拼成的,那么每个小正方形的面积是多少平方厘米? 【分析】 小正方形的边长:80810÷=厘米,每个小正方形的面积:1010100?=平方厘米。 面积增减 【例 4】 一块长方形铁板,长15分米,宽l2分米,如果长和宽各减少2分米,面积比原来减少多少平方分米? 【分析】 如图,铁板面积比原来减少多少平方分米,就是求阴影部分的面积,用原长方形的面积减去空白部分的面积. 1512(152)(1 2?--?- =180130- =50(平方分米) 15 12 【例 5】 一块长方形地长是80米,宽是45米,如果把宽增加5米,要使原来的面积不变,长应减少多少米? 【分析】 808045(455)8-?÷+= (米). 【例 6】 人民路小学操场原来长80米,宽55米,改造后长增加20米,宽减少5米.现在操场的面积比原来增加多少? 【分析】 (8020)(555)8055600+?--?= (平方米). 【例 7】 有一个长方形菜园,如果把宽改成50米,长不变,那么它的面积减少680平方米,如果使宽为60米,长不变,那么它的面积比原来增加2720平方米,原来的长和宽各是多少米? 【分析】 根据题意,可以用下图表示增减变化的情况,从图中可以看出,原来长方形的长为(2720680)(6050)340+÷-= (米),宽为6803405052÷+= (米)。

三年级奥数专题:巧用矩形面积公式

三年级奥数专题:巧用矩形面积公式 同学们都知道求正方形和长方形面积的公式: 正方形的面积=a×a(a为边长), 长方形的面积=a×b(a为长,b为宽). 利用这两个公式可以计算出各种各样的直角多边形的面积.例如,对左下图,我们无法直接求出它的面积,但是通过将它分割成几块,其中每一块都是正方形或长方形(见右下图),分别计算出各块面积再求和,就得出整个图形的面积. 例1右图中的每个数字分别表示所对应的线段的长度(单位:米).这个图形的面积等于多少平方米? 分析与解:将此图形分割成长方形有下面两种较简单的方法,图形都被分割成三个长方形.根据这两种不同的分割方法,都可以计算出图 形的的面积. 5×2+(5+3)×3+(5+3+4)×2=58(米2);

或 5×(2+3+2)+3×(2+3)+4×2=58(米2). 上面的方法是通过将图形分割成若干个长方形,然后求图形面积的.实际上,我们也可以将图形“添补”成一个大长方形(见下图),然后利用大长方形与两个小长方形的面积之差,求出图形的面积. (5+3+4)×(2+3+2)-2×3-(2+3)×4=58(米2); 或 (5+3+4)×(2+3+2)-2×(3+4)-3×4=58(米2). 由例1看出,计算直角多边形面积,主要是利用“分割”和“添补”的方法,将图形演变为多个长方形的和或差,然后计算出图形的面积.其中“分割”是最基本、最常用的方法. 例2右图为一个长50米、宽25米的标准游泳池.它的四周铺设了宽2米的白瓷地砖(阴影部分).求游泳池面积和地砖面积. 分析与解:游泳池面积=50×25=1250(米2). 求地砖面积时,我们可以将阴影部分分成四个长方形(见下图),从而可得白瓷地砖的面积为 (2+25+2)×2×2+50×2×2=316(米2); 或

ArcGIS教程:路径分析

ArcGIS教程:路径分析 求解路径分析表示根据要求解的阻抗查找最快、最短甚至是最优的路径。如果阻抗是时间,则最佳路线即为最快路线。如果阻抗是具有实时或历史流量的时间属性,则最佳路径是对指定日期和时间来说最快的路径。因此,可将最佳路径定义为阻抗最低或成本最低的路径,其中,阻抗由您来选择。确定最佳路径时,所有成本属性均可用作阻抗。 可在路径分析中累积任意多个阻抗属性,但累积属性不会对沿网络计算路径造成任何影响。例如,如果选择时间成本属性作为阻抗属性,并且希望累积距离成本属性,最终仅会使用时间成本属性来优化解。求解过程中将累积并报告总距离,但此例中的路径并不是根据距离计算得出的。 查找通过一系列停靠点的最佳路径将遵照与执行其他网络分析相同的工作流。 一、路径分析图层 路径分析图层将存储路径分析的所有输入、参数和结果。 1、创建路径分析图层 要通过 Network Analyst 工具条创建路径分析图层,可以单击 Network Analyst > 新建路径。

创建新的路径分析图层后,该图层即会与它的五个网络分析类(停靠点、路径、点障碍、线障碍和面障碍)一起显示在Network Analyst 窗口中。 路径分析图层也会以名为“路径”的复合图层显示在内容列表中(如果地图文档中已经存在名称相同的路径,则会以路径 1、路径 2 等显示)。存在五种要素图层 - 停靠点、路径、点障碍、线障碍和面障碍。其中的每个要素图层都有默认的符号系统,您可在图层属性对话框中对这些默认的符号系统进行修改。 二、路径分析类 路径分析图层由五种网络分析类组成。 下面各部分概述了每个类及其属性。 1、停靠点类 该网络分析类用于存储路径分析中用作停靠点的网络位置。“停靠点”图层包含四种默认符号:已定位停靠点、未定位停靠点、有错误的停靠点和有时间冲突的停靠点。您可以在图层属性对话框中修改“停靠点”图层的符号系统,此对话框中包含停靠点的自定义符号系统类别,它位于 Network Analyst > 序列化的点中。 创建新的路径分析图层后,“停靠点”类为空。仅当将网络位置添加到该类后,它才不为空。创建路径至少需要两个停靠点。 2、停靠点属性 一些停靠点属性仅在定义起始时间或启用时间窗后才可用,其中,起始时间和时间窗均是路径分析图层的图层属性对话框的分析设置选项卡中的参数。 3、路径类 路径类存储通过分析生成的路径。与其他要素图层相同,它的符号系统也可通过图层属性对话框进行访问和更改。

(完整版)小学三年级奥数27巧求矩形面积

小学三年级奥数 27巧求矩形面积 本教程共30讲 第27讲巧用矩形面积公式 同学们都知道求正方形和长方形面积的公式: 正方形的面积=a×a(a为边长), 长方形的面积=a×b(a为长,b为宽)。 利用这两个公式可以计算出各种各样的直角多边形的面积。例如,对左下图,我们无法直接求出它的面积,但是通过将它分割成几块,其中每一块都是正方形或长方形(见右下图),分别计算出各块面积再求和,就得出整个图形的面积。 例1 右图中的每个数字分别表示所对应的线段的长度(单位:米)。这个图形的面积等于多少平方米? 分析与解:将此图形分割成长方形有下面两种较简单的方法,图形都被分割成三个长方形。根据这两种不同的分割方法,都可以计算出图形的的面积。 2);×2=58(米3+(5+3+4) 5×2+(5+3)×或 2)。58(米 3)+4×2=+ 5×(23+2)+3×(2+ 上面的方法是通过将图形分割成若干个长方形,然后求图形面积的。实际上,我们也可以将图形“添补”成一个大长方形(见下图),然后利用大长方形与两个小长方形的面积之差,求出图形的面积。

2);米×4=58(+4)×(2+3+2)-2×3-(23) (5+3+或 2)。=58(米×+2)-2×(3+4)-34+ (5+3+4)×(23 由例1看出,计算直角多边形面积,主要是利用“分割”和“添补”的方法,将图形演变为多个长方形的和或差,然后计算出图形的面积。其中“分割”是最基本、最常用的方法。例2右图为一个长50米、宽25米的标准游泳池。它的四周铺设了宽2米的白瓷地砖(阴影部分)。求游泳池面积和地砖面积。 2)。米×25=1250(=50分析与解:游泳池面积求地砖面积时,我们可以将阴影部分分成四个长方形(见下图),从而可得白瓷地砖的面积为 2);米2×2=316(+×+ (225+2)2×250×或 2。)米316(=2×2×25+2×2×2)+50+(2 求地砖的面积,我们还可以通过“挖”的方法,即从大长方形内“挖掉”一个小长方形(见右图)。从而可得白瓷地砖面积为 (50+2+2)×(25+2+2)-50×25 2)。 =316(米例3下图中有三个封闭图形,每个封闭图形均由边长为1厘米的小正方形组成。试求各图形的面积。

AE 最短路径分析

ArcEngine 最短路径分析 using System; using ESRI.ArcGIS.Carto; using ESRI.ArcGIS.Geometry; using ESRI.ArcGIS.Geodatabase; using https://www.360docs.net/doc/2517161051.html,workAnalysis; namespace GisEditor { ///

/// 最短路径分析 /// public class ClsPathFinder { private IGeometricNetwork m_ipGeometricNetwork; private IMap m_ipMap; private IPointCollection m_ipPoints; private IPointToEID m_ipPointToEID; private double m_dblPathCost =0; private IEnumNetEID m_ipEnumNetEID_Junctions; private IEnumNetEID m_ipEnumNetEID_Edges; private IPolyline m_ipPolyline; #region Public Function //返回和设置当前地图 public IMap SetOrGetMap { set{ m_ipMap = value;} get{return m_ipMap;} } //打开几何数据集的网络工作空间 public void OpenFeatureDatasetNetwork(IFeatureDataset FeatureDataset) { CloseWorkspace(); if (!InitializeNetworkAndMap(FeatureDataset)) Console.WriteLine( "打开network出错"); } //输入点的集合 public IPointCollection StopPoints { set{m_ipPoints= value;} get{return m_ipPoints;} }

求取多边形最小面积外接矩形的计算机算法-最新年精选文档

求取多边形最小面积外接矩形的计算机算法 摘要:多边形的最小面积外接矩形是图形学、计算机学、地理信息系统等众多领域中经常涉及的一个问题,也是一个极其有用的工具,在实际生产和生活当中也经常会出现这个问题,但是它的求解过程是比较复杂和困难的。提出一种计算多边形最小面积外接矩形的计算机算法,并且对算法的效率和复杂度等进行分析,并通过多种算法实例来验证该算法的可行性和可靠性,充分验证新提出的算法的优越性。 1 引言 在实际生产生活中经常会遇到各种涉及到数学方法之类的 问题,为了能够最大程度的科学而有效的解决生产生活中的经济环境问题,节省材料,使资源得到最大程度的利用,比如在一块给定形状的布料上裁剪形状不同的图案,其他类似的生产工艺也会遇到类似的问题。因此求取多边形的最小面积外接矩形的计算机算法是有着极大的实际意义的。在几何学、图形学等方面,我们常常用外接矩形来近似的描述多边形目标的形状,多边形的外接矩形在图形学领域把它划分中两种表达形式,一种是最小绑定矩形,简称MBR(Minimum Bounding Rectangle),也就是用多边形的定点里的最小坐标和最大坐标来确定的矩形;另外一种表示形式是最小面积外接矩形,简称MABR(Minimum Area Bounding Rectangle),本文将会详细描述任意多边形的MABR的算法及其

程序实现。 在考虑实际生活中最大程度利用材料的问题时,人们现行的比较普遍的做法是把图形模块放在给定的布料上,按照科学的方法进行一定的布局使得材料利用率最大,从而材料经过裁剪之后浪费的下脚料也变得最小化,节省材料,提高经济效益,保护环境的目的就自然而然地得到一定程度的实现,而对于这样的问题许多文献都已经给出了相应的科学算法。此外,还考虑到工业生产活动中,经常还涉及一些更加复杂的操作工艺,有的材料并非像布匹一样在裁剪时几乎不发生形变,比如金属钢板在一定温度极限下就会发生弹性形变,在进行钢板的切割时钢板已经发生了热变形,而如果计算机程序在执行这样的切割操作时不考虑这个问题,切割出来的效果一定是难以满足工业生产的需求的。所以在由计算机控制的数控切割机的实际运行生产中,会涉及到更加复杂的多边形外接矩形的相关技术,更加复杂的是材料发生形变的原因会有很多,切割机的切割方向和切割顺序、切割温度等因素都会引起不同程度的形变,这时就要充分考虑各种因素,将影响因素的权重、影响方式等转化为数学语言,并最终转化为程序语言,引入到整个切割程序中。基于下料过程中的优化模型和算法已经有很多这方面的文献,本文将会针对以上所提出的实际生产生活背景,详细描述MABR的算法。 2 算法的思路 读者可以

ArcGIS几何网络的建立与最短路径的选取

网络分析算法的实现,又能够在节约存储空间的前提下根据需要扩充数据,对交通网络进行综合分析。 然后是网络搜索,主要依据求解单源点间最短路径的Dijkstra算法思想,同样也可以对其进行优化改进以提高效率。 应用到的基本工具 Arc map View/toolbars/utility network analyst工具条 操作流程图(尽量为图解模型) 操作步骤(方法) 1、对各个图层的属性表及其投影信息进行查看与了解,了解utility network analyst工具条中各个选项的用处。 2、最短路径的选择 (1)首先打开Arc Map选择E:\Chp7\Ex2\city.mdb再双击后选择将整个要素数据进来。然后将place点状要素以HOME字段属性值进行符号化,1值是家,0值是 超市,如图1。 图1 (2)在place图层上右击label features,使name字段显示在图层中。 3、最短路径的求取 无权重最佳路径的选择 1)在设施网络分析工具条上,点选旗标和障碍工具板下拉箭头,将旗标放 在家和想要去的超市点上。 2)确认在Analysis下拉菜单中的Options按钮打开的Analysis Options

对话框中的weight和weight filter标签项全部是none,这样使得进行的最短路径分析是完全按照这个网络自身的长短来确定的。 3)点选追踪工作(Track task)下拉菜单选择寻找路径(find path)。单击solve键,则最短路径将显示出来,这条路径的总成本将显示在状态列。 图2 无权重最佳路径的选择 加权最佳路径选择 1)在设施网络分析工具条上,点选旗标和障碍工具板下拉箭头,将旗标放在家和想去的某个超市点上。 2)选择Analysis下拉菜单,选择Option按钮,打开Analysis Option对话框,选择Weight标签页,在边的权重(edge weight)上,全部选择长 度(length)权重属性。

最小面积的求法

18.(09年福建卷)22.(20分)图为可测定比荷的某装置的简化示意图,在第 一象限区域内有垂直于纸面向里的匀强磁场,磁感应强度大小B=2.0 × 10-3 T,在X 轴上距坐标原点L=0.50m 的P 处为离子的入射口,在Y 上安放接收器,现将一带正电荷的粒子以v=3.5×104m/s 的速率从P 处射入磁场,若粒子在y 轴上距坐标原点L=0.50m 的M 处被观测到,且运动轨迹半径恰好 最小,设带电粒子的质量为m,电量为q,不记其重力。 (1)求上述粒子的比荷 q m ; (2)如果在上述粒子运动过程中的某个时刻,在第一象限内再加一个匀强电场,就可以使其沿y 轴正方向做匀速直线运动,求该匀强电场的场强大小和方向,并求出从粒子射入磁场开始计时经过多长时间加这个匀强电场; (3)为了在M 处观测到按题设条件运动的上述粒子,在第一象限内的磁场可以局限在一个矩形区域内,求此矩形磁场区域的最小面积,并在图中画出该矩形。 答案(1) m q =4.9×710C/kg (或5.0×710C/kg );(2)s t 6109.7-?= ; (3)225.0m S = 解析:第(1)问本题考查带电粒子在磁场中的运动。第(2)问涉及到复合场(速度选择器模型)第(3)问是带电粒子在有界磁场(矩形区域)中的运动。 (1)设粒子在磁场中的运动半径为r 。如图甲,依题意M 、P 连线即为该粒子在磁场中作匀速圆周 运动的直径,由几何关系得 2 2L r = ① 由洛伦兹力提供粒子在磁场中作匀速圆周运动的向心力,可得 r v m qvB 2 = ② 联立①②并代入数据得 m q =4.9×710C/kg (或5.0×710C/kg ) ③ (2)设所加电场的场强大小为E 。如图乙,当粒子子经过Q 点时,速度沿y 轴正方向,依题意,在此时加入沿x 轴正方向的匀强电场,电场力与此时洛伦兹力平衡,则有 qvB qE = ④ 代入数据得 C N E /70= ⑤ 所加电场的长枪方向沿x 轴正方向。由几何关系可知,圆弧PQ 所对应的圆心角为45°,设带点粒子做匀速圆周运动的周期为T ,所求时间为t ,则有 T t 0 360 45= ⑥ v r T π2= ⑦ 联立①⑥⑦并代入数据得 s t 6109.7-?= ⑧

相关文档
最新文档