專利名稱:一種基于筆傾角信息的餅形菜單選擇方法
技術(shù)領(lǐng)域:
本發(fā)明屬于人機(jī)交互領(lǐng)域,具體涉及一種利用筆的傾角信息進(jìn)行餅形菜單選擇的方法。
背景技術(shù):
筆的書寫和姿勢(shì)是筆交互的兩種基本模式。通常筆輸入設(shè)備不只提供了筆尖的位置信 息,而且提供了擴(kuò)展信息,如書寫壓力、三維方向和三維旋轉(zhuǎn)信息。傳統(tǒng)的筆式用戶界面 使用筆尖的信息比較多,像筆尖的位置,壓力等。
目前在筆的書寫和姿勢(shì)方面已有的研究工作有Li的研究指出,在筆式界面中,有5 種技術(shù)可用于書寫和姿勢(shì)之間的狀態(tài)切換,其中包括基于筆的壓力的模式切換,這是一種 隱式的模式切換(參考文獻(xiàn)Li, Y., Hinckley, K., Guan Z" Landay, J.A., Experimental analysis of mode switching techniques in pen based user interfaces. In Proc. CHI 2005, ACM Press (2005), 461-470.) 。 Saund提出了一種基于推斷模式的交互協(xié)議,該協(xié)議通過辨識(shí)筆的軌 跡和理解上下文情境來探知用戶意圖,在一些情境下,該協(xié)議不需要一些明確的指令,當(dāng) 系統(tǒng)遇到一些含義模棱兩可的筆畫時(shí),系統(tǒng)會(huì)彈出選擇工具條,請(qǐng)用戶選擇(參考文獻(xiàn) Saund, E., Lank, E., Stylus input and editing without prior selection of mode. In Proc. UIST 2003, ACM Press (2003), 213-216)。
目前已有許多種基于筆的菜單選擇定位的方法。但是它們?cè)趫?zhí)行選擇指令時(shí),必須通 過筆尖的移動(dòng)。由此帶來的問題是表意含糊當(dāng)前執(zhí)行選擇指令的筆畫不能確定是否為繪 圖筆畫的一部分。所以當(dāng)歧義產(chǎn)生時(shí),解決方法是由用戶反饋正確的意圖。就像SmartGuides (Adobe 111ustrator,http:〃www.adobe.com/products/illustrator/ ) 禾口 automatic constrains generation (Solidworks, http:〃www.solidworks.com),用戶必須取消當(dāng)前的筆畫任務(wù),才能 執(zhí)行選擇任務(wù)。Toolglass (Bier, E. A., Stone, M. C., Pier, K,, Buxton, W., Derose, T. D., Toolglass and magic lenses: The see-through interface. In Proc. SIGGRAPH 1993, 73-80.)第一 次將命令選擇和方向操縱這兩種交互機(jī)制整合到了 一起,用戶使用左手來操控一個(gè)透明的 選擇工具,右手用來選擇命令以及進(jìn)行方向操控。Guimbret&e (Guimbreti6re, F., Martin, A., Winograd, T., Benefits of merging command selection and direct manipulation. ACM TOCHI, 2005,12 (3): 460-476.)提出,當(dāng)前的單手技術(shù)不能完成"自由繪畫的同時(shí)進(jìn)行命令選擇"的任務(wù),這是在有必要整合"命令選擇和方向控制"技術(shù)方面的有力證明,也是本發(fā)明研 發(fā)基于筆傾角信息的餅形菜單選擇方法的主要?jiǎng)訖C(jī)。餅形菜單的形狀為餅狀,用戶可以通 過選擇餅形菜單中的菜單項(xiàng)進(jìn)行菜單選擇,餅形菜單中各菜單項(xiàng)均勻分布。
筆設(shè)備在執(zhí)行選擇任務(wù)時(shí),采集筆設(shè)備的三維方向信息來完成任務(wù)。當(dāng)筆尖執(zhí)行繪畫 或者交互任務(wù)時(shí),若此時(shí)需要另一個(gè)輸入值(該值用于發(fā)出命令或參數(shù)選擇),用傳統(tǒng)的 單手方法來同時(shí)完成這兩個(gè)任務(wù)會(huì)有困難,這時(shí)需要借助另一只手的協(xié)作或需要其它設(shè)備 的協(xié)助。
發(fā)明內(nèi)容
本發(fā)明的目的在于用一種基于筆傾角信息的餅形菜單選擇方法來擴(kuò)大筆設(shè)備的選擇 能力,從而整合命令選擇和方向控制。本發(fā)明基于筆的三維方向信息(見圖1)來完成, 筆尖執(zhí)行繪畫或者交互任務(wù)時(shí),不需要移動(dòng)筆尖,能完全自由地使用單手來同時(shí)完成指令 選擇和方向控制的任務(wù)。
本發(fā)明是一種基于筆傾角信息的餅形菜單選擇方法,包括如下步驟
1) 將筆設(shè)備的筆尖定位在餅形菜單的中心;餅形菜單中由菜單項(xiàng)包圍的內(nèi)圓區(qū)域?yàn)?中心區(qū)域;
2) 讀取筆設(shè)備的輸入信息,讀取筆設(shè)備的輸入信息,計(jì)算動(dòng)態(tài)光標(biāo)的長(zhǎng)度,所述動(dòng) 態(tài)光標(biāo)是筆設(shè)備向量在三維坐標(biāo)中某一平面的投影量;
3) 動(dòng)態(tài)光標(biāo)的長(zhǎng)度大于中心區(qū)域的半徑時(shí),計(jì)算動(dòng)態(tài)光標(biāo)的方位角,選擇動(dòng)態(tài)光標(biāo) 對(duì)應(yīng)的餅形菜單;所述動(dòng)態(tài)光標(biāo)的方位角指動(dòng)態(tài)光標(biāo)與上述投影平面的坐標(biāo)軸正方向的夾 角。
進(jìn)一步,動(dòng)態(tài)光標(biāo)的長(zhǎng)度TCLength的計(jì)算方法如下
1) 對(duì)零高度調(diào)整量^"《"^、高度因子^ZF、方位因子"z^設(shè)定初始參數(shù);
<formula>formula see original document page 4</formula>
2) 計(jì)算 與L 」的乘積,和 與L 」的乘積,所
述^&""e為筆設(shè)備的高度信息;"z/w"&為傾角信息;
3) 上述兩個(gè)乘積平方和的方根即為動(dòng)態(tài)光標(biāo)的長(zhǎng)度。
餅形菜單確定后,中心區(qū)域半徑即確定,等于&*餅形菜單的半徑,a介于0和0.5之間。 本發(fā)明是基于圓盤形的選擇菜單,如圖2所示,菜單選項(xiàng)在圓盤中呈扇形排列。為了 觸發(fā)一個(gè)菜單項(xiàng),用戶無需將筆尖抬起。當(dāng)要選中一個(gè)菜單項(xiàng)時(shí),將筆傾斜,當(dāng)筆的頂端投影碰到菜單選項(xiàng)的邊緣時(shí),該菜單項(xiàng)即被選中,因此本發(fā)明可以同時(shí)進(jìn)行數(shù)據(jù)輸入和數(shù) 據(jù)操控。例如當(dāng)用戶在自由畫線的狀態(tài)下需要改變當(dāng)前所畫線的顏色時(shí),用戶在畫線的 同時(shí),將畫筆傾斜,在選擇方法的反饋之下完成顏色的改變。由此可見,這種基于筆傾角 信息的餅形菜單選擇方法可以實(shí)現(xiàn)第二維輸入值(該值可以是命令或參數(shù)的選擇)。而該 值的輸入無需第二只手的協(xié)作,也無需其它設(shè)備的輔助,而且整個(gè)過程沒有影響到用戶先 前的操作任務(wù)。
為使用戶能夠高效地使用基于筆傾角信息的餅形菜單選擇方法,本發(fā)明對(duì)筆和菜單的 狀態(tài)采取實(shí)時(shí)可視反饋的技術(shù)使用動(dòng)態(tài)光標(biāo)動(dòng)態(tài)反饋筆設(shè)備的三維可視化線索。
餅形菜單的中心定位在筆尖的位置,該中心即為三維坐標(biāo)系的中心點(diǎn)。視點(diǎn)位于Z軸 正方向的無窮遠(yuǎn)處。將筆設(shè)備所處的位置向量投影到XOY平面,將投影量命名為Tilt動(dòng) 態(tài)光標(biāo)。利用動(dòng)態(tài)光標(biāo)來選擇餅形菜單中的某個(gè)菜單項(xiàng)。
動(dòng)態(tài)光標(biāo)(Tian, F., Ao, X., Wang, H., Setlur, V., Dai G., The Tilt Cursor: Enhancing Stimulus-Response Compatibility Based on 3D Orientation Cue of Pen Devices. In Proc. CHI 2007, ACM Press (2007), 303-306)頂端在坐標(biāo)的原點(diǎn),視點(diǎn)在光標(biāo)上z坐標(biāo)軸的正向無限 處,動(dòng)態(tài)光標(biāo)是筆向量在XY平面上的投影。動(dòng)態(tài)光標(biāo)形狀的計(jì)算可參考圖5。
本發(fā)明的優(yōu)點(diǎn)和積極效果如下
(1) 本發(fā)明可以很輕松地植入筆式用戶界面中,不會(huì)與現(xiàn)有的設(shè)計(jì)相沖突,不會(huì)打 斷原有的書寫任務(wù),無需其它輔助設(shè)備的幫助,在移動(dòng)或書寫的同時(shí)進(jìn)行選擇操作的優(yōu)勢(shì) 尤其顯著
(2) 用戶在進(jìn)行自由書寫時(shí),為了同時(shí)觸發(fā)一個(gè)菜單項(xiàng),無需移動(dòng)筆尖,只需將筆 傾斜,當(dāng)筆的頂端投影碰到菜單選項(xiàng)的邊緣時(shí),該菜單項(xiàng)被選中。
(3) 基于筆傾角信息的餅形菜單選擇方法的中心是筆尖的位置,因此,它可以始終 節(jié)省菜單定位時(shí)間,節(jié)省物理上的選擇位移。與此同時(shí),用戶采用傾斜筆的方式來選擇菜 單項(xiàng),不移動(dòng)筆尖,不改變筆尖原有的運(yùn)動(dòng)軌跡,大大便利了用戶操作。
(4) 本發(fā)明是基于上下文的當(dāng)前任務(wù)需求來調(diào)用選擇方法的,而不是一個(gè)明確的調(diào) 用行為。當(dāng)上下文情境改變時(shí),餅形選擇菜單會(huì)自動(dòng)消失,無需用戶的取消操作。例如, 在線同步草圖識(shí)別系統(tǒng)的勾畫草圖過程中,當(dāng)出現(xiàn)不明確的識(shí)別結(jié)果時(shí),餅形選擇菜單會(huì) 自動(dòng)出現(xiàn)。
圖1 一位右手操作的用戶使用本發(fā)明在自由繪圖的同時(shí)進(jìn)行任務(wù)選擇。 圖2用戶在圖1狀態(tài)下使用本發(fā)明的菜單狀態(tài)圖。 圖3計(jì)算某個(gè)菜單項(xiàng)是否被選中的三維坐標(biāo)系。 圖4本發(fā)明的狀態(tài)轉(zhuǎn)換圖。 圖5動(dòng)態(tài)光標(biāo)的計(jì)算流程圖。
圖6計(jì)算X軸上的光標(biāo)頭與光標(biāo)尾的距離的方法圖。 圖7計(jì)算Y軸上的光標(biāo)頭與光標(biāo)尾的距離的方法圖。
具體實(shí)施例方式
為了使本技術(shù)領(lǐng)域的人員更好的理解本發(fā)明,下面結(jié)合附圖和實(shí)施方式對(duì)本發(fā)明作進(jìn) 一步的詳細(xì)說明。
1將筆尖定位在餅形菜單的中心,計(jì)算機(jī)讀取筆的輸入信息,獲取筆當(dāng)前的高度信 息a/故wcfe禾u傾角信息"zZ附"^
2首先參照?qǐng)D3,圖3是實(shí)現(xiàn)動(dòng)態(tài)光標(biāo)的三維笛卡兒坐標(biāo)系原理圖,動(dòng)態(tài)光標(biāo)頭在坐 標(biāo)的原點(diǎn),視點(diǎn)在光標(biāo)上z坐標(biāo)軸的正向無限處,動(dòng)態(tài)光標(biāo)是筆向量在XY平面上的投影。 動(dòng)態(tài)光標(biāo)形狀的計(jì)算可參考圖5,其步驟如下
計(jì)算動(dòng)態(tài)光標(biāo)的長(zhǎng)度TCLength,需要用到如下參數(shù)高度ato"&,方位az/mw^, x
軸上光標(biāo)頭與光標(biāo)尾的距離^ , Y軸上光標(biāo)頭與光標(biāo)尾的距離Ay,設(shè)定初始參數(shù),包
括零高度調(diào)整量^"《"^,高度因子^f,方位因子"z^。 。/"々"W, ^F和"!7r三 個(gè)值是在筆和光標(biāo)的不同坐標(biāo)系統(tǒng)之間建立映射。其值需要根據(jù)數(shù)字筆的參數(shù)、顯示屏的 參數(shù)以及希望得到的效果來設(shè)定。
1) X軸上的光標(biāo)頭與光標(biāo)尾的距離^的計(jì)算方法,參考圖6,其詳細(xì)步驟如下 計(jì)算動(dòng)態(tài)光標(biāo)的高度^"""e的絕對(duì)值一""^
計(jì)算高度絕對(duì)值^^"^1與高度因子""^的比值^—;計(jì)算動(dòng)態(tài)光標(biāo)的傾角信息方位"^W"A與方位因子^f的比值; 計(jì)算零高度調(diào)整量^"《"W與^^的差值"^'——;
計(jì)算比值的正弦,WF J ; X軸上光標(biāo)頭與光標(biāo)尾的距離Ax =
j. |altitude|). f azimuth'
altAdiust - J-11 x sin I-
altF 、 aziF .
2) Y軸上的光標(biāo)頭與光標(biāo)尾的距離A^的計(jì)算方法,參考圖7,其詳細(xì)步驟如下
計(jì)算動(dòng)態(tài)光標(biāo)的高度"^"^的絕對(duì)值—""^
, , I a tow—
計(jì)算高度絕對(duì)值—""^與高度因子"^1的比值 ;
計(jì)算方位"Z/m"^與方位因子flZ^的比值■;
計(jì)算零高度調(diào)整量^"^^與^"的差值"^卜^"; - cos -
計(jì)算比值m/F的余弦k "f八
f azimuth
:cos
aziF
Y軸上光標(biāo)頭與光標(biāo)尾的距離Ay = f altAdjust - J^^T
、 altF ,
3)動(dòng)態(tài)光標(biāo)的長(zhǎng)度的計(jì)算步驟如下
分別計(jì)算x軸、Y軸上光標(biāo)頭與光標(biāo)尾的距離的平方Ax2、 Ay2
計(jì)算A 與齡2 ,AX2 +匆2 ;計(jì)算,+勿2的平方根^^; 得到動(dòng)態(tài)光標(biāo)的長(zhǎng)度 TCLength = ^Ax2 + Ay2 。
3判斷TCLength與中心區(qū)域半徑的大小,若TCLength的值大于中心區(qū)域半徑的值,則 意味著動(dòng)態(tài)光標(biāo)選中了餅形菜單中的某個(gè)菜單項(xiàng)。獲得數(shù)字筆方位角的方法有很多,本實(shí) 施例根據(jù)數(shù)字筆開發(fā)包采集到的數(shù)字筆的方位角,找出動(dòng)態(tài)光標(biāo)對(duì)應(yīng)的菜單項(xiàng)。
4.基于筆傾角信息的餅形菜單選擇方法的狀態(tài)轉(zhuǎn)換過程,如圖4所示。
餅形菜單的由菜單項(xiàng)包圍的內(nèi)圓區(qū)域稱為中心區(qū)域(CenterRegion),如圖2所示,當(dāng)選擇任務(wù)完成之前,高亮顯示某個(gè)菜單項(xiàng),這個(gè)高亮的菜單項(xiàng)是當(dāng)前由于筆的傾斜所選 中的菜單項(xiàng)的可視反饋。本發(fā)明的菜單轉(zhuǎn)換過程中共有四種狀態(tài)
狀態(tài)l:菜單被激活。
狀態(tài)2:菜單失效。此時(shí)筆處于傾斜狀態(tài),動(dòng)態(tài)光標(biāo)擊中了某個(gè)菜單項(xiàng)的邊緣。 在動(dòng)態(tài)光標(biāo)處于狀態(tài)l,光標(biāo)擊中了某個(gè)菜單項(xiàng)的邊緣,即由狀態(tài)1進(jìn)入狀態(tài)2。
狀態(tài)3:菜單選擇開始。此時(shí)筆處于傾斜狀態(tài),動(dòng)態(tài)光標(biāo)進(jìn)入中心區(qū)域的內(nèi)部。 在動(dòng)態(tài)光標(biāo)處于狀態(tài)l,此時(shí)筆處于傾斜狀態(tài),動(dòng)態(tài)光標(biāo)完全位于中心區(qū)域的內(nèi)部,即由 狀態(tài)1進(jìn)入狀態(tài)3。
在動(dòng)態(tài)光標(biāo)處于狀態(tài)2,此時(shí)筆處于傾斜狀態(tài),動(dòng)態(tài)光標(biāo)重新進(jìn)入中心區(qū)域的內(nèi)部, 即由狀態(tài)2進(jìn)入狀態(tài)3。
狀態(tài)4:菜單選擇完成。在動(dòng)態(tài)光標(biāo)處于狀態(tài)3,此時(shí)筆處于傾斜狀態(tài),光標(biāo)擊中了某
個(gè)菜單項(xiàng)的邊緣,即由狀態(tài)3進(jìn)入狀態(tài)4。
狀態(tài)轉(zhuǎn)換全過程-
1) 、動(dòng)態(tài)光標(biāo)處于狀態(tài)l,菜單被激活,中心處于筆尖位置。菜單自動(dòng)跟隨筆尖運(yùn) 動(dòng),直到用戶完成選擇活動(dòng)后消失。在此過程中,筆的方向信息決定了菜單的下一個(gè)狀 態(tài)。
2) 、菜單被激活后,動(dòng)態(tài)光標(biāo)整體位于本發(fā)明的中心區(qū)域內(nèi)時(shí),狀態(tài)轉(zhuǎn)換至狀態(tài)3:
開始準(zhǔn)備選擇狀態(tài)。在狀態(tài)3,用戶通過傾斜筆來完成選擇任務(wù)。
3) 、動(dòng)態(tài)光標(biāo)處于狀態(tài)l,在用戶執(zhí)行選擇任務(wù)之前,動(dòng)態(tài)光標(biāo)已經(jīng)擊中了某個(gè)菜 單項(xiàng)的邊緣,那么狀態(tài)轉(zhuǎn)換至狀態(tài)2,菜單失效。
4) 、若用戶調(diào)整筆的高度值,使動(dòng)態(tài)光標(biāo)整體位于本發(fā)明的中心區(qū)域內(nèi),則從狀態(tài) 2轉(zhuǎn)移到狀態(tài)3。
5) 、用戶當(dāng)前處于狀態(tài)3,此時(shí)只要使動(dòng)態(tài)光標(biāo)擊中本發(fā)明的邊緣,即可完成某個(gè) 菜單項(xiàng)的選擇活動(dòng)。
在菜單設(shè)計(jì)方面,當(dāng)菜單處于失效狀態(tài)(見圖4狀態(tài)2)時(shí),菜單選項(xiàng)呈灰色。當(dāng)菜 單處于開始選擇狀態(tài)(見圖4狀態(tài)3)時(shí),當(dāng)前被選擇的菜單項(xiàng)高亮顯示,可視反饋出當(dāng) 前筆的方位角信息。若用戶一直保持所選擇的方位角,高亮的菜單項(xiàng)就會(huì)被選中。選擇完 成之后,餅形菜單自動(dòng)消失。
權(quán)利要求
1.一種基于筆傾角信息的餅形菜單選擇方法,其步驟包括1)將筆設(shè)備的筆尖定位在餅形菜單的中心;餅形菜單中由菜單項(xiàng)包圍的內(nèi)圓區(qū)域?yàn)橹行膮^(qū)域;2)讀取筆設(shè)備的輸入信息,計(jì)算動(dòng)態(tài)光標(biāo)的長(zhǎng)度,所述動(dòng)態(tài)光標(biāo)是筆設(shè)備向量在三維坐標(biāo)中某一平面的投影量;3)所述動(dòng)態(tài)光標(biāo)的長(zhǎng)度大于中心區(qū)域的半徑時(shí),計(jì)算動(dòng)態(tài)光標(biāo)的方位角,選擇動(dòng)態(tài)光標(biāo)對(duì)應(yīng)的餅形菜單;所述動(dòng)態(tài)光標(biāo)的方位角指動(dòng)態(tài)光標(biāo)與上述投影平面的坐標(biāo)軸正方向的夾角。
2. 如權(quán)利要求1所述的一種基于筆傾角信息的餅形菜單選擇方法,其特征在于所述筆 設(shè)備的輸入信息包括筆設(shè)備當(dāng)前的高度信息和傾角信息。
3. 如權(quán)利要求2所述的一種基于筆傾角信息的餅形菜單選擇方法,其特征在于步驟2) 中動(dòng)態(tài)光標(biāo)的長(zhǎng)度的計(jì)算方法如下1) 設(shè)定零高度調(diào)整量^"々'"W 、高度因子""F、方位因子"Z^的初始參數(shù);<formula>formula see original document page 2</formula>2) 計(jì)算 與L "『」的乘積,和 。^與L 。^" J的乘積,所 述"/"rt^fe為筆設(shè)備的高度信息;為傾角信息;3) 動(dòng)態(tài)光標(biāo)的長(zhǎng)度等于上述兩個(gè)乘積平方和的方根。
4. 如權(quán)利要求1所述的一種基于筆傾角信息的餅形菜單選擇方法,其特征在于所述餅形 菜單中的各個(gè)菜單項(xiàng)在餅形菜單中均勻分布。
5. 如權(quán)利要求1所述的一種基于筆傾角信息的餅形菜單選擇方法,其特征在于所述中 心區(qū)域的半徑小于等于餅形菜單的半徑的0. 5倍。
6. 如權(quán)利要求1所述的一種基于筆傾角信息的餅形菜單選擇方法,其特征在于所述方 位角根據(jù)筆設(shè)備的開發(fā)包獲得。
7. 如權(quán)利要求1所述的一種基于筆傾角信息的餅形菜單選擇方法,其特征在于所述投 影平面為xy平面或xz平面或yz平面。
8. 如權(quán)利要求1所述的一種基于筆傾角信息的餅形菜單選擇方法,其特征在于所述餅 形菜單在執(zhí)行當(dāng)前任務(wù)時(shí),會(huì)自動(dòng)出現(xiàn),當(dāng)上下文情境改變時(shí),餅形選擇菜單會(huì)自動(dòng)消失。
全文摘要
本發(fā)明屬于人機(jī)交互領(lǐng)域,具體涉及一種利用筆的傾角信息進(jìn)行餅形菜單選擇的方法。本發(fā)明將筆設(shè)備的筆尖定位在餅形菜單的中心,基于筆的三維方向信息,獲得筆設(shè)備在三維坐標(biāo)的平面投影量,及平面投影量與坐標(biāo)軸正方向的夾角,實(shí)現(xiàn)餅形菜單的選擇。筆尖執(zhí)行繪畫或者交互任務(wù)時(shí),為了同時(shí)觸發(fā)一個(gè)菜單項(xiàng),無需移動(dòng)筆尖,只需將筆傾斜,當(dāng)筆的頂端投影碰到菜單選項(xiàng)的邊緣時(shí),該菜單項(xiàng)被選中,能完全自由地使用單手來同時(shí)完成指令選擇和方向控制的任務(wù),在移動(dòng)或書寫的同時(shí)進(jìn)行選擇操作的優(yōu)勢(shì)尤其顯著。
文檔編號(hào)G06F3/033GK101286111SQ200810114639
公開日2008年10月15日 申請(qǐng)日期2008年6月6日 優(yōu)先權(quán)日2008年6月6日
發(fā)明者戴國(guó)忠, 王宏安, 豐 田 申請(qǐng)人:中國(guó)科學(xué)院軟件研究所