武大地信15年GIS基础算法试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

武汉大学资源与环境科学学院

2014-2015学年度第 一 学期期末考试

《GIS 图形算法基础》试卷(A )

年级:

学号: 任课教师:

专业:

姓名: 系主任签名: 一、 简答题(本大题共8小题,每小题6分,共48分)

1、常见的曲线有哪几种形式,并说明曲线与控制点的关系。

2、如图所示,推导出X ’O ’Y ’坐标系(数字化仪坐

标系)到XOY 坐标系(地图直角坐标系)的相

似变换的计算公式,地图的实际比例尺横向、纵

向分别为S1、S2。(可写出变换算子,不计算)

3、给定一个多边形,设计2-3种思路与方法,生成一点使其落在多边形内部。

4、简述矢量/栅格数据压缩的主要实现方法。

5、简述线、面类要素实现空间格网索引的实现方法。

6、简述离散点集构建TIN 的几种常见算法的思路。

7、常见的空间数据内插方法有哪些,简要说明至少3种的基本原理。

8、给定具有拓扑关系的道路网数据,说明实现图中两点间最短路径的主要数据结构与思路。

二、 综合题(本大题共2小题,每小题16分,共32分)

1、市政道路拓宽规划中,涉及路边绿化带树木、路灯、电力线迁移与房屋拆迁等实际问题,相关数据包括道路网数据(面状)、绿化带相关数据(面状)、路灯(点状)、电力线(线状)和房屋数据(面状)等。假定沿某条道路单侧拓宽50米,请分析涉及的主要算法与步骤。

2、开发一个简单的GIS 系统,主要包括点、线、面类等矢量要素,核心部分是数据的可视化。试根据数据类型不同,说明整个符号库可能的组织方式,并对对应的符号化过程做必要说明。

三、编程题(本大题共4小题,每小题5分,共20分)

给出函数原型,要求完成函数实现语句,并给出必要的注释。

1、实现计算多边形面积与周长。

void getAreaAndPerimeter(CPoint pts[],int n,float *area,float *perimeter)

{//pts为传入多边形点坐标数组,n为点数目

//area为返回面积,perimeter为返回周长

}

2、编程实现给定点与线状目标(折线段)的距离量算。

float getPointToPointsDistance(CPoint pts[],int n,CPoint pt)

{// pts为传入多边形, n为点数目,pt为给定点

//返回:量算距离

}

3、编程实现一给定点位于折线段哪一侧判断。

int getPointSidePolygon(CPoint pts[],int n,CPoint pt)

{//pts为传入多点线段, n为点数目,pt为测定点

//返回: -1左侧,0线段上,1右侧

}

4、编程实现近似计算一段三次Bezier曲线长度。

曲线参数方程为:P(t)=(1-t)3p

0 + 3t(1-t)2p

1

+ 3t2(1-t)p

3

+ t3p

4

float getBezierSegmentLength(CPoint pts[],int n=4) {// pts为传入多边形, n为点数目

//返回:Bezier曲线长度

}

备注: CPoint可以理解为一个类,定义为:

class CPoint

{

public:

int x;

int y;

}

相关文档
最新文档