一种针对列表数据的矩阵旋转方法与装置的制造方法

文档序号:10534960阅读:203来源:国知局
一种针对列表数据的矩阵旋转方法与装置的制造方法
【专利摘要】本发明公开了一种针对列表数据的矩阵旋转方法,对原始矩阵source中的每个元素按照下述规则进行旋转变换后,生成目标矩阵target:顺时针旋转:target[line][row]=source[sline?row?1][line];或者逆时针旋转:target[line][row]=source[row][srow?line?1];其中line为行号,line取值范围为0至srow?1;row为列号,row取值范围为0至sline?1;sline为原始矩阵的行数,srow为原始矩阵的列数。本发明提供的针对列表数据的矩阵旋转方法与装置,能够在矩阵数据的显示需要变换时,通过简单的矩阵变换即可实现矩阵中数据的变换,该变换运算简单,对于系统性能的负荷要求低,而且能够同时兼容网站和安卓,从而实现了在网站和安卓系统上的数据显示需求,提升了网站和安卓系统中数据显示的便利性和灵活性。
【专利说明】
一种针对列表数据的矩阵旋转方法与装置
技术领域
[0001 ]本发明属于计算机开发技术领域,更具体地,涉及一种针对列表数据的矩阵旋转方法与装置。
【背景技术】
[0002]目前大部分网站和安卓系统上的应用程序都使用了列表,用来显示各式各样的数据。列表通常有两种显示方式:“单列”或“网格”。如图1所示为“单列”数据显示方式,从上到下显示数据,每行只有一条数据。如图2所示为“网格”数据显示方式,从上到下显示数据,每行有三条数据。在正常模式下,数据的排列顺序为:1、2、3、4、5、6、7、8、9、...,数据在网格列表中显示规则为从上到下、从左到右。
[0003]但假如有特殊需求,要将数据显示效果从图2变为图3,即将数据排列顺序“逆时针”旋转了 90度,数据在网格列表中显示规则变为从下到上、从左到右。为了达到这一目的,可以有如下两种方式:
[0004]1、使用多个“单列”列表并排,即可将附图3中的“网格”列表视为并排的3个“单列”列表,然而这个方式极大增加了代码和布局的编写量;
[0005]2、改变Java或安卓列表的显示规则,而由于Java和安卓系统,均有自带的专门控件来将列表中的数据转化成可见的图像,依照从上到下、从左到右的规则显示在屏幕上。然而,Java和安卓的绘图机制完全不同,需要编写两套控件才能同时适用于Java和安卓。

【发明内容】

