QT坐标变换及应用
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S o f t wa r e A p p l i c a t i o n・ 软件应用
O T坐标 变换 及应 用
文/ 郑向宁
一
致的。视 口窗 口机制是为 了绘制 与绘图设备
d o u b l e y = r e c t . b o t t o m( > _ d y ;
在 传统 2 D图 形 坐 标 系 统 下 , 数据 像 素 绑定 作 图方 式 的限制 了
p a i n t e r - > d r a wP o l y l i n e ( p o l y l i n e ) ; ) )
/ / 作 图区域 QRe c t r e c t ( Ma r g i n, Ma r g i n , wi d t h( ) 一
豪 素坐标作图介绍
R 素 映射、 图像 和 文字 。如果 要在 绘 图设
e n t a , Q t : : y e l l o w
一
般为窗 口部件 )上 绘图,只需创建一个
} ;
/ / 选 择 画 笔
d n t e r , 再将指针传到 该设备中 。即可实现作 作。
p a i n t e r - > s e t P e n ( c o l o r F o r l d s [ u i n t ( i d ) %6 】 ) ; / / 画波形
# u n de f M1
p a i n t e r - > s e t Wi n d o w( 0 , 0 , d a t a . c o u n t ( ) , 2 5 5 )
f 0 r 0 = O ; j < d a t a . c o nt u ( ) ; 州 ) { / / X坐标线 性转 换
£ 的象 素 ,它 的中心位 于 ( 0 . 5 , 0 . 5 ) 。如果我 E 用 QP a i n t e r绘制 一个 位 置在 ( 1 0 0 , 1 0 0 )的 } ,QP a i n t e r 会 在每 个 坐标 值 上增 加 0 . 5 , 标( 1 O O . 5 , 1 0 0 . 5 )为中心绘制这个象素 。
{
d o u b l e y = r e c t . b o t t o m O - d a t a U ] ;
i n t j ; p o l y l i n e [ j ] = QP o i n t F ( x , y ) ;
)
# e n di f
s t a t i c c o n s t QCo l o r e o l o r F o r l d s [ 6 ] ={ Qt : : g r e e n , Q t : : r e d , Qt : : b l u e , Q t : : c y a n , Qt : : ma g
在 Qt 2 D绘 图的坐标 系 统中 ,点 ( 0 , 0 ) 位
2 Ma r g i n . h e i g h t ( ) 一 2 Ma rg i n ) ;
i f ( 1 r e c t . i s V a l i d 0) r e t u n; r QM a p l t e r a t o r < i n t , QV e c t o r < q r e a l > > i ( c u r v e Ma p ) ;
v o i d d r a wDa t a ( Q P a i n t e r p a i n t e r )
d o u b l e x - r e c t . 1 e f t ( ) + j ;
t 绘 图
Qt 的 二 维 图形 引擎 是 基 于 QP a i n t e r 类 QP a i n t e r既可 以绘制 几何 图形 ,也可 以绘
的大 小和分 辨率 无关的图形。
p o l y l i n e [ j ] = QP o i n t F ( x , y ) ; )
# e n di f
作 图区域 的 大 小。作 图数 据 的维 数 大小来 定作 图 目标的 大 小。 图 形 布局 比较 受外部 限制且 缺 乏可 变 性 和灵 活性 ,任 意 外部 数据 维 度 大 小的 改 变都会 引起整 个 画 面
/ / 作 图数据
QV e c t o r < q r e a l > d a t a = i . v a l u e ( ) ;
QP o l y g o n F p o l y l i n e ( d a t a . c o u n t ( ) ) ;
方法 2
, / 将 窗 口系统转 换为 ( O , O )为起 点 数据
宽 度 为 宽 ,数 据 最 大 幅 度 为 高 的矩 形
/
# i f d e fM2
—
#d e i f neM 2
方法 2 * / 方法 1 " /
键 词 】Q T坐标变换
Q t 2 D绘图 坐标 系
的更 改。使 得 整个 图形布 局 变得 难 以 固化 , 程 序 维 护 性 差 。 本 文 就 讨论如 何通过 Q t 2 D绘 图 系 统 坐 标 变换 解 决 上 述 问题 。
4 程序 应用
在 数据 作 图应 用 中幅度波 形 图是 常用 的 数 据作图应用 。通过外部数据 ( 网络 或串 口) 驱动作图 。数据格式包含数据长度每 个数据大 小 为数据 幅度此文数据大小采用单字节表 示。 程 序提供两种方式 。核心代码如下 : .
图设 备的左 上角 。x轴坐标 向右递增 ,Y
下递增 ,一个象素 对 比方 式 2窗 口切 换消 耗更 多程 序 开销 ,在程序开销 紧张的情 况下容易引起卡顿 外设输入 设备短 暂无 响应人机 交互不流畅。建 议在开销紧张情况下使用方式 1 。
j 的一点是一个象素 的中心位于坐标 的一半 例如 ,左 上角位于 点 ( 0 , 0 ) 和点( 1 , 1 ) 之间
O T坐标 变换 及应 用
文/ 郑向宁
一
致的。视 口窗 口机制是为 了绘制 与绘图设备
d o u b l e y = r e c t . b o t t o m( > _ d y ;
在 传统 2 D图 形 坐 标 系 统 下 , 数据 像 素 绑定 作 图方 式 的限制 了
p a i n t e r - > d r a wP o l y l i n e ( p o l y l i n e ) ; ) )
/ / 作 图区域 QRe c t r e c t ( Ma r g i n, Ma r g i n , wi d t h( ) 一
豪 素坐标作图介绍
R 素 映射、 图像 和 文字 。如果 要在 绘 图设
e n t a , Q t : : y e l l o w
一
般为窗 口部件 )上 绘图,只需创建一个
} ;
/ / 选 择 画 笔
d n t e r , 再将指针传到 该设备中 。即可实现作 作。
p a i n t e r - > s e t P e n ( c o l o r F o r l d s [ u i n t ( i d ) %6 】 ) ; / / 画波形
# u n de f M1
p a i n t e r - > s e t Wi n d o w( 0 , 0 , d a t a . c o u n t ( ) , 2 5 5 )
f 0 r 0 = O ; j < d a t a . c o nt u ( ) ; 州 ) { / / X坐标线 性转 换
£ 的象 素 ,它 的中心位 于 ( 0 . 5 , 0 . 5 ) 。如果我 E 用 QP a i n t e r绘制 一个 位 置在 ( 1 0 0 , 1 0 0 )的 } ,QP a i n t e r 会 在每 个 坐标 值 上增 加 0 . 5 , 标( 1 O O . 5 , 1 0 0 . 5 )为中心绘制这个象素 。
{
d o u b l e y = r e c t . b o t t o m O - d a t a U ] ;
i n t j ; p o l y l i n e [ j ] = QP o i n t F ( x , y ) ;
)
# e n di f
s t a t i c c o n s t QCo l o r e o l o r F o r l d s [ 6 ] ={ Qt : : g r e e n , Q t : : r e d , Qt : : b l u e , Q t : : c y a n , Qt : : ma g
在 Qt 2 D绘 图的坐标 系 统中 ,点 ( 0 , 0 ) 位
2 Ma r g i n . h e i g h t ( ) 一 2 Ma rg i n ) ;
i f ( 1 r e c t . i s V a l i d 0) r e t u n; r QM a p l t e r a t o r < i n t , QV e c t o r < q r e a l > > i ( c u r v e Ma p ) ;
v o i d d r a wDa t a ( Q P a i n t e r p a i n t e r )
d o u b l e x - r e c t . 1 e f t ( ) + j ;
t 绘 图
Qt 的 二 维 图形 引擎 是 基 于 QP a i n t e r 类 QP a i n t e r既可 以绘制 几何 图形 ,也可 以绘
的大 小和分 辨率 无关的图形。
p o l y l i n e [ j ] = QP o i n t F ( x , y ) ; )
# e n di f
作 图区域 的 大 小。作 图数 据 的维 数 大小来 定作 图 目标的 大 小。 图 形 布局 比较 受外部 限制且 缺 乏可 变 性 和灵 活性 ,任 意 外部 数据 维 度 大 小的 改 变都会 引起整 个 画 面
/ / 作 图数据
QV e c t o r < q r e a l > d a t a = i . v a l u e ( ) ;
QP o l y g o n F p o l y l i n e ( d a t a . c o u n t ( ) ) ;
方法 2
, / 将 窗 口系统转 换为 ( O , O )为起 点 数据
宽 度 为 宽 ,数 据 最 大 幅 度 为 高 的矩 形
/
# i f d e fM2
—
#d e i f neM 2
方法 2 * / 方法 1 " /
键 词 】Q T坐标变换
Q t 2 D绘图 坐标 系
的更 改。使 得 整个 图形布 局 变得 难 以 固化 , 程 序 维 护 性 差 。 本 文 就 讨论如 何通过 Q t 2 D绘 图 系 统 坐 标 变换 解 决 上 述 问题 。
4 程序 应用
在 数据 作 图应 用 中幅度波 形 图是 常用 的 数 据作图应用 。通过外部数据 ( 网络 或串 口) 驱动作图 。数据格式包含数据长度每 个数据大 小 为数据 幅度此文数据大小采用单字节表 示。 程 序提供两种方式 。核心代码如下 : .
图设 备的左 上角 。x轴坐标 向右递增 ,Y
下递增 ,一个象素 对 比方 式 2窗 口切 换消 耗更 多程 序 开销 ,在程序开销 紧张的情 况下容易引起卡顿 外设输入 设备短 暂无 响应人机 交互不流畅。建 议在开销紧张情况下使用方式 1 。
j 的一点是一个象素 的中心位于坐标 的一半 例如 ,左 上角位于 点 ( 0 , 0 ) 和点( 1 , 1 ) 之间