zoukankan      html  css  js  c++  java
  • [OpenS-CAD]屏幕坐标转换分析

    蓝色为地理坐标系XOY,记为坐标系A;黄色为屏幕坐标系xoy,记为坐标系B。地图的左下角点为(X0,Y0)可很容易的平移到坐标原点。因此这里只考虑地图位于坐标原点的情况,如图二也记为坐标系A。

    设地理坐标系X’OY’中任意一点为A(X1,Y1),对应于屏幕坐标系B中的点A’为a(x1,y1);

    屏幕坐标以像素为单位,地理坐标以米为单位,两者之间存在固定的比例关系。屏幕高度为H。假设1像素对应1m,此时缩放比例Zoom=1。

    可以建立简单的关系:

     

    (1)如图三,认为两个坐标系固定,首先在屏幕坐标系将所有的地图左下角移动到屏幕中心(W/2,H/2)。平移向量(W/2,-H/2),此时A点屏幕坐标系坐标:

    (2)以某屏幕一点B(x2,y2)为中心放大,首先屏幕坐标B点对应的屏幕坐标为

    则将地图B点平移到屏幕原点(平移向量(,))后再平移到中心(平移向量(W/2,H/2))后放大。

    (3)接着再平移以某屏幕一点C(x3,y3)中心放大

    依次…

    OpenS-CAD通过panOffset来标识设置了屏幕中心后地图坐标需要偏移的值(以屏幕坐标记)。对应(2)中的,当然也对应(3)中的。

  • 相关阅读:
    获取设备和 App 信息
    使用 UICollectionView 实现网格化视图效果
    UIImage 读取图片内存优化
    使用 stretchableImageWithLeftCapWidth 方法实现可伸缩图片
    使用 StoryBoard 实现左右按钮切换图片的浏览效果
    二维码图片生成(扩展知识:创建带圆角效果的图片)
    Objective-C语法之扩展(Extension)的使用
    Objective-C语法之字符串NSString去掉前后空格或回车符(可以是NSCharacterSet类型的其它字符)
    Objective-C语法之可变参数
    什么时候layoutSubview会被调用
  • 原文地址:https://www.cnblogs.com/yhlx125/p/3649433.html
Copyright © 2011-2022 走看看