当前位置: 代码迷 >> C# >> winform绘图,以平面坐标o为原心绘制周围的坐标点,平面坐标该怎么转换为屏幕坐标呢
  详细解决方案

winform绘图,以平面坐标o为原心绘制周围的坐标点,平面坐标该怎么转换为屏幕坐标呢

热度:139   发布时间:2016-05-05 02:49:29.0
winform绘图,以平面坐标o为原心绘制周围的坐标点,平面坐标该如何转换为屏幕坐标呢?
如图:
以被测风机10#为原心,显示周围风机及测风塔的坐标点,需求提供的坐标为xy坐标,如X=597166.5,Y=4741281.8,不知如何计算转换为屏幕坐标啊。。求大神指教!

------解决思路----------------------
你可以不用计算角度,只计算坐标,graphic有一些列的translate开头的方法,可以旋转画布一定角度
------解决思路----------------------
跟你说点理论概念。首先要明白,这种坐标是测量上专业的坐标,而且可能是故意去掉了一些对应坐标系信息。比如说可能是 WGS-84 坐标系的参数结果的某种偏移之后的结果。

因此不要随便想当然地看到人家也有x、y于是就以为一定是x、y平面坐标。它往往实际上是针对“地球”这个椭球体的坐标系,而不是平面的。那么把一个椭球体要映射到平面上,就需要变换,比如说同样是Y相同而X相差1000的两点,实际上在平面上应该显示的距离是不一样的。

一个具有地理坐标特征的系统,它要叠加多个信息层面在一起而正好吻合,特别是叠加地图之后也正好吻合,这才是一个最起码合格的系统。如果你没有这个考虑,那么从你的系统目标的分析上就能看出来。而如果你有这个考虑,那么找一个相关专业的基础的教科书看看,套用2、3个公式也就完了。但是关键不仅仅是公式,而是从一开始就看到的这类系统的基础的数据结构、架构,它会决定你的软件做完以后还能不能重复使用到更多的业务上。
------解决思路----------------------
简单的说 屏幕的坐标系和我们学校学习的坐标系 差别在于 屏幕的Y轴坐标系是反向的。
  相关解决方案