[0006]针对现有技术的以上缺陷或改进需求,本发明提供了一种针对列表数据的矩阵旋转方法与装置,其目的在于提供一套简便通用的转换方式,能够按照旋转需求对列表数据进行旋转显示,由此解决现有技术中对系统性能消耗较大或者不同系统不兼容的技术问题。
[0007]按照本发明的一个方面,提供了一种针对列表数据的矩阵旋转方法,对原始矩阵source中的每个元素按照下述规则进行旋转变换后,生成目标矩阵target:
[0008]顺时针旋转:target[line] [row] = source [si ine-row-l ] [line];
[0009]或者逆时针旋转:target[line] [row] = source [row] [srow-1 ine-1 ];
[0010]其中line为行号,I ine取值范围为0至srow-1; row为列号,row取值范围为O至si ine-Ι; si ine为原始矩阵的行数,srow为原始矩阵的列数。
[0011]按照本发明的另一方面,还提供了一种针对列表数据的矩阵旋转装置,包括矩阵旋转变换模块,所述矩阵旋转变换模块对原始矩阵source中的每个元素按照下述规则进行旋转变换后,生成目标矩阵target:
[0012]顺时针旋转:target[ line] [row] = source [si ine-row-l ] [line];
[0013]或者逆时针旋转:target[ line] [row] = source [row] [srow-1 ine-1 ];
[0014]其中line为行号,I ine取值范围为0至srow-1; row为列号,row取值范围为O至si ine-1; si ine为原始矩阵的行数,srow为原始矩阵的列数。
[0015]通过本发明提供的针对列表数据的矩阵旋转方法与装置,能够在矩阵数据的显示需要变换时,通过简单的矩阵变换即可实现矩阵中数据的变换,该变换运算简单,对于系统性能的负荷要求低,而且能够同时兼容网站和安卓,从而实现了在网站和安卓系统上的数据显示需求,提升了网站和安卓系统中数据显示的便利性和灵活性。
【附图说明】
[0016]图1是本发明实施例中一种“单列”数据显示方式;
[0017]图2是本发明实施例中一种“网格”数据显示方式;
[0018]图3是本发明实施例中一种对图2中数据旋转后的数据显示状态;
[0019]图4是本发明实施例中一种对单列数据旋转变换的显示过程;
[0020]图5是本发明实施例中一种针对列表数据的矩阵旋转装置结构示意图;
[0021]图6是本发明实施例中另一种针对列表数据的矩阵旋转装置结构示意图。
【具体实施方式】
[0022]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0023]本发明提供了一种针对列表数据的矩阵旋转方法,对原始矩阵source中的每个元素按照下述规则进行旋转变换后,生成目标矩阵target:
[0024]顺时针旋转:target[line] [row] = source [si ine-row-l ] [line];
[0025]或者逆时针方定车专:target[ line] [row] = source [row] [srow-1 ine-1 ];
[0026]其中line为行号,I ine取值范围为0至srow-1; row为列号,row取值范围为O至si ine-Ι; si ine为原始矩阵的行数,srow为原始矩阵的列数。
[0027]具体地,从附图2到附图3的旋转变换过程,即为根据上述逆时针旋转的旋转规则旋转生成的。相应地,本领域技术人员可以类推出顺时针旋转的矩阵旋转变换的效果模拟图。
[0028]进一步地,如图4所示,对于单列数据也存在旋转变化后进行显示的问题,具体地,在本发明中,对于单列原始数据,先将其转化为原始矩阵source,按照上述旋转变换的规则进行旋转变化生成目标矩阵target后,再重新将目标矩阵转化为单列目标数据。下面给出具体的变换过程:
[0029]如图4所示为一种变换方式,具体为:根据设置的原始矩阵source的行数和列数,先将单列原始数据按从上到下、从左到右的顺序依次填入原始矩阵source中;在矩阵旋转变换完成后,再按从上到下、从左到右的顺序依次从目标矩阵target中取出数据并填入单列目标数据中,从而重新将其转化为单列目标数据。
[0030]相应的,除了上述的变换方式之外,还有如下几种变换方式:
[0031]1、根据设置的原始矩阵source的行数和列数,先将单列原始数据按从左到右、从上到下的顺序依次填入原始矩阵source中;在矩阵旋转变换完成后,再按从左到右、从上到下的顺序依次从目标矩阵target中取出数据并填入单列目标数据中,从而重新将其转化为单列目标数据。
[0032]2、根据设置的原始矩阵source的行数和列数,先将单列原始数据按从下到一、从左到右的顺序依次填入原始矩阵source中;在矩阵旋转变换完成后,再按从下到上、从左到右的顺序依次从目标矩阵target中取出数据并填入单列目标数据中,从而重新将其转化为单列目标数据。
[0033]本领域技术人员可以想到,上述变换可以有多种,只需要使单列原始数据变换成原始矩阵,以及将目标矩阵target重新转化为单列目标数据的数据取出和填入顺序对应即可,在此不对各种变换方式做列举。
[0034]进一步地,如图5所示,本发明还提供了相应的针对列表数据的矩阵旋转装置,包括矩阵旋转变换模块,所述矩阵旋转变换模块对原始矩阵source中的每个元素按照下述规则进行旋转变换后,生成目标矩阵target:
[0035]顺时针旋转:target[line] [row] = source [si ine-row-l ] [line];
[0036]或者逆时针方定车专:target[ line] [row] = source [row] [srow-1 ine-1 ];
[0037]其中line为行号,I ine取值范围为0至srow-1; row为列号,row取值范围为O至si ine-Ι; si ine为原始矩阵的行数,srow为原始矩阵的列数。
[0038]进一步地,如图6所示,本发明还提供了另一种针对列表数据的矩阵旋转装置,其特征在于,还包括原始矩阵生成模块以及单列目标数据生成模块,其中:
[0039]所述原始矩阵生成模块,用于将单列原始数据转化为原始矩阵;
[0040]所述单列目标数据生成模块,用于在所述矩阵旋转变换模块按照上述旋转变换的规则进行旋转变化生成目标矩阵后,再重新将目标矩阵转化为单列目标数据。
[0041 ]进一步地,所述原始矩阵生成模块,将单列原始数据转化为原始矩阵,具体为:根据设置的原始矩阵的行数和列数,将单列原始数据按从上到下、从左到右的顺序依次填入原始矩阵中;
[0042]对应地,所述单列目标数据生成模块再重新将目标矩转化为单列目标数据,具体为:按从上到下、从左到右的顺序依次从目标矩阵中取出数据并填入单列目标数据中。
[0043]进一步地,所述原始矩阵生成模块,将单列原始数据转化为原始矩阵,具体为:根据设置的原始矩阵的行数和列数,将单列原始数据按从左到右、从上到下的顺序依次填入原始矩阵中;
[0044]对应地,所述单列目标数据生成模块再重新将目标矩转化为单列目标数据,具体为:按从左到右、从上到下的顺序依次从目标矩阵中取出数据并填入单列目标数据中。
[0045]本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种针对列表数据的矩阵旋转方法,其特征在于,对原始矩阵source中的每个元素按照下述规则进行旋转变换后,生成目标矩阵target: 顺时针方定车专:target[Iine] [row] = source[siine-row-l] [Iine]; 或者逆时针方定车专:target [ I ine ] [row] = source [row] [ srow-1 ine-1 ]; 其中line为行号,line取值范围为0至srow-1 ;row为列号,row取值范围为0至sline_l ;si ine为原始矩阵的行数,srow为原始矩阵的列数。2.如权利要求1所述的针对列表数据的矩阵旋转方法,其特征在于,对于单列原始数据,先将其转化为原始矩阵,按照上述旋转变换的规则进行旋转变化生成目标矩阵后,再重新将目标矩阵转化为单列目标数据。3.如权利要求2所述的针对列表数据的矩阵旋转方法,其特征在于: 所述对于单列原始数据,将其转化为原始矩阵,具体为: 根据设置的原始矩阵的行数和列数,将单列原始数据按从上到下、从左到右的顺序依次填入原始矩阵中; 对应地,所述再重新将目标矩转化为单列目标数据,具体为: 按从上到下、从左到右的顺序依次从目标矩阵中取出数据并填入单列目标数据中。4.如权利要求2所述的针对列表数据的矩阵旋转方法,其特征在于: 所述对于单列原始数据,将其转化为原始矩阵,具体为: 根据设置的原始矩阵的行数和列数,将单列原始数据按从左到右、从上到下的顺序依次填入原始矩阵中; 对应地,所述再重新将目标矩转化为单列目标数据,具体为: 按从左到右、从上到下的顺序依次从目标矩阵中取出数据并填入单列目标数据中。5.一种针对列表数据的矩阵旋转装置,其特征在于,包括矩阵旋转变换模块,所述矩阵旋转变换模块对原始矩阵source中的每个元素按照下述规则进行旋转变换后,生成目标矩阵target:顺时针方定车专:target [ I ine ] [row] = source [si ine-row-l ] [I ine ]; 或者逆时针方定车专:target [ I ine ] [row] = source [row] [ srow-1 ine-1 ]; 其中line为行号,line取值范围为0至srow-1 ;row为列号,row取值范围为0至sline_l ;si ine为原始矩阵的行数,srow为原始矩阵的列数。6.如权利要求5所述的针对列表数据的矩阵旋转装置,其特征在于,还包括原始矩阵生成模块以及单列目标数据生成模块,其中: 所述原始矩阵生成模块,用于将单列原始数据转化为原始矩阵; 所述单列目标数据生成模块,用于在所述矩阵旋转变换模块按照上述旋转变换的规则进行旋转变化生成目标矩阵后,再重新将目标矩阵转化为单列目标数据。7.如权利要求6所述的针对列表数据的矩阵旋转装置,其特征在于: 所述原始矩阵生成模块,将单列原始数据转化为原始矩阵,具体为: 根据设置的原始矩阵的行数和列数,将单列原始数据按从上到下、从左到右的顺序依次填入原始矩阵中; 对应地,所述单列目标数据生成模块再重新将目标矩转化为单列目标数据,具体为: 按从上到下、从左到右的顺序依次从目标矩阵中取出数据并填入单列目标数据中。8.如权利要求6所述的针对列表数据的矩阵旋转装置,其特征在于: 所述原始矩阵生成模块,将单列原始数据转化为原始矩阵,具体为: 根据设置的原始矩阵的行数和列数,将单列原始数据按从左到右、从上到下的顺序依次填入原始矩阵中; 对应地,所述单列目标数据生成模块再重新将目标矩转化为单列目标数据,具体为: 按从左到右、从上到下的顺序依次从目标矩阵中取出数据并填入单列目标数据中。
【文档编号】G06F17/30GK105893506SQ201610192447
【公开日】2016年8月24日
【申请日】2016年3月30日
【发明人】霍启圣
【申请人】武汉斗鱼网络科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1