关于坐标系统的理解

为什么使用这两个概念?
为了让在逻辑坐标下自己作的图,在窗口大小变换时能自动适应,而不用去管窗体目前(物理上)是多大的。

概念区别
我们先要明白视口和窗口,物理坐标和逻辑坐标的概念,所谓视口与其物理坐标 ,就是指在屏幕上的看到的实际的一个个像素和其坐标,而所谓窗口和逻辑坐标,就是指我们指定了一个这个窗体的坐标系,在这个坐标系内做的东西是先在其内画好,在转换到物理坐标系内去。本来物理坐标和逻辑坐标显然是一样的,除非你调用了setWindow方法去设置了逻辑坐标。

相关描述
在QPainter中存在setWindow和setViewPort,分别用来设置绘图窗口和绘图的视口。
首先要说明的是,这个窗口和视口和可能和其它地方说明的窗口和视口含义不一样,把相关知识描述如下:
以在QWidget中绘图为例,QWidget大小(600,600)。Qt绘图时,如果不显式的指定窗口和视口,默认的窗口和视口都是(0,0,widget.width(),widget.height())。那么窗口-视口变换过程中的线性关系是X’ = X;Y’ = Y;其中(X,Y)是窗口中的坐标,(X’,Y’)是视口中的坐标。那么此时绘制的图形是以一个不变的关系绘制在QWidget上,没有任何的平移等效果。
如果使用setWindow(-300,-300,600,600)和setViewPort(-100,-100,600,600)之后呢,那么这个窗口-视口的线性关系则需要重新计算了,怎么计算?
设X’=aX+b;Y’=cY+d; 那么需要确定参数a,b,c,d。如何确定?
使用窗口坐标和视口坐标进行计算,在窗口(-300,-300,600,600)中,实际上是指定了窗口的两个坐标,左上角(-300,-300),右下角(300,300);在视口(-100,-100,600,600)中,指定了视口左上角坐标(-100,-100),视口右下角(500,500).根据左上角对应左上角,右下角对应右下角的关系,得到:x方向上有:-100=-300a+b,500=300a+b,解得a=1,b=200;y方向有:-100=-300c+d,500=300c+d,解得c=1,d=200。得到关系后再来绘图则是经过该关系变换后的值了。
比如painter.drawPoint(0,10),对应x=0,得到x’=0*a+b=200;对应y=10,得到y’=10*c+d=210;即实际上是在widget的(200,210)处绘制了一个点。

以上即是QPainter窗口-视口机制的具体计算过程。


本文来自转载.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
坐标数据处理系v3.0是一个用于处理坐标数据的软件系。这个系专门用于对坐标数据进行采集、分析和处理,并为用户提供根据坐标数据生成相应图表、图像以及报告等功能。 该系具有以下特点和功能: 1. 数据采集:系能够从不同的数据源获取坐标数据,如测绘设备、GPS设备等,确保数据的准确性和完整性。 2. 坐标转换:系支持不同坐标系之间的转换,方便用户在不同坐标系下进行数据分析和处理。 3. 数据分析:系能够对坐标数据进行计分析,如坐标点的分布情况、密度分析等,帮助用户了解数据的特征和规律。 4. 数据处理:系提供了多种数据处理方法,如数据过滤、平滑处理、缺失值处理等,以增强数据的可靠性和准确性。 5. 图表和图像生成:系能够根据坐标数据生成各种图表和图像,如散点图、等高线图等,方便用户对数据进行可视化分析。 6. 报告生成:系能够根据用户需求生成数据处理报告,包括图表、图像和分析结果等,方便用户进行数据交流和共享。 总体来说,坐标数据处理系v3.0是一个功能强大且易于使用的软件系,能够帮助用户高效地处理坐标数据,从而更好地理解和利用这些数据。无论是在测绘、地理信息系还是其他领域,该系都能提供有力的支持,是专业人士和研究人员的重要工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值