矢量地图缩放、旋转、平移操作的实现

王朝other·作者佚名  2006-08-31
窄屏简体版  字體: |||超大  

基本上每个GIS软件都有地图缩放、旋转、平移操作。在GIS中,有栅格和矢量两种格式,每种格式采用不同的处理方法,在此只考虑矢量数据, 栅格数据在以后处理。

矢量数据的操作有强大的理论依据,即计算机图形学。在计算机图形学中,平移、旋转、缩放统称为二维几何变换[1]。

一、三种坐标系统

世界坐标系, 始终保持不变, 如地理坐标系

局部坐标系, 以物体中心为坐标原点,物体的旋转、平移、缩放都围绕局部坐标系进行。物体旋转、缩放、平移时坐标系也相应的旋转、缩放、平移。如,地图经投影之后平面坐标系。

屏幕坐标系,计算机屏幕的坐标系。

二、算法[2,3]

通过操作坐标系,来实现物体的线性变换。如, 当平移一个点时, 是平移坐标系,然后重绘该点。

Affine矩阵:

m11 m12 0

m21 m22 0

dx dy 1

dx,dy控制水平和垂直平移

m11,m22控制缩放

m12,m21控制旋转

设点(x,y)经Affine矩阵变换后的点坐标为(x',y'), 则有

x' = m11*x + m21*y + dx

y' = m22*y + m12*x + dy

三、实现

参考文献:

1. Donald Hearn, M.Pauline Bake 计算机图形学(第二版) 141-167

2. http://www.qiliang.net/qt/qwmatrix.html QWMatrix Class Reference

3. http://www.csdn.net/develop/Article/21/21922.shtm Windows GDI中的坐标系

4. Feng Yuan. Windows图形编程

5. QT和miniGUI

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航