專利名稱:堆棧數(shù)據(jù)可視化方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)操作及其數(shù)據(jù)處理領(lǐng)域,特別涉及一種堆棧數(shù)據(jù)可視化方法及系統(tǒng)。
背景技術(shù):
撤消(Undo)操作與恢復(fù)(Redo)操作是目前計(jì)算機(jī)領(lǐng)域普遍使用的功能。在個(gè)人電腦(PC)時(shí)代之前的字處理裝置中就已經(jīng)提供了 Undo操作和Redo操作功能,用戶可以順序的撤銷或者恢復(fù)過去對(duì)文檔操作的有限步驟。Undo操作和Redo操作不僅是字處理軟件的功能,也是目前大部分計(jì)算機(jī)軟件都提供的功能。Undo操作取消用戶對(duì)操作對(duì)象的最近一次操作,并將操作對(duì)象恢復(fù)到過去 (倒數(shù)第二次操作完成)的狀態(tài);Redo操作的功能與Undo操作相反。在大多數(shù)Windows 應(yīng)用程序中,Undo操作命令一般通過鍵盤輸入Ctrl+Z或者Alt+退格鍵完成。在大多數(shù) Macintosh應(yīng)用程序中,Undo命令一般通過鍵盤輸入Command-Z。Undo操作的實(shí)現(xiàn)模型一般有兩種分類方法線性模型和非線性模型,單用戶模型和多用戶模型。其中,線性模型只能允許用戶撤銷最近的一次操作;非線性模型允許用戶撤銷保存在撤銷棧中的任何一次操作。非線性模型可以進(jìn)一步分為直接選擇非線性模型、腳本選擇非線性模型(scriptinterpretation undo)和級(jí)聯(lián)式非線性模型(cascading undo)ο多用戶模型的Undo操作一般用于多個(gè)用戶可以同時(shí)操作一個(gè)文件的情況。多用戶模型又可以分為全局式多用戶模型(global multi-user undo)和本地式多用戶模型 (local multi-user undo)。在全局式多用戶模型下,Undo操作將最近的一次操作撤銷,不區(qū)分用戶;在本地式多用戶模型下,Undo操作只撤銷該本地用戶最近一次對(duì)文件的操作。 本地式多用戶模型一般是非線性模型。在不同的應(yīng)用程序中,可撤銷的步驟數(shù)量是不同的。例如,在Wiotoshop繪圖程序中,可以撤銷的步驟是20步甚至更多;但是在微軟的畫圖程序中(MSPaint),可以撤銷的步驟只有3步。從簡(jiǎn)化的角度來說,如果把一次Undo操作本身也當(dāng)作是可以撤銷的操作,那么Redo操作就可以省略了。經(jīng)過多年發(fā)展,目前的Undo操作和Redo操作有一些改進(jìn),例如非線性Undo操作 /Redo操作,及多用戶Undo操作/Redo操作。但是用戶對(duì)Undo操作和Redo操作的使用基本上沒有變化。用戶仍然只能看到撤銷項(xiàng)目的名稱(簡(jiǎn)單文字),或者操作時(shí)間(起始時(shí)間),或者操作描述(描述性文字)。如果操作過程比較復(fù)雜,這些方法就無法完整準(zhǔn)確的描述一個(gè)操作,更不能形象的描述此操作。
發(fā)明內(nèi)容
現(xiàn)有技術(shù)中,應(yīng)用程序沒有提供對(duì)于撤銷棧數(shù)據(jù)的可視化處理和顯示的功能,或者需要用戶開發(fā)專門的插件來顯示某個(gè)應(yīng)用程序撤銷棧的數(shù)據(jù),過程復(fù)雜,不方便使用。所以,用戶無法直觀的回顧過去的操作,或者有效的利用過去的操作過程。本發(fā)明要解決的問題是提供一種堆棧數(shù)據(jù)可視化方法及系統(tǒng),將堆棧數(shù)據(jù)項(xiàng)處理為對(duì)應(yīng)的圖形數(shù)據(jù)(graphic data),從而方便用戶查看過去的操作過程。為解決上述問題,本發(fā)明提供了一種堆棧數(shù)據(jù)可視化方法,所述的方法包括下列步驟根據(jù)用戶選擇的操作對(duì)象,調(diào)用所述的操作對(duì)象的堆棧,所述的堆棧包括堆棧數(shù)據(jù)項(xiàng),所述的堆棧數(shù)據(jù)項(xiàng)保存用戶的操作信息;根據(jù)所述的堆棧中的堆棧數(shù)據(jù)項(xiàng),生成堆棧數(shù)據(jù)項(xiàng)的圖形數(shù)據(jù),用于可視化的表示用戶的操作信息??蛇x的,所述用戶的操作信息為操作指令,所述的操作指令中包括操作對(duì)象的屬性數(shù)據(jù)??蛇x的,所述的屬性數(shù)據(jù)包括坐標(biāo)數(shù)據(jù),所述的生成堆棧數(shù)據(jù)項(xiàng)的圖形數(shù)據(jù)包括 從所述的操作指令中取出操作對(duì)象的坐標(biāo)數(shù)據(jù);利用取出的操作對(duì)象的坐標(biāo)數(shù)據(jù)繪制坐標(biāo)點(diǎn);連接所述的坐標(biāo)點(diǎn),生成圖形數(shù)據(jù)??蛇x的,所述的屬性數(shù)據(jù)包括色彩數(shù)據(jù),所述的生成堆棧數(shù)據(jù)項(xiàng)的圖形數(shù)據(jù)包括 從所述的操作指令中取出操作對(duì)象的色彩數(shù)據(jù);對(duì)操作對(duì)象應(yīng)用取出的色彩數(shù)據(jù),生成圖形數(shù)據(jù)??蛇x的,所述的屬性數(shù)據(jù)包括形狀尺寸數(shù)據(jù),所述的生成堆棧數(shù)據(jù)項(xiàng)的圖形數(shù)據(jù)包括從所述的操作指令中取出操作對(duì)象的形狀尺寸數(shù)據(jù);對(duì)操作對(duì)象應(yīng)用取出的形狀尺寸數(shù)據(jù),生成圖形數(shù)據(jù)??蛇x的,所述的操作對(duì)象為多功能濾波器,所述的屬性數(shù)據(jù)包括頻率數(shù)據(jù)、提升/ 削減數(shù)據(jù)和斜率數(shù)據(jù),所述的生成堆棧數(shù)據(jù)項(xiàng)的圖形數(shù)據(jù)包括從所述的操作指令中取出操作對(duì)象的頻率數(shù)據(jù)、提升/削減數(shù)據(jù)和斜率數(shù)據(jù);繪制調(diào)節(jié)圖生成圖形數(shù)據(jù),所述的調(diào)節(jié)圖為二維坐標(biāo)圖,其中橫坐標(biāo)單位為頻率,縱坐標(biāo)單位為分貝,調(diào)節(jié)圖中包括兩條首位相連的線段,其中一條為水平線段,另一條為非水平線段,其中水平線段的縱坐標(biāo)值為所述的提升/削減數(shù)據(jù),非水平線段的斜率為所述的斜率數(shù)據(jù),水平線段與非水平線段的連接點(diǎn)的橫坐標(biāo)值為所述的頻率數(shù)據(jù)??蛇x的,所述的堆棧為恢復(fù)棧,所述的堆棧數(shù)據(jù)項(xiàng)為恢復(fù)項(xiàng)。可選的,所述的堆棧為撤銷棧,所述的堆棧數(shù)據(jù)項(xiàng)為撤銷項(xiàng)。可選的,所述的堆棧為嵌套堆棧,包括第一層堆棧和第二層堆棧,所述的第一層堆棧和第二層堆棧分別包括堆棧數(shù)據(jù)項(xiàng),所述的堆棧數(shù)據(jù)項(xiàng)保存用戶的操作信息,所述的每一個(gè)第一層堆棧的堆棧數(shù)據(jù)項(xiàng)包括一個(gè)第二層堆棧??蛇x的,所述的堆棧數(shù)據(jù)可視化方法還包括下列步驟獲取用戶對(duì)圖形數(shù)據(jù)進(jìn)行的操作;根據(jù)預(yù)設(shè)規(guī)則,確定所述的操作所對(duì)應(yīng)的對(duì)堆棧數(shù)據(jù)項(xiàng)的修改;修改堆棧數(shù)據(jù)項(xiàng)。 用戶對(duì)圖形數(shù)據(jù)的修改可以反饋回堆棧數(shù)據(jù)項(xiàng),并進(jìn)一步反饋給操作對(duì)象。從而,用戶可以對(duì)過去的操作過程進(jìn)行修改,達(dá)到間接操作對(duì)象的目的,有效的利用了過去的操作過程,節(jié)省了用戶的修改時(shí)間??蛇x的,所述的用戶對(duì)圖形數(shù)據(jù)進(jìn)行的操作為在水平方向上的拉伸操作;所述的預(yù)設(shè)規(guī)則為在水平方向上拉伸圖形數(shù)據(jù)對(duì)應(yīng)增加所述的操作對(duì)象的操作時(shí)間;所述的屬性數(shù)據(jù)包括時(shí)間數(shù)據(jù);所述的修改堆棧數(shù)據(jù)項(xiàng)包括獲取圖形數(shù)據(jù)拉伸后與拉伸前在水平方向上的長(zhǎng)度的比例,按所述的比例增加操作指令中包括的操作對(duì)象的時(shí)間數(shù)據(jù)。
可選的,所述的用戶對(duì)圖形數(shù)據(jù)進(jìn)行的操作為在垂直方向上的拉伸操作;所述的預(yù)設(shè)規(guī)則為在垂直方向上拉伸圖形數(shù)據(jù)對(duì)應(yīng)增加所述的操作對(duì)象的尺寸;所述的屬性數(shù)據(jù)包括形狀尺寸數(shù)據(jù);所述的修改堆棧數(shù)據(jù)項(xiàng)包括獲取圖形數(shù)據(jù)拉伸后與拉伸前在垂直方向上的長(zhǎng)度的比例,按所述的比例增加操作指令中包括的操作對(duì)象的形狀尺寸數(shù)據(jù)可選的,所述的堆棧數(shù)據(jù)可視化方法還包括下列步驟根據(jù)用戶輸入的邏輯線,判斷邏輯線是否與圖形數(shù)據(jù)相交;調(diào)用與邏輯線相交的圖形數(shù)據(jù)所對(duì)應(yīng)的堆棧數(shù)據(jù)項(xiàng),生成動(dòng)態(tài)媒體數(shù)據(jù)。從而,用戶可以選擇堆棧數(shù)據(jù)項(xiàng),動(dòng)態(tài)的展示過去的操作過程或者生成新的操作過程??蛇x的,所述的生成動(dòng)態(tài)媒體數(shù)據(jù)包括按照所述的邏輯線與圖形數(shù)據(jù)相交的先后順序,調(diào)用各個(gè)圖形數(shù)據(jù)所對(duì)應(yīng)的堆棧數(shù)據(jù)項(xiàng),按照預(yù)設(shè)的時(shí)間間隔,或者按照所述操作指令保存的操作對(duì)象的時(shí)間屬性數(shù)據(jù),繪制操作對(duì)象并應(yīng)用所述操作對(duì)象的屬性數(shù)據(jù),生成動(dòng)態(tài)媒體數(shù)據(jù)??蛇x的,所述的圖形數(shù)據(jù)生成自不同堆棧的堆棧數(shù)據(jù)項(xiàng)??蛇x的,所述的堆棧數(shù)據(jù)可視化方法還包括下列步驟所述的方法還包括下列步驟將動(dòng)態(tài)媒體數(shù)據(jù)保存為動(dòng)態(tài)操作集,設(shè)置動(dòng)態(tài)操作集的類型;根據(jù)用戶選擇的第二操作對(duì)象,調(diào)用第二操作對(duì)象的類型;如果動(dòng)態(tài)操作集的類型與第二操作對(duì)象的類型相同,調(diào)用第二操作對(duì)象的堆棧;將動(dòng)態(tài)操作集加入第二操作對(duì)象的堆?;蛱鎿Q第二操作對(duì)象的堆棧的堆棧數(shù)據(jù)項(xiàng)。所生成的動(dòng)態(tài)操作集可以反作用于其他操作對(duì)象,達(dá)到自動(dòng)化處理的目的。從而,用戶不用編寫程序,就可以自定義處理過程。進(jìn)一步,本發(fā)明還提供了一種實(shí)現(xiàn)上述方法的圖形數(shù)據(jù)生成系統(tǒng),該圖形數(shù)據(jù)生成系統(tǒng)應(yīng)用于電子系統(tǒng)中,所述的電子系統(tǒng)包括輸入裝置、存儲(chǔ)裝置,用戶通過輸入裝置選擇操作對(duì)象,所述的操作對(duì)象的堆棧保存在存儲(chǔ)裝置中,所述的堆棧包括堆棧數(shù)據(jù)項(xiàng),所述的堆棧數(shù)據(jù)項(xiàng)保存用戶的操作指令,所述的操作指令中包括操作對(duì)象的屬性數(shù)據(jù)。所述的圖形數(shù)據(jù)生成系統(tǒng)包括可視化處理第一模塊,所述的可視化處理第一模塊從存儲(chǔ)裝置中獲取所述操作對(duì)象的堆棧,根據(jù)所述的堆棧中的堆棧數(shù)據(jù)項(xiàng),生成圖形數(shù)據(jù)。所述的可視化處理第一模塊包括操作數(shù)據(jù)調(diào)用模塊、操作數(shù)據(jù)分析模塊和圖形數(shù)據(jù)生成模塊;所述的操作數(shù)據(jù)調(diào)用模塊從存儲(chǔ)裝置中獲取所述的堆棧數(shù)據(jù)項(xiàng)并傳送給所述的操作數(shù)據(jù)分析模塊; 所述的操作數(shù)據(jù)分析模塊從堆棧數(shù)據(jù)項(xiàng)保存的操作指令中獲取操作對(duì)象的屬性數(shù)據(jù)以及所述的操作指令的類型,并傳送給圖形數(shù)據(jù)生成模塊;所述的圖形數(shù)據(jù)生成模塊根據(jù)所述的操作指令的類型,應(yīng)用所述的屬性數(shù)據(jù)繪制圖形數(shù)據(jù)??蛇x的,所述的圖形數(shù)據(jù)生成系統(tǒng)還包括可視化處理第二模塊,所述的可視化處理第二模塊接收所述的可視化處理第一模塊生成的圖形數(shù)據(jù);所述的可視化處理第二模塊根據(jù)用戶輸入的邏輯線,調(diào)用與該邏輯線相交的圖形數(shù)據(jù),生成動(dòng)態(tài)媒體數(shù)據(jù)。所述的可視化處理第二模塊包括邏輯線調(diào)用模塊、交點(diǎn)分析模塊和動(dòng)態(tài)媒體數(shù)據(jù)生成模塊;所述的邏輯線調(diào)用模塊從輸入裝置得到用戶輸入的邏輯線的位置信息或坐標(biāo)信息并傳送給所述的交點(diǎn)分析模塊;所述的交點(diǎn)分析模塊判斷所述的邏輯線與所述的圖形數(shù)據(jù)是否相交和交點(diǎn)的數(shù)量,如果所述的邏輯線與所述的圖形數(shù)據(jù)相交,將與所述的邏輯線相交的圖形數(shù)據(jù)依次發(fā)送給所述的動(dòng)態(tài)媒體數(shù)據(jù)生成模塊;所述的動(dòng)態(tài)媒體數(shù)據(jù)生成模塊調(diào)用所述的圖形數(shù)據(jù)所對(duì)應(yīng)的堆棧數(shù)據(jù)項(xiàng),按照預(yù)設(shè)的時(shí)間間隔或者按照操作指令保存的操作對(duì)象的時(shí)間屬性數(shù)據(jù),繪制操作對(duì)象并應(yīng)用所述操作對(duì)象的屬性數(shù)據(jù),生成動(dòng)態(tài)媒體數(shù)據(jù)。可選的,所述的圖形數(shù)據(jù)生成系統(tǒng)還包括可視化處理第三模塊,所述的可視化處理第三模塊接收所述的可視化處理第二模塊生成的動(dòng)態(tài)媒體數(shù)據(jù);所述的可視化處理第三模塊將動(dòng)態(tài)媒體數(shù)據(jù)保存為動(dòng)態(tài)操作集??蛇x的,所述的圖形數(shù)據(jù)生成系統(tǒng)還包括圖形數(shù)據(jù)反饋模塊,所述的圖形數(shù)據(jù)反饋模塊根據(jù)用戶的操作,修改圖形數(shù)據(jù)對(duì)應(yīng)的堆棧數(shù)據(jù)項(xiàng)的內(nèi)容。所屬的圖形數(shù)據(jù)反饋模塊包括第一數(shù)據(jù)獲取模塊、第一反饋操作分析模塊和第一數(shù)據(jù)反饋模塊;所述的第一數(shù)據(jù)獲取模塊通過輸入裝置獲取用戶所選擇的圖形數(shù)據(jù)以及用戶對(duì)圖形數(shù)據(jù)的操作,生成修改后的圖形數(shù)據(jù)并傳送給所述的第一反饋操作分析模塊;所述的第一反饋操作分析模塊比較修改后的圖形數(shù)據(jù)與修改前的圖形數(shù)據(jù),得到變化數(shù)據(jù),調(diào)用預(yù)設(shè)規(guī)則,確定所述的變化數(shù)據(jù)對(duì)應(yīng)的對(duì)操作對(duì)象的屬性數(shù)據(jù)的修改并傳送給所述的第一數(shù)據(jù)反饋模塊;所述的第一數(shù)據(jù)反饋模塊修改所述的堆棧數(shù)據(jù)項(xiàng)中的操作對(duì)象的屬性數(shù)據(jù)??蛇x的,所述的圖形數(shù)據(jù)生成系統(tǒng)還包括動(dòng)態(tài)操作集反饋模塊,所述的動(dòng)態(tài)操作集反饋模塊將動(dòng)態(tài)操作集加入操作對(duì)象的堆?;蛱鎿Q操作對(duì)象的堆棧的堆棧數(shù)據(jù)項(xiàng);所述的動(dòng)態(tài)操作集反饋模塊包括第二數(shù)據(jù)獲取模塊、第二反饋操作分析模塊和第二數(shù)據(jù)反饋模塊;所述的第二數(shù)據(jù)獲取模塊通過輸入裝置獲取用戶所選擇的動(dòng)態(tài)操作集和第二操作對(duì)象并傳送給所述的第二反饋操作分析模塊;所述的第二反饋操作分析模塊比較所述的動(dòng)態(tài)操作集和所述的第二操作對(duì)象的類型是否相同,如果相同,啟動(dòng)所述的第二數(shù)據(jù)反饋模塊;所述的第二數(shù)據(jù)反饋模塊調(diào)用所述的第二操作對(duì)象的堆棧,將動(dòng)態(tài)操作集加入第二操作對(duì)象的堆棧或替換第二操作對(duì)象的堆棧的堆棧數(shù)據(jù)項(xiàng)??蛇x的,所述的圖形數(shù)據(jù)生成系統(tǒng)還包括存儲(chǔ)模塊,所述的圖形數(shù)據(jù)、動(dòng)態(tài)媒體數(shù)據(jù)和動(dòng)態(tài)操作集保存在存儲(chǔ)模塊中。本發(fā)明還提供一種堆棧數(shù)據(jù)可視化系統(tǒng),所述的堆棧數(shù)據(jù)可視化系統(tǒng)包括上述的圖形數(shù)據(jù)生成系統(tǒng),還包括顯示裝置,所述的堆棧數(shù)據(jù)可視化系統(tǒng)還包括顯示裝置,所述的顯示裝置與所述的可視化處理第一模塊、可視化處理第二模塊、圖形數(shù)據(jù)反饋模塊和動(dòng)態(tài)操作集反饋模塊數(shù)據(jù)連接。相對(duì)于現(xiàn)有技術(shù),本發(fā)明的優(yōu)點(diǎn)在于(1)本發(fā)明提供了一種堆棧數(shù)據(jù)可視化方法,一種圖形數(shù)據(jù)生成系統(tǒng),以及一種堆棧數(shù)據(jù)可視化系統(tǒng),利用堆棧數(shù)據(jù)項(xiàng)生成圖形數(shù)據(jù),從而方便用戶查看過去的操作過程。(2)本發(fā)明提供對(duì)圖形數(shù)據(jù)進(jìn)行操作生成動(dòng)態(tài)媒體數(shù)據(jù)的方法。用戶可以選擇堆棧數(shù)據(jù)項(xiàng),動(dòng)態(tài)的展示過去的操作過程以及生成新的操作過程。(3)本發(fā)明提供對(duì)圖形數(shù)據(jù)進(jìn)行修改并反饋回堆棧數(shù)據(jù)項(xiàng)的方法。用戶可以對(duì)過去的操作過程進(jìn)行修改,達(dá)到間接操作對(duì)象的目的,有效的利用了過去的操作過程,節(jié)省了用戶的修改時(shí)間。(4)本發(fā)明還提供一種對(duì)動(dòng)態(tài)媒體數(shù)據(jù)進(jìn)行操作的方法,生成動(dòng)態(tài)操作集。該動(dòng)態(tài)操作集可以反作用于原操作對(duì)象,以及同類型的其他對(duì)象,實(shí)現(xiàn)自動(dòng)化處理。從而,用戶不用編寫程序,就可以達(dá)到自定義處理過程的目的。
圖1是現(xiàn)有技術(shù)中用戶操作應(yīng)用程序提供的對(duì)象的示意圖;圖2是現(xiàn)有技術(shù)中用戶的操作過程及撤銷棧的示意圖;圖3是本發(fā)明一個(gè)實(shí)施例中撤銷棧圖形數(shù)據(jù)的示意圖;圖4是本發(fā)明中利用撤銷棧生成圖形數(shù)據(jù)的方法流程圖;圖5是本發(fā)明一個(gè)實(shí)施例中用戶繪制一條邏輯線的示意圖;圖6是本發(fā)明中將圖形數(shù)據(jù)轉(zhuǎn)化為動(dòng)態(tài)媒體數(shù)據(jù)的方法流程圖;圖7是本發(fā)明一個(gè)實(shí)施例中動(dòng)態(tài)媒體數(shù)據(jù)的示意圖;圖8是本發(fā)明一個(gè)實(shí)施例中操作對(duì)象撤銷棧的示意圖;圖9是本發(fā)明一個(gè)實(shí)施例中用戶繪制多條邏輯線的示意圖;圖10是本發(fā)明一個(gè)實(shí)施例中用戶繪制T曲線的示意圖;圖11是本發(fā)明一個(gè)實(shí)施例中利用T曲線設(shè)置時(shí)間間隔的結(jié)果示意圖;圖12是本發(fā)明一個(gè)實(shí)施例中用戶對(duì)時(shí)間線進(jìn)行操作的示意圖;圖13是本發(fā)明中用戶進(jìn)行鼠標(biāo)操作、觸摸屏操作、手勢(shì)操作的示意圖;圖14是本發(fā)明一個(gè)實(shí)施例中操作對(duì)象示意圖;圖15是本發(fā)明一個(gè)實(shí)施例中的調(diào)節(jié)圖的示意圖;圖16是本發(fā)明一個(gè)實(shí)施例中第一層撤銷棧圖形數(shù)據(jù)的示意圖;圖17是本發(fā)明一個(gè)實(shí)施例中用戶繪制一條邏輯線穿過多個(gè)撤銷棧的撤銷項(xiàng)數(shù)據(jù)的示意圖;圖18和圖19是本發(fā)明一個(gè)實(shí)施例中用戶修改圖形數(shù)據(jù)的示意圖;圖20是本發(fā)明一個(gè)實(shí)施例中修改圖形數(shù)據(jù),改變操作對(duì)象的示意圖;圖21是本發(fā)明中通過修改圖形數(shù)據(jù)間接操作對(duì)象的方法的流程圖;圖22是本發(fā)明中用戶通過動(dòng)態(tài)媒體數(shù)據(jù)間接操作對(duì)象的方法流程圖;圖23是本發(fā)明中圖形數(shù)據(jù)生成系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更為明顯易懂,下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明的具體實(shí)施方式
做詳細(xì)的說明。參考圖1,現(xiàn)有技術(shù)的Undo操作過程如下用戶針對(duì)應(yīng)用程序界面10提供的信
息,操作程序中的多個(gè)操作對(duì)象12,包括操作對(duì)象1,操作對(duì)象2......操作對(duì)象η。用戶進(jìn)
行的每一步操作,都以撤銷項(xiàng)的形式自動(dòng)存儲(chǔ)在撤銷棧11中。當(dāng)用戶選擇撤銷棧的最后一個(gè)撤銷項(xiàng),該撤銷項(xiàng)對(duì)應(yīng)的操作被取消,操作對(duì)象1 恢復(fù)到上一個(gè)操作命令結(jié)束后的狀態(tài)。同時(shí),被取消的操作被存儲(chǔ)在恢復(fù)棧中,成為恢復(fù)棧的一個(gè)恢復(fù)項(xiàng)。根據(jù)撤銷棧的深度,即撤銷棧中能夠存儲(chǔ)的撤銷項(xiàng)的數(shù)量,用戶可以反復(fù)的選擇Undo操作和Redo操作?!耙徊讲僮鳌钡亩x可以有多種方式,在圖形圖像應(yīng)用程序中,可以使用鼠標(biāo)操作定義一步操作。用戶按下鼠標(biāo)左鍵選定多個(gè)操作對(duì)象12中的一個(gè),然后對(duì)其進(jìn)行平移、旋轉(zhuǎn)、縮放等草操作,最后釋放鼠標(biāo)左鍵。從按下鼠標(biāo)左鍵到釋放鼠標(biāo)左鍵的鼠標(biāo)操作將被定義為“一步操作”,對(duì)應(yīng)于撤銷棧11中的一項(xiàng)。參考圖2,進(jìn)一步以移動(dòng)操作為例描述現(xiàn)有技術(shù)中的撤銷棧和恢復(fù)棧。
在圖2中,針對(duì)對(duì)象20 ( 一顆五角星),用戶進(jìn)行了四個(gè)操作,分別是上下移動(dòng)21, 左右移動(dòng)22,斜向移動(dòng)23和圓周移動(dòng)M。操作之后,在撤銷棧11中存儲(chǔ)了這四個(gè)操作對(duì)應(yīng)的四個(gè)撤銷項(xiàng)。撤銷項(xiàng)對(duì)于用戶的表現(xiàn)形式可以如11中所示,以簡(jiǎn)單文字表示為“撤銷項(xiàng) 1、撤銷項(xiàng)2、撤銷項(xiàng)3和撤銷項(xiàng)4” ;或者如11 ‘中所示,以各個(gè)操作的起始時(shí)間表示為“00 時(shí)00分00秒000毫秒、00時(shí)00分08秒625毫秒、00時(shí)00分19秒200毫秒和 00時(shí)00分30秒010毫秒”;或者如11"中所示,以描述性文字表示為“對(duì)象20上下移動(dòng)5次、對(duì)象20左右移動(dòng)5次、對(duì)象20斜向移動(dòng)5次和對(duì)象20圓周移動(dòng)2. 5次”。以簡(jiǎn)單文字表示,操作的信息完全沒有展現(xiàn)給用戶;以時(shí)間形式表示,撤銷項(xiàng)提供給用戶的是每個(gè)操作的開始時(shí)間,但是沒有關(guān)于操作本身的信息;以描述性文字表示,描述性文字本身也要用戶輸入,耗費(fèi)時(shí)間,也不全面;如果描述性文字是應(yīng)用程序提供的,那么內(nèi)容還是會(huì)受到限制。對(duì)于撤銷棧11中的撤銷項(xiàng),用戶只能看到撤銷項(xiàng)目的名稱(簡(jiǎn)單文字),或者操作時(shí)間(起始時(shí)間),或者操作描述(描述性文字)。如果操作過程比較復(fù)雜,這些方法就無法完整準(zhǔn)確的描述一個(gè)操作,更不能形象的描述此操作。用戶無法直觀的回顧過去的操作, 或者有效的利用過去的操作過程。本發(fā)明提供一種堆棧數(shù)據(jù)可視化方法,保存于堆棧中的操作過程(例如移動(dòng)位置、改變形狀、改變屬性等)以圖形數(shù)據(jù)的形式向用戶展示。實(shí)現(xiàn)了完整準(zhǔn)確的表達(dá)用戶操作的目的,同時(shí)用戶可以直觀的查看過去的操作過程。本發(fā)明中所指的堆??梢允遣僮鲗?duì)象過程中用于保存操作信息的任何形式的堆棧,包括撤銷棧、恢復(fù)棧等,也可以是用戶自定義的各種幫助記錄操作過程的輔助堆棧。下面以撤銷棧為例,說明堆棧數(shù)據(jù)可視化的方法。從手勢(shì)操作(或者鼠標(biāo)操作)中獲取圖形數(shù)據(jù)的方法為1)每一個(gè)操作對(duì)應(yīng)一個(gè)或多個(gè)操作指令;2)和每個(gè)操作相關(guān)的操作指令自動(dòng)保存為撤銷棧的撤銷項(xiàng);3)撤銷項(xiàng)中的操作指令包括對(duì)象的屬性數(shù)據(jù);4)對(duì)象的屬性數(shù)據(jù)包括位置信息或者坐標(biāo)信息;5)將位置信息或者坐標(biāo)信息轉(zhuǎn)化為圖形數(shù)據(jù)。用戶的操作方式還包括手寫板操作和觸摸屏操作。具體的,用戶對(duì)操作對(duì)象的操作過程保存于撤銷棧中,撤銷棧包括撤銷項(xiàng),每一個(gè)操作對(duì)應(yīng)一個(gè)或多個(gè)操作指令(例如計(jì)算機(jī)指令)。所述的操作指令用于改變對(duì)象的屬性, 如位置、形狀、色彩、文字內(nèi)容等,操作過程即操作對(duì)象的各種屬性改變的過程。操作對(duì)象具有屬性數(shù)據(jù)單元,屬性數(shù)據(jù)單元中保存當(dāng)前狀態(tài)的屬性數(shù)據(jù);每個(gè)操作指令保存該操作指令執(zhí)行前操作對(duì)象的屬性數(shù)據(jù)。在進(jìn)行Undo操作的時(shí)候,撤銷棧棧頂撤銷項(xiàng)的操作指令中保存的屬性數(shù)據(jù)被復(fù)制到操作對(duì)象的屬性數(shù)據(jù)單元中,覆蓋對(duì)象的屬性數(shù)據(jù),達(dá)到撤銷操作的目的。圖3為本發(fā)明的一個(gè)實(shí)施例。在本實(shí)施例中,圖2中用戶對(duì)對(duì)象20進(jìn)行的四個(gè)操作已經(jīng)分別轉(zhuǎn)化為圖形數(shù)據(jù)撤銷棧的撤銷項(xiàng)1對(duì)應(yīng)第一操作31 ;撤銷棧的撤銷項(xiàng)2對(duì)應(yīng)第二操作32 ;撤銷棧的撤銷項(xiàng)3對(duì)應(yīng)第三操作33 ;撤銷棧的撤銷項(xiàng)4對(duì)應(yīng)第四操作34,撤銷項(xiàng)4為撤銷棧的棧頂撤銷項(xiàng)。其中,撤銷項(xiàng)1向用戶展示的操作為沿著特定的軌跡,上下移動(dòng)對(duì)象20五次。在本實(shí)施例中,撤銷項(xiàng)1中包含的操作指令的類型為宏指令,撤銷項(xiàng)1中包含指向操作指令的指針,該指針指向的是多個(gè)操作指令的集合,其中每一個(gè)操作指令的類型都是移動(dòng)操作指令,每一個(gè)移動(dòng)操作指令中包含了對(duì)象20的位置屬性數(shù)據(jù)。撤銷項(xiàng)1轉(zhuǎn)化為圖形數(shù)據(jù)過程為從各個(gè)操作指令(類型為普通指令)中取出對(duì)象20的坐標(biāo),繪制多個(gè)線段將所有的坐標(biāo)點(diǎn)連接,生成圖3中的第一操作31。第一操作31為矢量圖形。在其他實(shí)施例中,生成的圖形數(shù)據(jù)也可以是位圖數(shù)據(jù)。圖3中撤銷項(xiàng)所對(duì)應(yīng)的圖形數(shù)據(jù)表現(xiàn)了操作距離、操作方向和真實(shí)的操作軌跡。 用戶可以得到完整而形象的操作信息。圖4為利用撤銷棧生成圖形數(shù)據(jù)的方法流程圖,包括如下步驟S41,根據(jù)用戶選擇的對(duì)象,調(diào)用所述對(duì)象的撤銷棧;S42,如果該撤銷棧中沒有撤銷項(xiàng),結(jié)束;如果該撤銷棧中有撤銷項(xiàng),進(jìn)行步驟 S43 ;S43,根據(jù)用戶選擇的撤銷項(xiàng),調(diào)用所述的撤銷項(xiàng);S44,如果所述的撤銷項(xiàng)中的操作指令包含操作對(duì)象的坐標(biāo)數(shù)據(jù)或位置數(shù)據(jù),進(jìn)行步驟S45;否則,結(jié)束;S45,通過所述的撤銷項(xiàng)中保存的操作指令,得到一個(gè)或多個(gè)坐標(biāo)數(shù)據(jù);S46,繪制坐標(biāo)數(shù)據(jù)點(diǎn),并連接所述的坐標(biāo)數(shù)據(jù)點(diǎn)生成圖形數(shù)據(jù)。該圖形數(shù)據(jù)可以是矢量圖形或者位圖;圖形數(shù)據(jù)所展示的是一個(gè)操作的直觀信息,撤銷棧中的所有撤銷項(xiàng)的圖形數(shù)據(jù)的集合就是完整的操作過程。生成整個(gè)撤銷棧的圖形數(shù)據(jù)的過程既可以是用戶參與的,也可以是自動(dòng)完成的。 自動(dòng)完成的生成過程將從撤銷棧的棧頂撤銷項(xiàng)開始逐一生成所有撤銷項(xiàng)的圖形數(shù)據(jù)。在很多情況下,用戶只需要撤銷棧中的一部分操作,這一部分操作可能并不是連續(xù)的操作,或者用戶需要?jiǎng)討B(tài)的展示操作過程,圖形數(shù)據(jù)無法滿足這些需求。進(jìn)一步的,本發(fā)明還提供一種將上述得到的圖形數(shù)據(jù)(graphics)轉(zhuǎn)化為動(dòng)態(tài)媒 WWiW, (motion media)1)根據(jù)用戶的輸入繪制邏輯線,判斷邏輯線是否與圖形數(shù)據(jù)相交;2)調(diào)用與邏輯線相交的圖形數(shù)據(jù)所對(duì)應(yīng)的堆棧數(shù)據(jù)項(xiàng),生成動(dòng)態(tài)媒體數(shù)據(jù),例如一組動(dòng)畫或視頻。圖5為本發(fā)明的一個(gè)實(shí)施例。在本實(shí)施例中,用戶繪制了一條邏輯線55用于操作圖2中對(duì)象20的撤銷棧的圖形數(shù)據(jù)。所述的撤銷棧的每一個(gè)撤銷項(xiàng)對(duì)應(yīng)一個(gè)圖形數(shù)據(jù),該邏輯線穿過了第一撤銷項(xiàng)的圖形數(shù)據(jù)51 —次,第二撤銷項(xiàng)的圖形數(shù)據(jù)52兩次,第三撤銷項(xiàng)的圖形數(shù)據(jù)53 —次,第四撤銷項(xiàng)的圖形數(shù)據(jù)M三次。表示用戶希望以撤銷棧中保存的過去的操作過程為基礎(chǔ),選擇性的新建一個(gè)操作過程。在本實(shí)施例中,用戶在邏輯線55的尾端,繪制了箭頭56 ( 一個(gè)結(jié)束符),該箭頭56 表示邏輯線處于可激活狀態(tài),用戶點(diǎn)擊箭頭就可以激活并產(chǎn)生動(dòng)態(tài)媒體數(shù)據(jù)。在其他實(shí)施例中,還可以繪制其他結(jié)束符,比如圓圈等,用來激活邏輯線,生成動(dòng)態(tài)媒體數(shù)據(jù)。用戶點(diǎn)擊箭頭56所生成的動(dòng)態(tài)媒體數(shù)據(jù)為邏輯線所穿過的所有圖形數(shù)據(jù)的動(dòng)態(tài)組合,順序?yàn)檫壿嬀€穿過圖形數(shù)據(jù)的先后順序;同時(shí)考慮邏輯線穿過一個(gè)圖形數(shù)據(jù)的次數(shù), 每穿過一次,動(dòng)態(tài)媒體數(shù)據(jù)就包含一個(gè)該圖形數(shù)據(jù)。具體的,本實(shí)施例中,撤銷項(xiàng)1中的操作指令為宏指令,是多個(gè)操作指令(類型為普通指令)的集合,其中每一個(gè)操作指令包含對(duì)象20的屬性數(shù)據(jù),其中不僅包含位置屬性數(shù)據(jù)(坐標(biāo)數(shù)據(jù)),還包含時(shí)間數(shù)據(jù);時(shí)間數(shù)據(jù)記錄的是所述的位置屬性數(shù)據(jù)(坐標(biāo)數(shù)據(jù))對(duì)應(yīng)的時(shí)間,本實(shí)施例中,該時(shí)間數(shù)據(jù)為相對(duì)于前一個(gè)操作指令的時(shí)間間隔。生成動(dòng)態(tài)媒體數(shù)據(jù)的過程為調(diào)用邏輯線穿過的第一個(gè)圖形數(shù)據(jù)對(duì)應(yīng)的撤銷項(xiàng);從該撤銷項(xiàng)中逐個(gè)取出操作指令(類型為普通指令)所包含的對(duì)象的坐標(biāo)數(shù)據(jù),并按照時(shí)間間隔,繪制坐標(biāo)點(diǎn);然后調(diào)用邏輯線穿過的第二個(gè)圖形數(shù)據(jù)對(duì)應(yīng)的撤銷項(xiàng),重復(fù)上一個(gè)步驟。在其他實(shí)施例中,從撤銷項(xiàng)中得到的信息可以包括多種數(shù)據(jù),如操作的坐標(biāo)、時(shí)間、長(zhǎng)度、角度、距離、形狀以及速度。用戶可以通過界面選擇需要依據(jù)哪些信息生成動(dòng)態(tài)媒體數(shù)據(jù)。例如,如果用戶沒有選擇一個(gè)拖動(dòng)操作的“形狀”信息,所生成的動(dòng)態(tài)媒體數(shù)據(jù)將只包含該拖動(dòng)操作的起點(diǎn)和終點(diǎn),并讓對(duì)象沿著直線從起點(diǎn)移動(dòng)到終點(diǎn)。如果用戶沒有選擇“速度”信息,動(dòng)態(tài)媒體數(shù)據(jù)將根據(jù)默認(rèn)的時(shí)間間隔繪制對(duì)象的坐標(biāo)點(diǎn),即拖動(dòng)操作勻速進(jìn)行。當(dāng)然,用戶也可以通過界面重新設(shè)定速度信息。以這樣的方式,一個(gè)自定義的動(dòng)態(tài)媒體數(shù)據(jù)就生成了。在本實(shí)施例中,用戶得到的動(dòng)態(tài)媒體數(shù)據(jù)為對(duì)象20將根據(jù)第一撤銷項(xiàng)的數(shù)據(jù)上下移動(dòng);然后,對(duì)象20根據(jù)第二撤銷項(xiàng)的數(shù)據(jù)左右移動(dòng),對(duì)象20再次根據(jù)第二撤銷項(xiàng)的數(shù)據(jù)左右移動(dòng);然后,對(duì)象20根據(jù)第三撤銷項(xiàng)的數(shù)據(jù)斜向移動(dòng);最后,對(duì)象20根據(jù)第四撤銷項(xiàng)的數(shù)據(jù)圓周移動(dòng),對(duì)象20再次根據(jù)第四撤銷項(xiàng)的數(shù)據(jù)圓周移動(dòng),對(duì)象20第三次根據(jù)第四撤銷項(xiàng)的數(shù)據(jù)圓周移動(dòng)。得到的動(dòng)態(tài)媒體數(shù)據(jù)的播放速度(各個(gè)坐標(biāo)數(shù)據(jù)繪制的時(shí)間間隔)可以按照用戶的設(shè)置進(jìn)行,可以以默認(rèn)的速度進(jìn)行,也可以按照原操作時(shí)撤銷項(xiàng)中保存的時(shí)間數(shù)據(jù)進(jìn)行。需要注意的是,在播放的過程中,動(dòng)態(tài)媒體數(shù)據(jù)可能是不連續(xù)的。例如,當(dāng)重復(fù)顯示將對(duì)象從坐標(biāo)(0,0)平移到(10,0)的操作時(shí),完成第一次平移操作后,對(duì)象的位置為 (10,0),但第二次平移操作開始時(shí),對(duì)象將重置到原點(diǎn)(0,0)。圖6為本發(fā)明中將圖形數(shù)據(jù)轉(zhuǎn)化為動(dòng)態(tài)媒體數(shù)據(jù)的方法的流程圖,包括如下步驟S61,根據(jù)用戶的輸入繪制一條邏輯線;S62,判斷此邏輯線是否與撤銷棧的一個(gè)或多個(gè)撤銷項(xiàng)的圖形數(shù)據(jù)相交;如果是, 進(jìn)行步驟S63;如果不是,結(jié)束;S63,判斷此邏輯線是否包含結(jié)束符(箭頭),即用戶是否繪制了結(jié)束符;如果是, 進(jìn)行步驟S64;如果不是,結(jié)束;S64,根據(jù)用戶的輸入(點(diǎn)擊箭頭),激活邏輯線;S65,調(diào)用撤銷項(xiàng)的數(shù)據(jù),用戶可通過界面選擇需要的數(shù)據(jù)種類;S66,生成動(dòng)態(tài)媒體數(shù)據(jù)。用戶繪制邏輯線的方法除了鼠標(biāo)操作,還包括手勢(shì)操作、手寫板操作、觸摸屏操作寸。使用本發(fā)明提供的方法,用戶現(xiàn)在可以得到兩種表現(xiàn)撤銷棧數(shù)據(jù)的方法一種是以圖形數(shù)據(jù)的形式,靜態(tài)的表現(xiàn);另一種是以動(dòng)態(tài)媒體數(shù)據(jù)的形式,通過動(dòng)畫或視頻的形式動(dòng)態(tài)的表現(xiàn)。在本發(fā)明提供的方法中,用戶還可以將動(dòng)態(tài)媒體數(shù)據(jù)沿著時(shí)間軸展示。圖7顯示的是圖5操作所得到的動(dòng)態(tài)媒體數(shù)據(jù)結(jié)果包括第一撤銷項(xiàng)對(duì)應(yīng)的圖形數(shù)據(jù)71,第二撤銷項(xiàng)對(duì)應(yīng)的圖形數(shù)據(jù)72-1以及72-2,第三撤銷項(xiàng)對(duì)應(yīng)的圖形數(shù)據(jù)73,和第四撤銷項(xiàng)對(duì)應(yīng)的圖形數(shù)據(jù)74-1、74-2和74-3。其中圖形數(shù)據(jù)的寬度表示為在時(shí)間軸上的時(shí)間長(zhǎng)度,即各個(gè)坐標(biāo)點(diǎn)的時(shí)間間隔的總和。這些圖形數(shù)據(jù)的實(shí)際尺寸如果很大,本系統(tǒng)也可以按照用戶的需求,以縮小的圖形數(shù)據(jù)展示給用戶。在時(shí)間軸上,第一撤銷項(xiàng)的圖形數(shù)據(jù)71開始于時(shí)間原點(diǎn)(時(shí)間軸坐標(biāo)0)。第二撤銷項(xiàng)的圖形數(shù)據(jù)72-1開始于圖形數(shù)據(jù)71結(jié)束時(shí)。時(shí)間軸的單位是秒。在其他的實(shí)施例中,每個(gè)圖形數(shù)據(jù)的開始時(shí)間也可以另行設(shè)置。用戶可以通過播放控件或者語音控件等方法來控制動(dòng)態(tài)媒體數(shù)據(jù)的播放。時(shí)間軸的單位可以依照用戶的輸入設(shè)置。需要注意的是,在以上的幾個(gè)實(shí)施例中,對(duì)對(duì)象20的操作僅僅為移動(dòng)操作;但是, 一個(gè)操作對(duì)象任何屬性和狀態(tài)的變化都是一種操作,例如色彩、形狀、大小、圖層信息、深度信息(ζ軸數(shù)據(jù))等等,都可以成為撤銷棧的撤銷項(xiàng)。其動(dòng)態(tài)媒體數(shù)據(jù)也可以用相同的方法生成,下面以具體的實(shí)施例進(jìn)行說明。圖8為本發(fā)明的一個(gè)實(shí)施例,其中的操作對(duì)象為對(duì)象121 ( 一朵花)。對(duì)對(duì)象121 的操作以形狀和色彩變化為主,對(duì)象121的屬性數(shù)據(jù)包括形狀尺寸數(shù)據(jù)和色彩數(shù)據(jù)。對(duì)象 121對(duì)應(yīng)撤銷棧122。撤銷棧122中保存的操作信息為撤銷項(xiàng)1 原對(duì)象121 ;撤銷項(xiàng)2 色度設(shè)置為9 ;撤銷項(xiàng)3 縮小到原對(duì)象的10% ;撤銷項(xiàng)4 尺寸還原,色度設(shè)置為58,飽和度設(shè)置為67 ;撤銷項(xiàng)5 縮小到原對(duì)象的50% ;撤銷項(xiàng)6 尺寸還原,色度設(shè)置為四;撤銷項(xiàng) 7 縮小到原對(duì)象的15% ;撤銷項(xiàng)8 尺寸還原,色度設(shè)置為100 ;撤銷項(xiàng)9 縮小到原對(duì)象的 30% ;撤銷項(xiàng)10 尺寸還原,色度設(shè)置為68,飽和度設(shè)置為59 ;撤銷項(xiàng)11 縮小到原對(duì)象的 75%;撤銷項(xiàng)12 尺寸還原,色度設(shè)置為0,飽和度設(shè)置為0。一個(gè)撤銷項(xiàng)所對(duì)應(yīng)的圖形數(shù)據(jù)的生成過程為調(diào)用對(duì)象121,應(yīng)用該撤銷項(xiàng)中的指令所保存的操作對(duì)象的屬性數(shù)據(jù)。參考圖9,用戶繪制多條邏輯線將圖8中所示的撤銷棧122的圖形數(shù)據(jù)轉(zhuǎn)化為動(dòng)態(tài)媒體數(shù)據(jù),其中撤銷項(xiàng)1的圖形數(shù)據(jù)為圖形數(shù)據(jù)1301,撤銷項(xiàng)2的圖形數(shù)據(jù)為1302,依此類推,撤銷項(xiàng)12的圖形數(shù)據(jù)為圖形數(shù)據(jù)1312。用戶首先繪制了第一邏輯線1313,與改變對(duì)象121大小的撤銷項(xiàng)的圖形數(shù)據(jù)1303、圖形數(shù)據(jù)1305、圖形數(shù)據(jù)1307、圖形數(shù)據(jù)1311、圖形數(shù)據(jù)1301依次相交。用戶然后繪制了第二邏輯線(圖中沒有顯示),與改變對(duì)象121顏色的撤銷項(xiàng)的圖形數(shù)據(jù)1302、圖形數(shù)據(jù)1304、圖形數(shù)據(jù)1306、圖形數(shù)據(jù)1308、圖形數(shù)據(jù)1310、 圖形數(shù)據(jù)1312依次相交。用戶最后繪制了第三邏輯線1315,與撤銷項(xiàng)8和撤銷項(xiàng)9的圖形數(shù)據(jù)依次相交。對(duì)于各條邏輯線,當(dāng)用戶在邏輯線尾端繪制了結(jié)束符,本實(shí)施例為箭頭, 表示該邏輯線處于激活狀態(tài);當(dāng)用戶點(diǎn)擊箭頭,將生成動(dòng)態(tài)媒體數(shù)據(jù)。其生成過程為調(diào)用各個(gè)圖形數(shù)據(jù)所對(duì)應(yīng)的撤銷項(xiàng)中的數(shù)據(jù),按照默認(rèn)的時(shí)間間隔,或者按照撤銷項(xiàng)中操作指令保存的對(duì)象121的時(shí)間屬性數(shù)據(jù),設(shè)置對(duì)象121的屬性數(shù)據(jù),達(dá)到播放操作過程的效果。 所述的第一邏輯線的動(dòng)態(tài)媒體數(shù)據(jù)表現(xiàn)為對(duì)象121不斷的變化大小,過程為第一邏輯線所示;第二邏輯線的動(dòng)態(tài)媒體數(shù)據(jù)表現(xiàn)為對(duì)象121不斷的變化顏色,過程為第二邏輯線所示; 第三邏輯線的動(dòng)態(tài)媒體數(shù)據(jù)表現(xiàn)為對(duì)象121從色度100、大小為原對(duì)象100%,變化為色度 100、大小為原對(duì)象30%。
繼續(xù)參考圖9,用戶繪制的多條邏輯線也可以作為一條邏輯線生成一個(gè)動(dòng)態(tài)媒體數(shù)據(jù),此時(shí)動(dòng)態(tài)媒體數(shù)據(jù)中圖形數(shù)據(jù)的先后順序可以讓用戶選擇,也可以默認(rèn)的設(shè)置為邏輯線的生成順序。即在本實(shí)施例中,第一邏輯線的動(dòng)態(tài)媒體數(shù)據(jù)最先,第二邏輯線的動(dòng)態(tài)媒體數(shù)據(jù)其次,第三邏輯線的動(dòng)態(tài)媒體數(shù)據(jù)最后播放。在本實(shí)施例的操作過程中,結(jié)束符一箭頭也可以不在邏輯線的尾端繪制,用戶可以在界面的任何地方繪制,但是此時(shí)需要用戶通過界面選擇該結(jié)束符針對(duì)的邏輯線??刂苿?dòng)態(tài)媒體數(shù)據(jù)播放的時(shí)間包括設(shè)置各個(gè)圖形數(shù)據(jù)之間的時(shí)間間隔。也就是說,當(dāng)一個(gè)撤銷項(xiàng)對(duì)應(yīng)的操作播放完成之后,經(jīng)過多長(zhǎng)時(shí)間,開始播放下一個(gè)撤銷項(xiàng)對(duì)應(yīng)的操作。參考圖10,本發(fā)明還提供了一種設(shè)置動(dòng)態(tài)媒體數(shù)據(jù)中圖形數(shù)據(jù)的時(shí)間間隔的方法 1)用戶繪制一條邏輯線142,穿過一個(gè)動(dòng)態(tài)媒體數(shù)據(jù)中各個(gè)撤銷項(xiàng)圖形數(shù)據(jù);幻在邏輯線 142上繪制T曲線141 (T是曲線的一部分,也需要用戶繪制);3)獲取T曲線141與邏輯線 142各個(gè)交點(diǎn)之間的距離,并將距離映射為時(shí)間;4)在播放動(dòng)態(tài)媒體數(shù)據(jù)的時(shí)候,利用3)中得到的結(jié)果設(shè)置圖形數(shù)據(jù)之間的時(shí)間間隔。用戶繪制T曲線的方式可以為觸摸屏操作、鼠標(biāo)操作或手勢(shì)操作等。圖11為時(shí)間間隔設(shè)置結(jié)果的示意圖??刂苿?dòng)態(tài)媒體數(shù)據(jù)播放的時(shí)間還包括設(shè)置圖形數(shù)據(jù)對(duì)應(yīng)的操作對(duì)象的時(shí)間屬性數(shù)據(jù)。參考圖12,本發(fā)明還提供一種利用時(shí)間線控制圖形數(shù)據(jù)本身播放時(shí)間的方法。時(shí)間線表示動(dòng)態(tài)媒體數(shù)據(jù)播放的整體時(shí)間,即所有圖形數(shù)據(jù)對(duì)應(yīng)的操作時(shí)間總和。用戶可以直接對(duì)時(shí)間線進(jìn)行操作改變播放節(jié)奏,其中操作221使時(shí)間線凸起表示加速,操作222使時(shí)間線凹陷表示減速,其他時(shí)間線部分223表示保持原速度。按照預(yù)先設(shè)定凸起和凹陷形狀對(duì)應(yīng)的比例(比如操作221的形狀對(duì)應(yīng)加速100% ),增加或減少相應(yīng)的圖形數(shù)據(jù)對(duì)應(yīng)的撤銷項(xiàng)中保存的操作對(duì)象的時(shí)間屬性數(shù)據(jù)。通過上述的兩個(gè)方法,動(dòng)態(tài)媒體數(shù)據(jù)中圖形數(shù)據(jù)內(nèi)部和圖形數(shù)據(jù)之間的時(shí)間間隔都可以方便的設(shè)置。上述各個(gè)實(shí)施例中,多次提到用戶可以鼠標(biāo)操作、觸摸屏操作、手勢(shì)操作,請(qǐng)分別參考圖13中的移動(dòng)操作161,拉伸操作162以及移動(dòng)操作163。不論對(duì)于哪種操作方式, 操作對(duì)象的撤銷棧的撤銷項(xiàng)中都保存著操作指令,各個(gè)操作指令中保存操作對(duì)象的屬性數(shù)據(jù),本發(fā)明提供的方法都可以適用。本發(fā)明還提供一種嵌套撤銷棧,嵌套撤銷棧包括第一層撤銷棧和第二層撤銷棧, 所述的第一層撤銷棧中的每一個(gè)撤銷項(xiàng)包括第二層撤銷棧。生成嵌套撤銷棧動(dòng)態(tài)媒體數(shù)據(jù)的方法為調(diào)用第一層撤銷棧的撤銷項(xiàng);對(duì)于每一個(gè)撤銷項(xiàng),調(diào)用其第二層撤銷棧;調(diào)用第二層撤銷棧的每一個(gè)撤銷項(xiàng),按照前述的方法,調(diào)用撤銷項(xiàng)中保存的操作指令數(shù)據(jù),取得操作指令中保存的操作對(duì)象屬性數(shù)據(jù),繪制相應(yīng)的數(shù)據(jù)。嵌套撤銷棧的本質(zhì)在于一個(gè)撤銷項(xiàng)的數(shù)據(jù)可以方便的解釋為多種操作的結(jié)果。圖14為本發(fā)明的一個(gè)實(shí)施例,其中MFF170包括三個(gè)屬性控件,分別為頻率控件 171,用于調(diào)整MFF170的頻率屬性;提升/削減控件172 ;以及斜率控件173。當(dāng)用戶調(diào)節(jié) MFF170的屬性時(shí),修改濾波器屬性的操作將被記錄進(jìn)撤銷棧的撤銷項(xiàng),每個(gè)操作對(duì)應(yīng)一個(gè)或者多個(gè)操作指令。撤銷項(xiàng)保存的操作指令中,包含對(duì)象MFF170的屬性數(shù)據(jù),對(duì)象MFF170 的屬性數(shù)據(jù)包括頻率數(shù)據(jù)、提升/削減數(shù)據(jù)和斜率數(shù)據(jù)。在本實(shí)施例中,表示撤銷項(xiàng)的圖形數(shù)據(jù)為圖15中所示的“調(diào)節(jié)圖”。參考圖15,“調(diào)
15節(jié)圖”包含兩條首位相連的線段,對(duì)水平線段180的上下調(diào)整對(duì)應(yīng)提升/削減控件172的操作(對(duì)象MFF170的提升/削減屬性);對(duì)水平線段180與另一條線段的連接點(diǎn)181的左右調(diào)整對(duì)應(yīng)頻率控件171的操作(對(duì)象MFF170的頻率屬性);對(duì)端點(diǎn)182的左右調(diào)整對(duì)應(yīng)斜率控件173的操作(對(duì)象MFF170的斜率屬性)。參考圖16,圖16只顯示了操作對(duì)象的第一層撤銷棧的圖形數(shù)據(jù)。用戶對(duì)MFF進(jìn)行了四次操作,產(chǎn)生了四個(gè)撤銷項(xiàng)第一撤銷項(xiàng)圖形數(shù)據(jù)191,第二撤銷項(xiàng)圖形數(shù)據(jù)192,第三撤銷項(xiàng)圖形數(shù)據(jù)193和第四撤銷項(xiàng)圖形數(shù)據(jù)194。允許多點(diǎn)接觸的觸摸屏可以同時(shí)操作頻率控件171、提升/削減控件172以及斜率控件173。相應(yīng)的,用戶的一次操作記錄為第一撤銷項(xiàng)圖形數(shù)據(jù)191,而第一撤銷項(xiàng)還包括一個(gè)第二層撤銷棧,第二層撤銷棧中包含三個(gè)撤銷項(xiàng)數(shù)據(jù),分別對(duì)應(yīng)頻率控件171的操作結(jié)果、提升/削減控件172的操作結(jié)果以及斜率控件173的操作結(jié)果。本發(fā)明還提供一種使用多個(gè)撤銷棧的撤銷項(xiàng)數(shù)據(jù)生成動(dòng)態(tài)媒體數(shù)據(jù)的方法,其操作過程與使用一個(gè)撤銷棧的過程基本一致,不同點(diǎn)在于,用戶繪制的邏輯線穿過多個(gè)撤銷棧的撤銷項(xiàng),最后繪制結(jié)束符,得到動(dòng)態(tài)媒體數(shù)據(jù)。其優(yōu)點(diǎn)是用戶可以利用多個(gè)過去已經(jīng)操作過的同類操作對(duì)象,將這些操作對(duì)象的操作過程加以篩選,得到全新的操作過程。圖17為本發(fā)明的一個(gè)實(shí)施例,用戶的邏輯線依次穿過了撤銷棧1的撤銷項(xiàng)2對(duì)應(yīng)的圖形數(shù)據(jù),撤銷棧2的撤銷項(xiàng)2對(duì)應(yīng)的圖形數(shù)據(jù),撤銷棧3的撤銷項(xiàng)3對(duì)應(yīng)的圖形數(shù)據(jù), 撤銷棧2的撤銷項(xiàng)4對(duì)應(yīng)的圖形數(shù)據(jù),撤銷棧1的撤銷項(xiàng)6對(duì)應(yīng)的圖形數(shù)據(jù),撤銷棧2的撤銷項(xiàng)7對(duì)應(yīng)的圖形數(shù)據(jù),撤銷棧3的撤銷項(xiàng)8對(duì)應(yīng)的圖形數(shù)據(jù)、撤銷項(xiàng)6對(duì)應(yīng)的圖形數(shù)據(jù)、 撤銷項(xiàng)5對(duì)應(yīng)的圖形數(shù)據(jù),最后得到動(dòng)態(tài)媒體數(shù)據(jù)1。使用撤銷棧的撤銷項(xiàng)數(shù)據(jù)生成動(dòng)態(tài)媒體數(shù)據(jù)的優(yōu)點(diǎn)包括1)用戶剛剛進(jìn)行過的操作,都被自動(dòng)存儲(chǔ)于撤銷棧中,用戶不需要主動(dòng)保存任何數(shù)據(jù);2)系統(tǒng)可以存儲(chǔ)關(guān)于操作的全部信息,包括前面已經(jīng)提到的操作的相關(guān)信息;3)撤銷棧的數(shù)據(jù)可以按照用戶的選擇保存于磁盤或其他非易失性存儲(chǔ)介質(zhì)上,相對(duì)于在內(nèi)存中的撤銷棧,磁盤上的撤銷棧所記錄的操作過程可以永久保存,動(dòng)態(tài)媒體數(shù)據(jù)生成不再受到時(shí)間約束;4)當(dāng)一個(gè)操作對(duì)象的撤銷棧保存于磁盤上時(shí),用戶操作前,系統(tǒng)將自動(dòng)加載該操作對(duì)象的撤銷棧,用戶操作時(shí),新的操作對(duì)應(yīng)的撤銷項(xiàng)繼續(xù)加入該撤銷棧中,用戶操作完成后,系統(tǒng)自動(dòng)將內(nèi)存中的撤銷棧保存到磁盤,用戶仍然不需要主動(dòng)保存任何數(shù)據(jù)。進(jìn)一步的,本發(fā)明還提供了一種通過修改圖形數(shù)據(jù)間接操作對(duì)象的方法1)根據(jù)用戶的輸入,修改圖形數(shù)據(jù);2)對(duì)圖形數(shù)據(jù)修改的信息,根據(jù)預(yù)定的規(guī)則反饋給圖形數(shù)據(jù)對(duì)應(yīng)的撤銷項(xiàng)中的操作指令數(shù)據(jù),修改操作指令數(shù)據(jù)所包含的操作對(duì)象的屬性數(shù)據(jù);通過此方法,可以實(shí)現(xiàn)間接修改操作對(duì)象的目的,節(jié)省了用戶操作時(shí)間。參考圖18,為本發(fā)明的一個(gè)實(shí)施例,一動(dòng)態(tài)媒體數(shù)據(jù)沿著時(shí)間軸展示其包含的圖形數(shù)據(jù)。各個(gè)圖形數(shù)據(jù)從左到右依次對(duì)應(yīng)第一撤銷項(xiàng)、第二撤銷項(xiàng)、第二撤銷項(xiàng)、第三撤銷項(xiàng)、第四撤銷項(xiàng)。假設(shè)用戶希望修改第一撤銷項(xiàng)的操作時(shí)間。用戶可以選擇第一撤銷項(xiàng)的圖形數(shù)據(jù) 81,在水平方向上拉伸圖形數(shù)據(jù),本實(shí)施例中,圖形數(shù)據(jù)水平方向的長(zhǎng)度對(duì)應(yīng)時(shí)間屬性,一個(gè)圖形數(shù)據(jù)越窄,其時(shí)間越短,操作越快;相反的,一個(gè)圖形數(shù)據(jù)在水平方向上越寬,時(shí)間越長(zhǎng),操作越慢。在其他實(shí)施例中,用戶也可以通過其他的手段修改圖形數(shù)據(jù),比如語音輸入寸。圖18的下半部分顯示了操作后的結(jié)果,圖形數(shù)據(jù)81成為圖形數(shù)據(jù)81',其結(jié)果為,圖形數(shù)據(jù)81對(duì)應(yīng)的撤銷項(xiàng)中的操作指令數(shù)據(jù)保存的操作對(duì)象的屬性信息發(fā)生改變。對(duì)應(yīng)的動(dòng)態(tài)媒體數(shù)據(jù)在播放時(shí),第一圖形數(shù)據(jù)的結(jié)束時(shí)間大約在27. 5秒。系統(tǒng)通過分析結(jié)束時(shí)間和開始時(shí)間,將新的整體操作時(shí)間賦予對(duì)應(yīng)的操作,即修改每個(gè)操作指令中保存的操作對(duì)象的時(shí)間屬性數(shù)據(jù)(按比例增加)。修改后的動(dòng)態(tài)媒體數(shù)據(jù)播放時(shí),對(duì)象20將以較慢的節(jié)奏沿著原路徑移動(dòng)。參考圖19所示,圖18中第二撤銷項(xiàng)對(duì)應(yīng)的圖形數(shù)據(jù)被修改了。第二撤銷項(xiàng)的修改方式為沿著垂直方向拉伸圖形數(shù)據(jù)。用戶對(duì)第二撤銷項(xiàng)對(duì)應(yīng)的第一個(gè)圖形數(shù)據(jù)92-1垂直向下拉伸的時(shí)候,保持了頂部線段98的位置;用戶對(duì)第二撤銷項(xiàng)對(duì)應(yīng)的第二個(gè)圖形數(shù)據(jù) 92-2垂直向上拉伸的時(shí)候,保持了底部線段99的位置。本實(shí)施例中,預(yù)先設(shè)定的規(guī)則為 沿著垂直方向的拉伸并不改變對(duì)應(yīng)操作的時(shí)間長(zhǎng)度,而是改變對(duì)象20的大??;具體為拉伸對(duì)應(yīng)放大,壓縮對(duì)應(yīng)縮小,按照拉伸、壓縮的百分比,放大或縮小操作對(duì)象。圖19中的拉伸操作將放大操作對(duì)象約100%。對(duì)圖形數(shù)據(jù)拉伸操作的結(jié)果是修改撤銷棧中的撤銷項(xiàng),即修改撤銷項(xiàng)中操作指令數(shù)據(jù)中保存的操作對(duì)象的形狀尺寸數(shù)據(jù)。將對(duì)圖形數(shù)據(jù)的操作轉(zhuǎn)化為對(duì)操作對(duì)象屬性的改變,在不同的實(shí)施例中,可以有不同的設(shè)定,本發(fā)明中將其稱為預(yù)定的規(guī)則。第二撤銷項(xiàng)對(duì)應(yīng)的第一個(gè)圖形數(shù)據(jù)92-1的操作結(jié)果請(qǐng)參考圖20上半部分。圖20中的基準(zhǔn)線1003相當(dāng)于圖19中的頂部線段98。其中對(duì)象20不僅放大一倍,而且將沿著新的路徑1002,從新的起始點(diǎn)1004開始移動(dòng)。如圖20 下半部分所示,新路徑的起點(diǎn)1005也可以根據(jù)預(yù)定的規(guī)則設(shè)置在對(duì)象20的中心。本發(fā)明中,對(duì)圖形數(shù)據(jù)的修改包括多種類型,包括平移,水平縮放,垂直縮放,旋轉(zhuǎn)等。用戶可以直接操作,也可以從提供的操作界面上選擇操作的類型。不同的操作在不同的系統(tǒng)中可以定義為不同的效果。圖21為通過修改圖形數(shù)據(jù)間接操作對(duì)象的方法的流程圖,包括如下步驟S111,根據(jù)用戶輸入,修改圖形數(shù)據(jù);S112,判斷該圖形數(shù)據(jù)是否對(duì)應(yīng)一個(gè)撤銷項(xiàng),如果不是,結(jié)束;如果存在相應(yīng)的撤銷項(xiàng),進(jìn)行步驟S113 ;S113,根據(jù)預(yù)設(shè)的規(guī)則,將對(duì)圖形數(shù)據(jù)的修改對(duì)應(yīng)為對(duì)操作對(duì)象的修改;S114,修改相應(yīng)的撤銷項(xiàng)中的數(shù)據(jù)項(xiàng),即修改數(shù)據(jù)項(xiàng)中操作指令保存的操作對(duì)象的屬性。進(jìn)一步的,本發(fā)明還提供了一種通過動(dòng)態(tài)媒體數(shù)據(jù)間接操作對(duì)象的方法1)按照用戶的選擇,調(diào)用動(dòng)態(tài)媒體數(shù)據(jù);2)將該動(dòng)態(tài)媒體數(shù)據(jù)保存為動(dòng)態(tài)操作集;3)將動(dòng)態(tài)操作集加入待操作的對(duì)象的撤銷棧。通過此方法,生成的動(dòng)態(tài)操作集(motion data object)可以作用于原操作對(duì)象以及同類型的其他操作對(duì)象,達(dá)到自動(dòng)化處理的目的。該方法的其他優(yōu)點(diǎn)包括(1)用戶不用編寫程序,就可以達(dá)到自定義處理過程的目的;O)同一團(tuán)隊(duì)的多個(gè)用戶可以共享自己的操作過程,不僅是操作結(jié)果和文檔,最大限度的發(fā)揮了協(xié)同工作的功能;(3)用戶本身沒有對(duì)操作對(duì)象進(jìn)行任何操作,只是重復(fù)利用了過去的操作過程,極大的提高了用戶的工作效率,尤其是在用戶復(fù)雜操作較多的計(jì)算機(jī)動(dòng)畫領(lǐng)域及計(jì)算機(jī)輔助設(shè)計(jì)領(lǐng)域。圖22為用戶通過動(dòng)態(tài)媒體數(shù)據(jù)間接操作對(duì)象的方法流程圖,包括如下步驟S211,按照用戶選擇,調(diào)用動(dòng)態(tài)媒體數(shù)據(jù);S212,將該動(dòng)態(tài)媒體數(shù)據(jù)另存為一個(gè)動(dòng)態(tài)操作集;給動(dòng)態(tài)操作集賦予類型屬性數(shù)據(jù)的步驟,其類型屬性與動(dòng)態(tài)媒體數(shù)據(jù)來源的對(duì)象相同;S213,按照用戶選擇,調(diào)用待操作的對(duì)象;用戶選擇待操作的對(duì)象可以以多種方式實(shí)現(xiàn),通過鍵盤操作,語音操作,或者直接將生成的動(dòng)態(tài)操作集拖拽到待操作的對(duì)象上;S214,檢查待操作的對(duì)象的類型與動(dòng)態(tài)操作集的類型是否一致;S215,將動(dòng)態(tài)操作集所包含的操作數(shù)據(jù)加入或替換待操作的對(duì)象撤銷棧;加入的位置為撤銷棧的棧頂。由于同類型的操作對(duì)象支持的操作也不盡相同,比如長(zhǎng)方形沒有圓形的半徑等屬性,對(duì)圓形的此類屬性操作對(duì)長(zhǎng)方形沒有意義,所以步驟S215還進(jìn)一步包括一個(gè)循環(huán),判斷每一個(gè)圖形數(shù)據(jù)所對(duì)應(yīng)的撤銷項(xiàng)是否與待操作對(duì)象兼容。進(jìn)一步的,本發(fā)明還提供一種圖形數(shù)據(jù)生成系統(tǒng)和一種堆棧數(shù)據(jù)可視化系統(tǒng)。如圖23所示,用戶通過用戶操作輸入裝置300對(duì)圖形數(shù)據(jù)生成系統(tǒng)100中的一個(gè)操作對(duì)象進(jìn)行操作,所進(jìn)行的操作自動(dòng)保存在所述操作對(duì)象的撤銷棧的撤銷項(xiàng)中,撤銷棧保存于存儲(chǔ)裝置400。圖形數(shù)據(jù)生成系統(tǒng)100包括可視化處理第一模塊101,可視化處理第二模塊104, 以及可視化處理第三模塊105。可視化處理第一模塊101利用撤銷棧的撤銷項(xiàng)數(shù)據(jù)生成圖形數(shù)據(jù)。所述的可視化處理第一模塊101包括操作數(shù)據(jù)調(diào)用模塊、操作數(shù)據(jù)分析模塊和圖形數(shù)據(jù)生成模塊操作數(shù)據(jù)調(diào)用模塊從存儲(chǔ)裝置中獲取所述的堆棧數(shù)據(jù)項(xiàng)并傳送給所述的操作數(shù)據(jù)分析模塊;操作數(shù)據(jù)分析模塊從堆棧數(shù)據(jù)項(xiàng)保存的操作指令中獲取操作對(duì)象的屬性數(shù)據(jù)以及所述的操作指令的類型,并傳送給圖形數(shù)據(jù)生成模塊;圖形數(shù)據(jù)生成模塊根據(jù)所述的操作指令的類型,應(yīng)用所述的屬性數(shù)據(jù)繪制圖形數(shù)據(jù)??梢暬幚淼诙K104利用生成的圖形數(shù)據(jù)生成動(dòng)態(tài)媒體數(shù)據(jù)。所述的可視化處理第二模塊104包括邏輯線調(diào)用模塊、交點(diǎn)分析模塊和動(dòng)態(tài)媒體數(shù)據(jù)生成模塊邏輯線調(diào)用模塊從輸入裝置得到用戶輸入的邏輯線的位置信息或坐標(biāo)信息并傳送給所述的交點(diǎn)分析模塊;交點(diǎn)分析模塊判斷所述的邏輯線與所述的圖形數(shù)據(jù)是否相交和交點(diǎn)的數(shù)量,如果所述的邏輯線與所述的圖形數(shù)據(jù)相交,將與所述的邏輯線相交的圖形數(shù)據(jù)依次發(fā)送給所述的動(dòng)態(tài)媒體數(shù)據(jù)生成模塊;動(dòng)態(tài)媒體數(shù)據(jù)生成模塊調(diào)用所述的圖形數(shù)據(jù)所對(duì)應(yīng)的堆棧數(shù)據(jù)項(xiàng),按照預(yù)設(shè)的時(shí)間間隔或者按照操作指令保存的操作對(duì)象的時(shí)間屬性數(shù)據(jù),繪制操作對(duì)象并應(yīng)用所述操作對(duì)象的屬性數(shù)據(jù),生成動(dòng)態(tài)媒體數(shù)據(jù)??梢暬幚淼谌K105利用生成的動(dòng)態(tài)媒體數(shù)據(jù)生成動(dòng)態(tài)操作集。圖形數(shù)據(jù)生成系統(tǒng)100還包括存儲(chǔ)模塊109。上述生成的圖形數(shù)據(jù),動(dòng)態(tài)媒體數(shù)據(jù)以及動(dòng)態(tài)操作集都可以保存在存儲(chǔ)模塊109內(nèi)。同時(shí),可視化處理第二模塊104和可視化處理第三模塊105可以通過存儲(chǔ)模塊109獲取所需的圖形數(shù)據(jù)和動(dòng)態(tài)媒體數(shù)據(jù)。圖形數(shù)據(jù)生成系統(tǒng)100還包括圖形數(shù)據(jù)反饋模塊102和動(dòng)態(tài)操作集反饋模塊107。 圖形數(shù)據(jù)反饋模塊102根據(jù)用戶的操作,按照前述的方法,修改圖形數(shù)據(jù)對(duì)應(yīng)的撤銷項(xiàng)的內(nèi)容。圖形數(shù)據(jù)反饋模塊102包括第一數(shù)據(jù)獲取模塊、第一反饋操作分析模塊和第一數(shù)據(jù)反饋模塊第一數(shù)據(jù)獲取模塊通過輸入裝置獲取用戶所選擇的圖形數(shù)據(jù)以及用戶對(duì)圖形數(shù)據(jù)的操作,生成修改后的圖形數(shù)據(jù)并傳送給所述的第一反饋操作分析模塊;第一反饋操作分析模塊比較修改后的圖形數(shù)據(jù)與修改前的圖形數(shù)據(jù),得到變化數(shù)據(jù),調(diào)用預(yù)設(shè)規(guī)則,確定所述的變化數(shù)據(jù)對(duì)應(yīng)的對(duì)操作對(duì)象的屬性數(shù)據(jù)的修改并傳送給所述的第一數(shù)據(jù)反饋模塊;第一數(shù)據(jù)反饋模塊修改所述的堆棧數(shù)據(jù)項(xiàng)中的操作對(duì)象的屬性數(shù)據(jù)。動(dòng)態(tài)操作集反饋模塊107根據(jù)用戶的操作,調(diào)用動(dòng)態(tài)操作集和待操作的對(duì)象,按照上述過程,將動(dòng)態(tài)操作集加入操作對(duì)象的堆?;蛱鎿Q操作對(duì)象的堆棧的堆棧數(shù)據(jù)項(xiàng)。動(dòng)態(tài)操作集反饋模塊107包括第二數(shù)據(jù)獲取模塊、第二反饋操作分析模塊和第二數(shù)據(jù)反饋模塊第二數(shù)據(jù)獲取模塊通過輸入裝置獲取用戶所選擇的動(dòng)態(tài)操作集和第二操作對(duì)象并傳送給所述的第二反饋操作分析模塊;所述的第二反饋操作分析模塊比較所述的動(dòng)態(tài)操作集和所述的第二操作對(duì)象的類型是否相同,如果相同,啟動(dòng)所述的第二數(shù)據(jù)反饋模塊;所述的第二數(shù)據(jù)反饋模塊調(diào)用所述的第二操作對(duì)象的堆棧,將動(dòng)態(tài)操作集加入第二操作對(duì)象的堆棧或替換第二操作對(duì)象的堆棧的堆棧數(shù)據(jù)項(xiàng)。在圖形數(shù)據(jù)生成系統(tǒng)100中,用戶操作輸入裝置300與存儲(chǔ)裝置400、可視化處理第二模塊104、圖形數(shù)據(jù)反饋模塊102和動(dòng)態(tài)操作集反饋模塊107數(shù)據(jù)連接。進(jìn)一步的,本發(fā)明還提供一種堆棧數(shù)據(jù)可視化系統(tǒng),包含上述的圖形數(shù)據(jù)生成系統(tǒng)100,以及顯示裝置,所述的顯示裝置與可視化處理第一模塊101、可視化處理第二模塊 104、圖形數(shù)據(jù)反饋模塊102和動(dòng)態(tài)操作集反饋模塊107數(shù)據(jù)連接,所述的圖形數(shù)據(jù)和動(dòng)態(tài)媒體數(shù)據(jù)通過顯示裝置200反饋給用戶。對(duì)于Redo操作相關(guān)的恢復(fù)棧,本發(fā)明提供的方法和系統(tǒng)同樣可以實(shí)現(xiàn)恢復(fù)棧的數(shù)據(jù)可視化,由于恢復(fù)棧的內(nèi)容僅為撤銷棧的一部分,所以關(guān)于恢復(fù)棧的數(shù)據(jù)可視化過程不再重述。在本發(fā)明中,每個(gè)操作對(duì)象包括一個(gè)堆棧(撤銷棧),利用一種面向?qū)ο蟮亩褩=Y(jié)構(gòu)保存用戶的操作過程。但是,對(duì)于非面向?qū)ο蟮某蜂N棧,本發(fā)明提供的方法和系統(tǒng)也可以使用,但是用戶需要在各個(gè)操作步驟中,主動(dòng)選擇與某一個(gè)操作對(duì)象相關(guān)的撤銷項(xiàng)。本發(fā)明雖然已以較佳實(shí)施例公開如上,但其并不是用來限定本發(fā)明,任何本領(lǐng)域技術(shù)人員在不脫離本發(fā)明的精神和范圍內(nèi),都可以利用上述揭示的方法和技術(shù)內(nèi)容對(duì)本發(fā)明技術(shù)方案做出可能的變動(dòng)和修改,因此,凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施例所作的任何簡(jiǎn)單修改、等同變化及修飾,均屬于本發(fā)明技術(shù)方案的保護(hù)范圍。
權(quán)利要求
1.一種堆棧數(shù)據(jù)可視化方法,其特征在于,所述的方法包括下列步驟根據(jù)用戶選擇的操作對(duì)象,調(diào)用所述的操作對(duì)象的堆棧,所述的堆棧包括堆棧數(shù)據(jù)項(xiàng), 所述的堆棧數(shù)據(jù)項(xiàng)保存用戶的操作信息;根據(jù)所述的堆棧數(shù)據(jù)項(xiàng),生成堆棧數(shù)據(jù)項(xiàng)的圖形數(shù)據(jù),用于可視化的表示用戶的操作fn息ο
2.如權(quán)利要求1所述的堆棧數(shù)據(jù)可視化方法,其特征在于,所述用戶的操作信息為操作指令,所述的操作指令中包括操作對(duì)象的屬性數(shù)據(jù)。
3.如權(quán)利要求2所述的堆棧數(shù)據(jù)可視化方法,其特征在于,所述的屬性數(shù)據(jù)包括坐標(biāo)數(shù)據(jù),所述的生成堆棧數(shù)據(jù)項(xiàng)的圖形數(shù)據(jù)包括從所述的操作指令中取出操作對(duì)象的坐標(biāo)數(shù)據(jù); 利用取出的操作對(duì)象的坐標(biāo)數(shù)據(jù)繪制坐標(biāo)點(diǎn); 連接所述的坐標(biāo)點(diǎn),生成圖形數(shù)據(jù)。
4.如權(quán)利要求2所述的堆棧數(shù)據(jù)可視化方法,其特征在于,所述的屬性數(shù)據(jù)包括色彩數(shù)據(jù),所述的生成堆棧數(shù)據(jù)項(xiàng)的圖形數(shù)據(jù)包括從所述的操作指令中取出操作對(duì)象的色彩數(shù)據(jù); 對(duì)操作對(duì)象應(yīng)用取出的色彩數(shù)據(jù),生成圖形數(shù)據(jù)。
5.如權(quán)利要求2所述的堆棧數(shù)據(jù)可視化方法,其特征在于,所述的屬性數(shù)據(jù)包括形狀尺寸數(shù)據(jù),所述的生成堆棧數(shù)據(jù)項(xiàng)的圖形數(shù)據(jù)包括從所述的操作指令中取出操作對(duì)象的形狀尺寸數(shù)據(jù); 對(duì)操作對(duì)象應(yīng)用取出的形狀尺寸數(shù)據(jù),生成圖形數(shù)據(jù)。
6.如權(quán)利要求2所述的堆棧數(shù)據(jù)可視化方法,其特征在于,所述的操作對(duì)象為多功能濾波器,所述的屬性數(shù)據(jù)包括頻率數(shù)據(jù)、提升/削減數(shù)據(jù)和斜率數(shù)據(jù),所述的生成堆棧數(shù)據(jù)項(xiàng)的圖形數(shù)據(jù)包括從所述的操作指令中取出操作對(duì)象的頻率數(shù)據(jù)、提升/削減數(shù)據(jù)和斜率數(shù)據(jù); 繪制調(diào)節(jié)圖生成圖形數(shù)據(jù),所述的調(diào)節(jié)圖為二維坐標(biāo)圖,其中橫坐標(biāo)單位為頻率,縱坐標(biāo)單位為分貝,調(diào)節(jié)圖中包括兩條首位相連的線段,其中一條為水平線段,另一條為非水平線段,其中水平線段的縱坐標(biāo)值為所述的提升/削減數(shù)據(jù),非水平線段的斜率為所述的斜率數(shù)據(jù),水平線段與非水平線段的連接點(diǎn)的橫坐標(biāo)值為所述的頻率數(shù)據(jù)。
7.如權(quán)利要求1所述的堆棧數(shù)據(jù)可視化方法,其特征在于,所述的堆棧為恢復(fù)棧,所述的堆棧數(shù)據(jù)項(xiàng)為恢復(fù)項(xiàng)。
8.如權(quán)利要求1所述的堆棧數(shù)據(jù)可視化方法,其特征在于,所述的堆棧為撤銷棧,所述的堆棧數(shù)據(jù)項(xiàng)為撤銷項(xiàng)。
9.如權(quán)利要求1所述的堆棧數(shù)據(jù)可視化方法,其特征在于,所述的堆棧為嵌套堆棧,包括第一層堆棧和第二層堆棧,所述的第一層堆棧和第二層堆棧分別包括堆棧數(shù)據(jù)項(xiàng),所述的堆棧數(shù)據(jù)項(xiàng)保存用戶的操作信息,所述的每一個(gè)第一層堆棧的堆棧數(shù)據(jù)項(xiàng)包括一個(gè)第二層堆棧。
10.如權(quán)利要求1所述的堆棧數(shù)據(jù)可視化方法,其特征在于,所述的方法還包括下列步驟獲取用戶對(duì)圖形數(shù)據(jù)進(jìn)行的操作;根據(jù)預(yù)設(shè)規(guī)則,確定所述的操作所對(duì)應(yīng)的對(duì)堆棧數(shù)據(jù)項(xiàng)的修改; 修改堆棧數(shù)據(jù)項(xiàng)。
11.如權(quán)利要求10所述的堆棧數(shù)據(jù)可視化方法,其特征在于,所述的用戶的操作信息為操作指令,所述的操作指令中包括操作對(duì)象的屬性數(shù)據(jù)。
12.如權(quán)利要求11所述的堆棧數(shù)據(jù)可視化方法,其特征在于 所述的用戶對(duì)圖形數(shù)據(jù)進(jìn)行的操作為在水平方向上的拉伸操作;所述的預(yù)設(shè)規(guī)則為在水平方向上拉伸圖形數(shù)據(jù)對(duì)應(yīng)增加所述的操作對(duì)象的操作時(shí)間;所述的屬性數(shù)據(jù)包括時(shí)間數(shù)據(jù);所述的修改堆棧數(shù)據(jù)項(xiàng)包括獲取圖形數(shù)據(jù)拉伸后與拉伸前在水平方向上的長(zhǎng)度的比例,按所述的比例增加操作指令中包括的操作對(duì)象的時(shí)間數(shù)據(jù)。
13.如權(quán)利要求11所述的堆棧數(shù)據(jù)可視化方法,其特征在于 所述的用戶對(duì)圖形數(shù)據(jù)進(jìn)行的操作為在垂直方向上的拉伸操作;所述的預(yù)設(shè)規(guī)則為在垂直方向上拉伸圖形數(shù)據(jù)對(duì)應(yīng)增加所述的操作對(duì)象的尺寸; 所述的屬性數(shù)據(jù)包括形狀尺寸數(shù)據(jù);所述的修改堆棧數(shù)據(jù)項(xiàng)包括獲取圖形數(shù)據(jù)拉伸后與拉伸前在垂直方向上的長(zhǎng)度的比例,按所述的比例增加操作指令中包括的操作對(duì)象的形狀尺寸數(shù)據(jù)。
14.如權(quán)利要求1所述的堆棧數(shù)據(jù)可視化方法,其特征在于,所述的方法還包括下列步驟根據(jù)用戶輸入的邏輯線,判斷邏輯線是否與圖形數(shù)據(jù)相交; 調(diào)用與邏輯線相交的圖形數(shù)據(jù)所對(duì)應(yīng)的堆棧數(shù)據(jù)項(xiàng),生成動(dòng)態(tài)媒體數(shù)據(jù)。
15.如權(quán)利要求14所述的堆棧數(shù)據(jù)可視化方法,其特征在于,所述用戶的操作信息為操作指令,所述的操作指令中包括操作對(duì)象的屬性數(shù)據(jù)。
16.如權(quán)利要求15所述的堆棧數(shù)據(jù)可視化方法,其特征在于,所述的生成動(dòng)態(tài)媒體數(shù)據(jù)包括按照所述的邏輯線與圖形數(shù)據(jù)相交的先后順序,調(diào)用各個(gè)圖形數(shù)據(jù)所對(duì)應(yīng)的堆棧數(shù)據(jù)項(xiàng),按照預(yù)設(shè)的時(shí)間間隔,繪制操作對(duì)象并應(yīng)用所述操作對(duì)象的屬性數(shù)據(jù),生成動(dòng)態(tài)媒體數(shù)據(jù)。
17.如權(quán)利要求15所述的堆棧數(shù)據(jù)可視化方法,其特征在于,所述的操作指令包括操作對(duì)象的時(shí)間屬性數(shù)據(jù),所述的生成動(dòng)態(tài)媒體數(shù)據(jù)包括按照所述的邏輯線與圖形數(shù)據(jù)相交的先后順序,調(diào)用各個(gè)圖形數(shù)據(jù)所對(duì)應(yīng)的堆棧數(shù)據(jù)項(xiàng),按照所述的時(shí)間屬性數(shù)據(jù),繪制操作對(duì)象并應(yīng)用所述操作對(duì)象的屬性數(shù)據(jù),生成動(dòng)態(tài)媒體數(shù)據(jù)。
18.如權(quán)利要求14所述的堆棧數(shù)據(jù)可視化方法,其特征在于,所述的圖形數(shù)據(jù)生成自不同堆棧的堆棧數(shù)據(jù)項(xiàng)。
19.如權(quán)利要求14所述的堆棧數(shù)據(jù)可視化方法,其特征在于,所述的方法還包括下列步驟將動(dòng)態(tài)媒體數(shù)據(jù)保存為動(dòng)態(tài)操作集,設(shè)置動(dòng)態(tài)操作集的類型; 根據(jù)用戶選擇的第二操作對(duì)象,調(diào)用第二操作對(duì)象的類型;如果動(dòng)態(tài)操作集的類型與第二操作對(duì)象的類型相同,調(diào)用第二操作對(duì)象的堆棧;將動(dòng)態(tài)操作集加入第二操作對(duì)象的堆?;蛱鎿Q第二操作對(duì)象的堆棧的堆棧數(shù)據(jù)項(xiàng)。
20.一種圖形數(shù)據(jù)生成系統(tǒng),應(yīng)用于電子系統(tǒng)中,所述的電子系統(tǒng)包括輸入裝置、存儲(chǔ)裝置,用戶通過輸入裝置選擇操作對(duì)象,所述的操作對(duì)象的堆棧保存在存儲(chǔ)裝置中,所述的堆棧包括堆棧數(shù)據(jù)項(xiàng),所述的堆棧數(shù)據(jù)項(xiàng)保存用戶的操作指令,所述的操作指令中包括操作對(duì)象的屬性數(shù)據(jù);其特征在于,所述的圖形數(shù)據(jù)生成系統(tǒng)包括可視化處理第一模塊,所述的可視化處理第一模塊從存儲(chǔ)裝置中獲取所述操作對(duì)象的堆棧,根據(jù)所述的堆棧中的堆棧數(shù)據(jù)項(xiàng),生成圖形數(shù)據(jù);所述的可視化處理第一模塊包括操作數(shù)據(jù)調(diào)用模塊、操作數(shù)據(jù)分析模塊和圖形數(shù)據(jù)生成模塊;所述的操作數(shù)據(jù)調(diào)用模塊從存儲(chǔ)裝置中獲取所述的堆棧數(shù)據(jù)項(xiàng)并傳送給所述的操作數(shù)據(jù)分析模塊;所述的操作數(shù)據(jù)分析模塊從堆棧數(shù)據(jù)項(xiàng)保存的操作指令中獲取操作對(duì)象的屬性數(shù)據(jù)以及所述的操作指令的類型,并傳送給圖形數(shù)據(jù)生成模塊;所述的圖形數(shù)據(jù)生成模塊根據(jù)所述的操作指令的類型,應(yīng)用所述的屬性數(shù)據(jù)繪制圖形數(shù)據(jù)。
21.如權(quán)利要求20所述的圖形數(shù)據(jù)生成系統(tǒng),其特征在于,所述的圖形數(shù)據(jù)生成系統(tǒng)還包括可視化處理第二模塊,所述的可視化處理第二模塊接收所述的可視化處理第一模塊生成的圖形數(shù)據(jù);所述的可視化處理第二模塊根據(jù)用戶輸入的邏輯線,調(diào)用與該邏輯線相交的圖形數(shù)據(jù),生成動(dòng)態(tài)媒體數(shù)據(jù);所述的可視化處理第二模塊包括邏輯線調(diào)用模塊、交點(diǎn)分析模塊和動(dòng)態(tài)媒體數(shù)據(jù)生成模塊;所述的邏輯線調(diào)用模塊從輸入裝置得到用戶輸入的邏輯線的位置信息或坐標(biāo)信息并傳送給所述的交點(diǎn)分析模塊;所述的交點(diǎn)分析模塊判斷所述的邏輯線與所述的圖形數(shù)據(jù)是否相交和交點(diǎn)的數(shù)量,如果所述的邏輯線與所述的圖形數(shù)據(jù)相交,將與所述的邏輯線相交的圖形數(shù)據(jù)依次發(fā)送給所述的動(dòng)態(tài)媒體數(shù)據(jù)生成模塊;所述的動(dòng)態(tài)媒體數(shù)據(jù)生成模塊調(diào)用所述的圖形數(shù)據(jù)所對(duì)應(yīng)的堆棧數(shù)據(jù)項(xiàng),按照預(yù)設(shè)的時(shí)間間隔或者按照操作指令保存的操作對(duì)象的時(shí)間屬性數(shù)據(jù),繪制操作對(duì)象并應(yīng)用所述操作對(duì)象的屬性數(shù)據(jù),生成動(dòng)態(tài)媒體數(shù)據(jù)。
22.如權(quán)利要求21所述的圖形數(shù)據(jù)生成系統(tǒng),其特征在于,所述的圖形數(shù)據(jù)生成系統(tǒng)還包括可視化處理第三模塊,所述的可視化處理第三模塊接收所述的可視化處理第二模塊生成的動(dòng)態(tài)媒體數(shù)據(jù);所述的可視化處理第三模塊將動(dòng)態(tài)媒體數(shù)據(jù)保存為動(dòng)態(tài)操作集。
23.如權(quán)利要求20、21或22所述的圖形數(shù)據(jù)生成系統(tǒng),其特征在于,所述的圖形數(shù)據(jù)生成系統(tǒng)還包括圖形數(shù)據(jù)反饋模塊,所述的圖形數(shù)據(jù)反饋模塊根據(jù)用戶的操作,修改圖形數(shù)據(jù)對(duì)應(yīng)的堆棧數(shù)據(jù)項(xiàng)的內(nèi)容;所屬的圖形數(shù)據(jù)反饋模塊包括第一數(shù)據(jù)獲取模塊、第一反饋操作分析模塊和第一數(shù)據(jù)反饋模塊;所述的第一數(shù)據(jù)獲取模塊通過輸入裝置獲取用戶所選擇的圖形數(shù)據(jù)以及用戶對(duì)圖形數(shù)據(jù)的操作,生成修改后的圖形數(shù)據(jù)并傳送給所述的第一反饋操作分析模塊;所述的第一反饋操作分析模塊比較修改后的圖形數(shù)據(jù)與修改前的圖形數(shù)據(jù),得到變化數(shù)據(jù),調(diào)用預(yù)設(shè)規(guī)則,確定所述的變化數(shù)據(jù)對(duì)應(yīng)的對(duì)操作對(duì)象的屬性數(shù)據(jù)的修改并傳送給所述的第一數(shù)據(jù)反饋模塊;所述的第一數(shù)據(jù)反饋模塊修改所述的堆棧數(shù)據(jù)項(xiàng)中的操作對(duì)象的屬性數(shù)據(jù)。
24.如權(quán)利要求22所述的圖形數(shù)據(jù)生成系統(tǒng),其特征在于,所述的圖形數(shù)據(jù)生成系統(tǒng)包括動(dòng)態(tài)操作集反饋模塊,所述的動(dòng)態(tài)操作集反饋模塊將動(dòng)態(tài)操作集加入操作對(duì)象的堆棧或替換操作對(duì)象的堆棧的堆棧數(shù)據(jù)項(xiàng);所述的動(dòng)態(tài)操作集反饋模塊包括第二數(shù)據(jù)獲取模塊、第二反饋操作分析模塊和第二數(shù)據(jù)反饋模塊;所述的第二數(shù)據(jù)獲取模塊通過輸入裝置獲取用戶所選擇的動(dòng)態(tài)操作集和第二操作對(duì)象并傳送給所述的第二反饋操作分析模塊;所述的第二反饋操作分析模塊比較所述的動(dòng)態(tài)操作集和所述的第二操作對(duì)象的類型是否相同,如果相同,啟動(dòng)所述的第二數(shù)據(jù)反饋模塊;所述的第二數(shù)據(jù)反饋模塊調(diào)用所述的第二操作對(duì)象的堆棧,將動(dòng)態(tài)操作集加入第二操作對(duì)象的堆?;蛱鎿Q第二操作對(duì)象的堆棧的堆棧數(shù)據(jù)項(xiàng)。
25.如權(quán)利要求22所述的圖形數(shù)據(jù)生成系統(tǒng),其特征在于,所述的圖形數(shù)據(jù)生成系統(tǒng)還包括存儲(chǔ)模塊,所述的圖形數(shù)據(jù)、動(dòng)態(tài)媒體數(shù)據(jù)和動(dòng)態(tài)操作集保存在存儲(chǔ)模塊中。
26.—種堆棧數(shù)據(jù)可視化系統(tǒng),包含如權(quán)利要求20到25中任意一項(xiàng)所述的圖形數(shù)據(jù)生成系統(tǒng),其特征在于,所述的堆棧數(shù)據(jù)可視化系統(tǒng)還包括顯示裝置,所述的顯示裝置與所述的可視化處理第一模塊、可視化處理第二模塊、圖形數(shù)據(jù)反饋模塊和動(dòng)態(tài)操作集反饋模塊數(shù)據(jù)連接。
全文摘要
本發(fā)明提供了一種堆棧數(shù)據(jù)可視化方法,包括步驟根據(jù)用戶選擇的操作對(duì)象,調(diào)用操作對(duì)象的堆棧,堆棧包括堆棧數(shù)據(jù)項(xiàng),堆棧數(shù)據(jù)項(xiàng)保存用戶的操作信息;根據(jù)堆棧中的堆棧數(shù)據(jù)項(xiàng),生成堆棧數(shù)據(jù)項(xiàng)的圖形數(shù)據(jù),從而可視化的表示用戶的操作信息。本發(fā)明還提供了一種圖形數(shù)據(jù)生成系統(tǒng),應(yīng)用于電子系統(tǒng)中,電子系統(tǒng)包括輸入裝置、存儲(chǔ)裝置,用戶通過輸入裝置選擇操作對(duì)象,操作對(duì)象的堆棧保存在存儲(chǔ)裝置中,圖形數(shù)據(jù)生成系統(tǒng)包括可視化處理第一模塊,可視化處理第一模塊從存儲(chǔ)裝置中獲取所述操作對(duì)象的堆棧,根據(jù)堆棧中的堆棧數(shù)據(jù)項(xiàng),生成圖形數(shù)據(jù)。進(jìn)一步的,本發(fā)明還提供堆棧數(shù)據(jù)可視化系統(tǒng),包含所述的圖形數(shù)據(jù)生成系統(tǒng)和顯示裝置。
文檔編號(hào)G06F9/44GK102419703SQ20101050118
公開日2012年4月18日 申請(qǐng)日期2010年9月25日 優(yōu)先權(quán)日2010年9月25日
發(fā)明者丹尼·耶格 申請(qǐng)人:上海無戒空間信息技術(shù)有限公司