科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件矢量地图缩放、旋转、平移操作的实现

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

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

介绍实现矢量地图数据的缩放、旋转、平移等操作的理论依据、算法和实现

作者:刘鹏 来源:CSDN 2008年3月25日

关键字: 操作 地图 矢量 游戏 Linux

  • 评论
  • 分享微博
  • 分享邮件
  基本上每个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
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章