一種可視化控件的優(yōu)化方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種可視化控件的優(yōu)化方法及裝置,該方法包括:接收到生成可視化控件的請求;利用關(guān)鍵幀動畫類生成矩形可視化控件;將所述矩形可視化控件變換為不規(guī)則形狀的目標(biāo)可視化控件,所述不規(guī)則形狀的目標(biāo)可視化控件由兩條單調(diào)曲線和與所述矩形可視化控件的上下兩條邊重合的兩條直線圍成;顯示所述不規(guī)則形狀的目標(biāo)可視化控件;本發(fā)明使得用戶可以通過設(shè)置所述兩條單調(diào)曲線的形狀,來改變所述不規(guī)則形狀的目標(biāo)可視化控件的形狀,使得所述不規(guī)則形狀的目標(biāo)可視化控件具有多變性,從而滿足用戶的視覺要求,增強用戶體驗。
【專利說明】一種可視化控件的優(yōu)化方法及裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及互聯(lián)網(wǎng)領(lǐng)域,特別涉及一種可視化控件的優(yōu)化方法及裝置。
【背景技術(shù)】
[0002] 在手持設(shè)備操作系統(tǒng)ios上開發(fā)的動畫實現(xiàn)機制iosCoreAnimation,包括以下多 種實現(xiàn)方式:多個動畫同時執(zhí)行類CAAnimationGroup、抽象類CAPropertyAnimatioru實現(xiàn) 單一動畫類CABasicAnimation以及關(guān)鍵巾貞動畫類CAKeyframeAnimation。
[0003] 現(xiàn)有技術(shù)中,關(guān)鍵巾貞動畫類CAKeyframeAnimation是用來在屏幕上顯示內(nèi)容展示 的矩形區(qū)域,但是,隨著對視覺要求的提高,用戶不再希望可視化控件的顯示區(qū)域僅僅表現(xiàn) 為方方正正的矩形,很多時候需要通過多變的顯示區(qū)域來增加用戶體驗,針對關(guān)鍵幀動畫 類,現(xiàn)有技術(shù)中并沒有公開優(yōu)化可視化控件的方法。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明提供一種可視化控件的優(yōu)化方法及裝置,用以對可視化控件的顯示區(qū)域進(jìn) 行變換,增強用戶體驗。
[0005] 本發(fā)明提供一種可視化控件的優(yōu)化方法,該方法包括:
[0006] 接收到生成可視化控件的請求;
[0007] 利用關(guān)鍵幀動畫類生成所述矩形可視化控件;
[0008] 將所述矩形可視化控件變換為不規(guī)則形狀的目標(biāo)可視化控件,所述不規(guī)則形狀的 目標(biāo)可視化控件由兩條單調(diào)曲線和與所述矩形可視化控件的上下兩條邊重合的兩條直線 圍成;
[0009] 顯示所述不規(guī)則形狀的目標(biāo)可視化控件。
[0010] 優(yōu)選的,所述將所述矩形可視化控件變換為不規(guī)則形狀的目標(biāo)可視化控件包括:
[0011] 設(shè)定預(yù)定份數(shù)值;
[0012] 將所述矩形可視化控件沿其任意一條邊的方向分為預(yù)定份數(shù),形成所述預(yù)定份數(shù) 個小矩形;相應(yīng)的,將所述不規(guī)則形狀的目標(biāo)可視化控件沿同樣的方向分為預(yù)定份數(shù),形成 所述預(yù)定份數(shù)個小梯形;所述預(yù)定份數(shù)個小矩形與所述預(yù)定份數(shù)個小梯形一一對應(yīng);
[0013] 計算每個小矩形變換成相應(yīng)小梯形的三維變換矩陣,得到預(yù)定份數(shù)個三維變換矩 陣;
[0014] 將所述預(yù)定份數(shù)個三維變換矩陣掛載到所述關(guān)鍵幀動畫類中,由所述關(guān)鍵幀動畫 類根據(jù)所述預(yù)定份數(shù)個三維變換矩陣完成所述矩形可視化控件到所述不規(guī)則形狀的目標(biāo) 可視化控件的變換。
[0015] 優(yōu)選的,所述將所述矩形可視化控件沿其任意一條邊的方向分為預(yù)定份數(shù),形成 所述預(yù)定份數(shù)個小矩形包括:
[0016] 所述矩形可視化控件的一邊與直角坐標(biāo)系的y軸平行,將所述矩形可視化控件沿 y軸方向分為預(yù)定份數(shù),形成預(yù)定份數(shù)個小矩形;
[0017] 相應(yīng)的,將所述不規(guī)則形狀的目標(biāo)可視化控件沿y軸方向分為預(yù)定份數(shù),形成預(yù) 定份數(shù)個小梯形。
[0018] 優(yōu)選的,所述計算每個小矩形變換成相應(yīng)小梯形的三維變換矩陣前進(jìn)一步包括: 記錄每個小矩形的各頂點坐標(biāo),并計算每個小梯形的各頂點坐標(biāo);相應(yīng)的,所述計算每個小 矩形變換成相應(yīng)小梯形的三維變換矩陣包括:
[0019] 平移所述小矩形,使得所述小梯形下底的一頂點與該小矩形的對應(yīng)頂點對齊,并 計算平移矩陣;以所述小梯形下底長為所述平移后的小矩形的長,以所述小梯形的高為所 述平移后的小矩形的寬,將所述平移后的小矩形進(jìn)行伸縮,并計算伸縮矩陣;根據(jù)所述小梯 形的形狀,將所述伸縮后的小矩形進(jìn)行錯切,得到與所述小梯形的形狀一致的目標(biāo)小梯形, 并計算錯切矩陣;
[0020] 將目標(biāo)小梯形進(jìn)行投影變換,并計算其投影矩陣;將所述平移矩陣、伸縮矩陣、錯 切矩陣以及投影矩陣相乘,得到所述小矩形變換成相應(yīng)小梯形的三維變換矩陣。
[0021] 優(yōu)選的,所述計算每個小梯形的各頂點坐標(biāo)為:利用牛頓迭代法計算每個小梯形 的各頂點坐標(biāo)。
[0022] 優(yōu)選的,所述平移所述小矩形,使得所述小梯形下底的一頂點與該小矩形的對應(yīng) 頂點對齊,并計算平移矩陣包括:所述小梯形下底的一頂點Pl坐標(biāo)為(xpl,yi),對應(yīng)所述小 矩形的一頂點A坐標(biāo)為(xa,ya);平移所述小矩形,使所述頂點pi與所述頂點A對齊;計算 所述平移矩陣Tl為:
【權(quán)利要求】
1. 一種可視化控件的優(yōu)化方法,其特征在于,該方法包括: 接收到生成可視化控件的請求; 利用關(guān)鍵幀動畫類生成所述矩形可視化控件; 將所述矩形可視化控件變換為不規(guī)則形狀的目標(biāo)可視化控件,所述不規(guī)則形狀的目 標(biāo)可視化控件由兩條單調(diào)曲線和與所述矩形可視化控件的上下兩條邊重合的兩條直線圍 成; 顯示所述不規(guī)則形狀的目標(biāo)可視化控件。
2. 如權(quán)利要求1所述的方法,其特征在于,所述將所述矩形可視化控件變換為不規(guī)則 形狀的目標(biāo)可視化控件包括: 設(shè)定預(yù)定份數(shù)值; 將所述矩形可視化控件沿其任意一條邊的方向分為預(yù)定份數(shù),形成所述預(yù)定份數(shù)個小 矩形;相應(yīng)的,將所述不規(guī)則形狀的目標(biāo)可視化控件沿同樣的方向分為預(yù)定份數(shù),形成所述 預(yù)定份數(shù)個小梯形;所述預(yù)定份數(shù)個小矩形與所述預(yù)定份數(shù)個小梯形一一對應(yīng); 計算每個小矩形變換成相應(yīng)小梯形的三維變換矩陣,得到預(yù)定份數(shù)個三維變換矩陣; 將所述預(yù)定份數(shù)個三維變換矩陣掛載到所述關(guān)鍵幀動畫類中,由所述關(guān)鍵幀動畫類根 據(jù)所述預(yù)定份數(shù)個三維變換矩陣完成所述矩形可視化控件到所述不規(guī)則形狀的目標(biāo)可視 化控件的變換。
3. 如權(quán)利要求2所述的方法,其特征在于,所述將所述矩形可視化控件沿其任意一條 邊的方向分為預(yù)定份數(shù),形成所述預(yù)定份數(shù)個小矩形包括: 所述矩形可視化控件的一邊與直角坐標(biāo)系的y軸平行,將所述矩形可視化控件沿y軸 方向分為預(yù)定份數(shù),形成預(yù)定份數(shù)個小矩形; 相應(yīng)的,將所述不規(guī)則形狀的目標(biāo)可視化控件沿y軸方向分為預(yù)定份數(shù),形成預(yù)定份 數(shù)個小梯形。
4. 如權(quán)利要求2或3所述的方法,其特征在于,所述計算每個小矩形變換成相應(yīng)小梯形 的三維變換矩陣前進(jìn)一步包括:記錄每個小矩形的各頂點坐標(biāo),并計算每個小梯形的各頂 點坐標(biāo); 相應(yīng)的,所述計算每個小矩形變換成相應(yīng)小梯形的三維變換矩陣包括: 平移所述小矩形,使得所述小梯形下底的一頂點與該小矩形的對應(yīng)頂點對齊,并計算 平移矩陣; 以所述小梯形下底長為所述平移后的小矩形的長,以所述小梯形的高為所述平移后的 小矩形的寬,將所述平移后的小矩形進(jìn)行伸縮,并計算伸縮矩陣; 根據(jù)所述小梯形的形狀,將所述伸縮后的小矩形進(jìn)行錯切,得到與所述小梯形的形狀 一致的目標(biāo)小梯形,并計算錯切矩陣; 將目標(biāo)小梯形進(jìn)行投影變換,并計算其投影矩陣; 將所述平移矩陣、伸縮矩陣、錯切矩陣以及投影矩陣相乘,得到所述小矩形變換成相應(yīng) 小梯形的三維變換矩陣。
5. 如權(quán)利要求4所述的方法,其特征在于,所述計算每個小梯形的各頂點坐標(biāo)為: 利用牛頓迭代法計算每個小梯形的各頂點坐標(biāo)。
6. 如權(quán)利要求5所述的方法,其特征在于,所述平移所述小矩形,使得所述小梯形下底 的一頂點與該小矩形的對應(yīng)頂點對齊,并計算平移矩陣包括: 所述小梯形下底的一頂點Pl坐標(biāo)為(xpl,yi),對應(yīng)所述小矩形的一頂點A坐標(biāo)為 (xa,ya); 平移所述小矩形,使所述頂點Pl與所述頂點A對齊;計算所述平移矩陣τι為:
7. 如權(quán)利要求6所述的方法,其特征在于,所述以所述小梯形下底長為所述平移后的 小矩形的長,以所述小梯形的高為所述平移后的小矩形的寬,將所述平移后的小矩形進(jìn)行 伸縮,并計算伸縮矩陣包括: 對于所述小梯形,與所述頂點Pl在同一單調(diào)曲線上的上底頂點P2坐標(biāo)為(xp2, y2),下 底的另一頂點ql坐標(biāo)為(xb,Yb); 對于所述小矩形,與所述頂點A相鄰的兩頂點B和C的坐標(biāo)分別為(xb,yb)和(Xc;,y。); 以所述小梯形下底長為所述平移后的小矩形的長,以所述小梯形的高為所述平移后的 小矩形的寬,將所述平移后的小矩形在X軸和y軸上分別進(jìn)行伸縮,得到所述伸縮矩陣T2 為:
8. 如權(quán)利要求7所述的方法,其特征在于,所述根據(jù)所述小梯形的形狀,將所述伸縮后 的小矩形進(jìn)行錯切,得到與所述小梯形的形狀一致的目標(biāo)小梯形,并計算錯切矩陣包括: 將由所述頂點Pi、ql及C組成的三角形錯切變換為由所述頂點pi、ql及p2組成的三 角形,得到第一錯切矩陣T31 :
將由所述頂點ql、C及D組成的三角形在X軸上進(jìn)行伸縮變換,使其變換為由所述頂點 ql、D及p2組成的三角形,得到X軸伸縮矩陣T32 :
其中,所述頂點D為所述小矩形中,與所述頂點A相對的頂點,其坐標(biāo)為(xd,yd); 將由所述頂點ql、D及p2組成的三角形錯切變換為由所述頂點ql、p2及q2組成的三 角形,得到與所述小梯形的形狀一致的目標(biāo)小梯形,且第二錯切矩陣T33為:
所述錯切矩陣T3為所述第一錯切矩陣T31、X軸伸縮矩陣T32以及第二錯切矩陣T33 的乘積。
9. 如權(quán)利要求8所述的方法,其特征在于,所述將目標(biāo)小梯形進(jìn)行投影變換,并計算其 投影矩陣包括: 計算所述目標(biāo)小梯形進(jìn)行投影變換后的滅點坐標(biāo); 根據(jù)所述滅點坐標(biāo),計算所述投影矩陣Τ4。
10. -種可視化控件的優(yōu)化裝置,其特征在于,該裝置包括: 接收模塊,用于接收生成可視化控件的請求; 生成模塊,用于利用關(guān)鍵幀動畫類生成所述矩形可視化控件; 變換模塊,用于將所述矩形可視化控件變換為不規(guī)則形狀的目標(biāo)可視化控件,所述不 規(guī)則形狀的目標(biāo)可視化控件由兩條單調(diào)曲線和與所述矩形可視化控件的上下兩條邊重合 的兩條直線圍成; 顯示模塊,用于顯示所述不規(guī)則形狀的目標(biāo)可視化控件。
【文檔編號】G06F9/44GK104516733SQ201310460103
【公開日】2015年4月15日 申請日期:2013年9月30日 優(yōu)先權(quán)日:2013年9月30日
【發(fā)明者】孟祥星 申請人:北京新媒傳信科技有限公司