版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章交互技術(shù)、用戶接口及圖形軟件的標(biāo)準(zhǔn)化2.1交互任務(wù)與交互技術(shù)2.2交互輸入控制2.3用戶接口的設(shè)計(jì)2.4窗口系統(tǒng)2.5圖形軟件的標(biāo)準(zhǔn)化2.1交互任務(wù)與交互技術(shù)2.1.1交互任務(wù)交互任務(wù)是用戶輸入到計(jì)算機(jī)的一個(gè)單元信息。這里的單元信息是指完成一次輸入的內(nèi)容。交互任務(wù)分為基本交互任務(wù)和組合交互任務(wù)兩類?;窘换ト蝿?wù)有定位、選擇、文字輸入、數(shù)值輸入,由其派生的交互任務(wù)有定向、定路徑、三維交互等。組合交互任務(wù)是由基本交互任務(wù)結(jié)合而成的,有三種主要的組合交互任務(wù):對(duì)話框、構(gòu)造和動(dòng)態(tài)操作。對(duì)話框用來指定信息表中的多個(gè)項(xiàng);構(gòu)造用來產(chǎn)生需要有兩個(gè)或多個(gè)位置的形體;動(dòng)態(tài)操作用來修改已有的幾何形體的形狀,調(diào)整形體之間的相對(duì)位置。
1.基本交互任務(wù)(1)定位。用來給應(yīng)用程序指定位置坐標(biāo),如(x,y)或(x,y,z)。定位分為兩種情況,其一是空間定位任務(wù),此時(shí)用戶知道需要確定的位置和空間相鄰元素之間的關(guān)系,如過兩個(gè)矩形的中心畫一條直線段,這里定位任務(wù)是得到第一個(gè)矩形的中心后,立即需要得到第二個(gè)矩形的中心;其二是語義定位任務(wù),此時(shí)用戶需要知道某一位置的(x,y)坐標(biāo)值。在空間定位中用戶希望反饋顯示出屏幕上位置的正確性,而在語義定位中用戶需要準(zhǔn)確的(x,y)坐標(biāo)數(shù)值,定位任務(wù)通常還要受到維數(shù)、屏幕分辨率、開環(huán)或閉環(huán)反饋的影響。(2)選擇。選擇任務(wù)是要從一個(gè)選擇集中挑選一個(gè)元素,常用的是命令選擇、操作數(shù)選擇、屬性選擇和對(duì)象選擇等。選擇集一般分為定長(zhǎng)和變長(zhǎng)兩種。命令、屬性及對(duì)象類型選擇集一般是定長(zhǎng)的,而對(duì)象調(diào)用選擇集通常是變長(zhǎng)的。完成選擇任務(wù)有基于名字(或標(biāo)識(shí)符)和位置(坐標(biāo)點(diǎn))兩種情況,如輸入一個(gè)命令名,從命令表中找到該命令的執(zhí)行程序,并執(zhí)行之。通過位置實(shí)現(xiàn)選擇需要分兩步,其一是把游標(biāo)定位在用戶希望選擇的對(duì)象上,然后確認(rèn)該對(duì)象(如改變對(duì)象顏色或增亮、閃爍該對(duì)象),即完成了選擇任務(wù)。無論是名字選擇還是位置選擇,都要考慮處理好具有層次、重疊、內(nèi)存與外存交叉存取等情況。(3)文本。文本任務(wù)即輸入一個(gè)字符串,此字符串不應(yīng)具有任何意義。鍵入一個(gè)命令或菜單項(xiàng)不是一個(gè)文本任務(wù),而輸入一個(gè)字符串到字處理器中則是一個(gè)文本任務(wù)。文本任務(wù)的主要輸入工具是鍵盤。(4)定向。在指定的坐標(biāo)系中確定形體的方向,此時(shí)需要由應(yīng)用程序來確定其反饋類型、自由度和精度。定向可以通過輸入角度值或輸入兩點(diǎn)構(gòu)成向量等來完成。(5)定路徑。這是一系列定位和定向任務(wù)的結(jié)合,與時(shí)間、空間有關(guān)。(6)定量。定量任務(wù)是要在最大和最小數(shù)值之間確定一個(gè)值。最典型的是用鍵盤輸入一個(gè)數(shù),此外還可在標(biāo)度盤、刻度尺上確定一個(gè)數(shù),如圖2.1.1所示。圖2.1.1數(shù)值輸入工具(7)三維交互任務(wù)。三維交互任務(wù)涉及定位、選擇和旋轉(zhuǎn)。三維交互任務(wù)比二維交互任務(wù)困難得多,其主要原因是用戶難以區(qū)分屏幕上游標(biāo)選擇到的對(duì)象的深度值和其他顯示對(duì)象的深度值。此外像鼠標(biāo)器、數(shù)字化儀這類交互設(shè)備均為二維的,不能適應(yīng)三維交互工作的需要。為了克服這類困難,我們可借助于三視圖的功能。如圖2.1.2所示,用二維的游標(biāo)(短粗十字叉)選擇并拖動(dòng)三維游標(biāo)(對(duì)應(yīng)三視圖上大的虛線十字叉)的過程,按下鼠標(biāo)器上按鈕,移動(dòng)二維游標(biāo)的同時(shí)拖動(dòng)三維游標(biāo)同步運(yùn)動(dòng),當(dāng)三維游標(biāo)確定的位置(或選擇的對(duì)象)滿足用戶要求時(shí)釋放鼠標(biāo)器上的按鈕,即結(jié)束鼠標(biāo)器按鈕事件,此時(shí)兩根虛線游標(biāo)相交的位置即惟一地確定一個(gè)三維點(diǎn)的坐標(biāo)。三維旋轉(zhuǎn)任務(wù)可采用圖2.1.3(a)、(b)所示的兩種方法來實(shí)現(xiàn),其中圖(a)所示的是用兩個(gè)刻度尺(X向和Y向)以及一個(gè)標(biāo)度盤(Z向)相結(jié)合的方法來完成;圖(b)是用放置于三個(gè)坐標(biāo)平面方向上的刻度盤的方法來完成。三維交互任務(wù)常需要將三維定位、選擇和旋轉(zhuǎn)組合起來執(zhí)行,如指定旋轉(zhuǎn)參考點(diǎn)的三維旋轉(zhuǎn)首先要進(jìn)行三維定位,此時(shí)需要把圖2.1.2和圖2.1.3所示方法組合起來。圖2.1.2在三視圖中實(shí)現(xiàn)三維定位技術(shù)的圖例圖2.1.3實(shí)現(xiàn)三維旋轉(zhuǎn)的兩種方法兩個(gè)刻度尺表示繞X、Y軸旋轉(zhuǎn),標(biāo)度盤表示繞Z軸旋轉(zhuǎn);(b)三個(gè)標(biāo)度盤表示繞三根軸旋轉(zhuǎn)
2.組合交互任務(wù)(1)對(duì)話框。用于在交互過程中需要從一個(gè)選擇集中選擇多個(gè)元素時(shí),如字符屬性有楷體、斜體,有粗體、細(xì)體,有空心字、實(shí)心字,有大小和對(duì)齊方式等。當(dāng)彈出一張字符屬性對(duì)話框后,用戶可以從中選擇多項(xiàng),還可以在某些項(xiàng)輸入用戶希望的字符或數(shù)字。有些應(yīng)用還希望從多個(gè)選擇集中確定一組參數(shù),如上面的字符屬性中希望改變字的顯示顏色,這時(shí)還需彈出一個(gè)色彩選擇對(duì)話框,從中挑選用戶希望的顏色。還有些應(yīng)用要求對(duì)話框的行、列均可滾動(dòng)。圖2.1.4和2.1.5是兩種典型的對(duì)話框(AutoCAD系統(tǒng)中的)。
圖2.1.4存圖對(duì)話框?qū)崿F(xiàn)選擇任務(wù)的菜單在一個(gè)選擇完成后就消失了,無法做第二個(gè)選擇,而對(duì)話框可以保證多個(gè)選擇。當(dāng)所有信息都輸入到對(duì)話框中之后,按下某個(gè)按鈕(如OK按鈕),對(duì)話框便消失,系統(tǒng)就按給定的參數(shù)或選擇的屬性執(zhí)行命令。當(dāng)系統(tǒng)執(zhí)行的某個(gè)命令需要較多的信息或數(shù)據(jù)時(shí),就應(yīng)該采用對(duì)話框形式。圖2.1.5繪圖機(jī)繪圖對(duì)話框(2)構(gòu)造。實(shí)現(xiàn)這類任務(wù)的主要方式有橡皮筋方式和約束方式。利用橡皮筋方式可以畫直線段、折線、圓、橢圓、矩形、多邊形等。圖2.1.6是用橡皮筋方式畫折線的情況,首先輸入起點(diǎn),當(dāng)移動(dòng)鼠標(biāo)器時(shí),光標(biāo)(圖中的十字線)隨之移動(dòng),線段的終點(diǎn)也在移動(dòng),而在當(dāng)前點(diǎn)和光標(biāo)點(diǎn)之間始終有一條連線(圖中的虛線),就像橡皮筋一樣隨光標(biāo)移動(dòng)。當(dāng)用戶認(rèn)為滿意后按下拾取鍵就可繪出一段直線。約束方式包括水平和垂直約束方式(也稱為正交方式)、引力場(chǎng)約束方式。當(dāng)需要繪制橫平豎直的直線段時(shí),運(yùn)用水平和垂直約束技術(shù)可以避免由于人眼或定位設(shè)備帶來的誤差。如果用水平約束構(gòu)造直線,在線段的第一點(diǎn)被確定后,無論光標(biāo)在屏幕上如何運(yùn)動(dòng),線段的縱坐標(biāo)始終與起點(diǎn)相同,顯示的是一條(x1,y1)到(x2,y1)的直線。垂直約束的原理與此類似。作圖時(shí),我們經(jīng)常要從已有直線的某個(gè)端點(diǎn)或從該直線上的某點(diǎn)開始作一條新的直線。如果在定位時(shí)使用了網(wǎng)格(柵格)技術(shù),則很容易使點(diǎn)與點(diǎn)重合,否則是很費(fèi)時(shí)的。引力場(chǎng)約束可以幫助用戶把光標(biāo)點(diǎn)精確地定位在直線的某個(gè)端點(diǎn)或直線上。引力場(chǎng)是一種想像的約束范圍。圖2.1.7是直線的引力場(chǎng)示意圖,一旦光標(biāo)進(jìn)入這個(gè)范圍,它就被吸引到這條直線上。由于圍繞端點(diǎn)的場(chǎng)域比較大,所以使光標(biāo)與端點(diǎn)的重合特別容易。與引力場(chǎng)約束效果相近的是目標(biāo)捕捉,即尋找已有圖線上的特殊點(diǎn),如端點(diǎn)、中點(diǎn)、圓心、交點(diǎn)等。圖2.1.6用橡皮筋方式畫折線圖2.1.7直線的引力場(chǎng)(3)動(dòng)態(tài)操作。動(dòng)態(tài)操作包括物體的拖動(dòng)、旋轉(zhuǎn)、縮放以及形變。拖動(dòng)是指執(zhí)行拖動(dòng)物體的命令后,先用定位設(shè)備拾取或者由名字確定要拖動(dòng)的對(duì)象,再按住鍵移動(dòng)光標(biāo),則此物體將隨光標(biāo)的移動(dòng)而移動(dòng),就好像光標(biāo)在拖動(dòng)物體一樣,當(dāng)移動(dòng)到滿意位置后予以確認(rèn)。拖動(dòng)便于用戶確定或改變物體的位置。旋轉(zhuǎn)是指拾取或指定要旋轉(zhuǎn)的物體并給定旋轉(zhuǎn)中心后,物體將圍繞此旋轉(zhuǎn)中心隨光標(biāo)的移動(dòng)而旋轉(zhuǎn),當(dāng)旋轉(zhuǎn)到滿意位置后予以確認(rèn)。動(dòng)態(tài)縮放需要指定縮放中心的位置,當(dāng)移動(dòng)光標(biāo)時(shí),物體將以此縮放中心為基準(zhǔn)進(jìn)行縮小或放大。形變是指在確定操作對(duì)象后,拖動(dòng)物體上的某個(gè)點(diǎn)或某條邊使物體產(chǎn)生形狀上的改變。形變是針對(duì)某些特定形狀的物體而設(shè)計(jì)的。2.1.2交互技術(shù)交互技術(shù)包括定位、選擇、拾取圖形、菜單、定向、定路徑、定量、文本、橡皮筋、徒手畫、拖動(dòng)等技術(shù)。
1.定位技術(shù)定位技術(shù)用來指定一個(gè)坐標(biāo),這里需要確定維數(shù),如一維、二維或三維;分辨率,即定位精度(鍵盤可以提供無限高的分辨率,而定位設(shè)備提供的分辨率有限,可通過窗口到視區(qū)的坐標(biāo)變換技術(shù)提供分辨率,即將用戶坐標(biāo)系中的某個(gè)區(qū)域放大,從而使屏幕上的一個(gè)像素單位與用戶坐標(biāo)系中任意小的單位對(duì)應(yīng)起來);點(diǎn)是離散點(diǎn)還是連續(xù)點(diǎn)。定位技術(shù)主要有三種:(1)圖形輸入板、鼠標(biāo)器或鍵盤光標(biāo)鍵控制光標(biāo)定位。(2)鍵入坐標(biāo)定位。(3)用光筆或叉絲定位。應(yīng)用定位技術(shù)還需進(jìn)一步考慮坐標(biāo)系問題,是世界坐標(biāo)系、局部坐標(biāo)系還是設(shè)備坐標(biāo)系;光標(biāo)的形狀及特征(如閃爍、彩色、光強(qiáng)度);選擇合適的控制/顯示比率??刂?顯示比率=手的移動(dòng)量/光標(biāo)的移動(dòng)量低比率適合于快速移動(dòng),高比率適合于微調(diào)、精確定位。一般數(shù)字化儀采用絕對(duì)定位;鼠標(biāo)器、操縱桿采用相對(duì)定位,即相對(duì)前一次的移動(dòng)來定位。為了提高定位速度和精度,還常采用網(wǎng)格(也稱柵格,作用是使圖線的端點(diǎn)落在網(wǎng)格上,其方法是將定位設(shè)備的坐標(biāo)截?cái)嘣谧罱木W(wǎng)格點(diǎn)上)、輔助線、比例尺技術(shù)等。光標(biāo)反饋和坐標(biāo)反饋也是定位技術(shù)常采用的形式。
2.選擇技術(shù)選擇技術(shù)要求確定可選擇集合的大小及選擇值,這個(gè)集合可以是固定的,也可以是變長(zhǎng)的。選擇要求有拾取設(shè)備,如光筆或任何可以模擬拾取設(shè)備的定位設(shè)備。選擇技術(shù)有以下幾種:(1)光筆選擇。(2)圖形輸入板或鼠標(biāo)器控制光標(biāo)拾取圖形。(3)圖形輸入板、鼠標(biāo)器或鍵盤光標(biāo)鍵控制光標(biāo)點(diǎn)取菜單項(xiàng)。(4)鍵入名字、名字縮寫或排列的唯一序號(hào)或標(biāo)識(shí)號(hào)作選擇。(5)用功能鍵作選擇。(6)語音選擇和筆劃識(shí)別。
3.拾取圖形拾取圖形是常用的可變集選擇技術(shù)。在交互式圖形系統(tǒng)的增、刪、改操作中,都是以拾取圖形或以拾取圖形的某一位置點(diǎn)為基礎(chǔ)的。拾取圖形的速度和精度又極大地影響著交互系統(tǒng)的質(zhì)量。從屏幕上拾取一個(gè)圖形,其直觀現(xiàn)象是該圖形變顏色,或閃爍,或增亮,其實(shí)際意義是要在存儲(chǔ)用戶圖形的數(shù)據(jù)結(jié)構(gòu)中找到存放該圖形的幾何參數(shù)及其屬性的地址,以便對(duì)該圖形作進(jìn)一步操作,如修改其幾何參數(shù)、連接關(guān)系或某些屬性。下面介紹常用圖形的拾取算法。此算法是通過指點(diǎn)方式來拾取圖形的(其他拾取圖形的方式有矩形窗口方式、多邊形窗口方式、折線(柵欄)方式等)。算法假定:拾取點(diǎn)的坐標(biāo)是P0(x0,y0);坐標(biāo)系為二維規(guī)范化的設(shè)備坐標(biāo)系(NDC:0.0≤x,y≤1.0);要拾取的圖形元素滿足:屏幕上可見,圖形顯示區(qū)域內(nèi)包含拾取點(diǎn)的坐標(biāo),系統(tǒng)當(dāng)前的所有圖形名集與可拾取圖形名集的交集不為空集,系統(tǒng)當(dāng)前的所有圖形名集與不可拾取圖形名集的交集為空集。(1)點(diǎn)的拾取。對(duì)于在NDC中的一點(diǎn)P1(x1,y1),0.0≤x1,y1≤1.0,該點(diǎn)的顯示區(qū)域是以該點(diǎn)為圓心,r為半徑的一個(gè)圓形區(qū)域,r是交互系統(tǒng)設(shè)定的區(qū)域精度。如果(x1-x0)2+(y1-y0)2≤r2則P1點(diǎn)的顯示區(qū)域包含了拾取點(diǎn)P0,即對(duì)P1點(diǎn)拾取成功。(2)符號(hào)集(Polymarker)的拾取。依次判斷符號(hào)集中的每個(gè)符號(hào)參考點(diǎn)的顯示區(qū)域是否包含了拾取點(diǎn),如該圖素的某個(gè)符號(hào)的參考點(diǎn)滿足點(diǎn)的拾取條件,則對(duì)該圖素拾取成功。這里需重復(fù)調(diào)用點(diǎn)的拾取。(3)直線段的拾取。若NDC中一條直線段的端點(diǎn)為P1(x1,y1)、P2(x2,y2),該線段的顯示區(qū)域可近似如圖2.1.8所示。P1P2的直線方程為(y1-y2)x-(x1-x2)y-x1(y1-y2)+y1(x1-x2)=0直線B1、B2的斜率為斜率為KB的直線簇可表示為y=KBx+b。若分別將P0、P1,P2代入KB的直線簇方程,得對(duì)于y1-y2=0的情況,b0=x0,b1=x1,b2=x2。如果min(b1,b2)≤b0≤max(b1,b2),則P0在B1,B2所夾的區(qū)域中。下面再判P0到直線段P1P2的距離是否小于等于系統(tǒng)設(shè)定的區(qū)域精度r。如果若上述兩條同時(shí)滿足,則對(duì)P1P2直線段拾取成功。(4)折線集(Polyline)的拾取。依次判斷每條直線段的顯示區(qū)域是否包含拾取點(diǎn),如該圖素的某一條線段滿足拾取條件,則對(duì)該圖素拾取成功。這里需要重復(fù)調(diào)用直線段的拾取。(5)曲線的拾取。曲線在顯示輸出時(shí),已離散成折線集,故曲線拾取的算法與折線集拾取的算法類似。(6)字符串(Text)的拾取。這里需要依次判斷每個(gè)字符的顯示區(qū)域是否包含拾取點(diǎn)。如圖2.1.9所示,一個(gè)矩形的字符(例如字母A)定義區(qū)域被變換到NDC空間后,成為一個(gè)任意形狀的凸四邊形。以這樣一個(gè)凸四邊形作為該字符的顯示區(qū)域判斷是否包含拾取點(diǎn)顯然是不方便的。我們可以用該凸四邊形的兩對(duì)邊中點(diǎn)連線的交點(diǎn)為圓心,以該交點(diǎn)到四邊中點(diǎn)距離的平均值為半徑的圓形區(qū)域作為字符的顯示區(qū)域,當(dāng)字符串中某一個(gè)字符的顯示區(qū)域包含拾取點(diǎn)時(shí),則對(duì)該字符串拾取成功。圖2.1.9字符的顯示區(qū)域圖2.1.10拾取點(diǎn)在多個(gè)圖形顯示區(qū)域中特殊地,拾取點(diǎn)包含在多個(gè)圖形顯示區(qū)域中。如圖2.1.10所示,P0同時(shí)落在P1P2,P3P4兩條直線段的顯示區(qū)域中,此時(shí)如何確定哪一條直線被拾取。通常采用兩種方法:①在圖形生成時(shí)就對(duì)每一個(gè)圖形確定其拾取優(yōu)先級(jí),在拾取圖形時(shí)如遇到拾取點(diǎn)包含在多個(gè)圖形顯示區(qū)域中的情況,只要判斷這些圖形的拾取優(yōu)先級(jí)即可確定哪個(gè)圖形被拾取。②逐個(gè)地閃爍或變顏色,或增亮拾取到的圖形,讓用戶來確認(rèn),如鍵入空格鍵為非拾取圖,鍵入回車鍵為拾取圖形。(7)填充區(qū)域的拾取。依次判別多邊形邊界上的每條線段的顯示區(qū)域是否包含拾取點(diǎn),如果該圖素的某一條邊界線段滿足拾取條件,則對(duì)該圖素的拾取成功。(8)三維圖形的拾取。三維圖形的拾取算法比上述的拾取算法要復(fù)雜得多,這里不作詳細(xì)介紹,此時(shí)需要考慮的問題有:①拾取空間為NDC:0.0≤x,y,z≤1.0。②拾取區(qū)域?yàn)榍蚧蛄⒎襟w。③需要進(jìn)行點(diǎn)/多邊形、點(diǎn)/多面體等包含性測(cè)試。下面介紹加速圖形拾取的措施。常用的加速圖形拾取的措施有三條:①過濾器法。即對(duì)可拾取和不可拾取的圖形分別加以標(biāo)志,只有可拾取圖形才進(jìn)行拾取判斷,對(duì)不可拾取圖形可以簡(jiǎn)單地跳過去。②區(qū)域粗判法。如圖2.1.11所示,即對(duì)要拾取的圖形先作其外接正矩形的判斷,如拾取點(diǎn)包含在此矩形內(nèi),再作上述的各種圖素判斷;反之,則跳過這些圖形。③把基本圖素的拾取算法固化,即用硬件實(shí)現(xiàn)諸如點(diǎn)、直線段的拾取算法。
4.菜單技術(shù)菜單技術(shù)是常用的固定集選擇技術(shù),在交互式圖形系統(tǒng)中被廣泛采用。菜單是一組功能、對(duì)象、數(shù)據(jù)或其他用戶可選擇實(shí)體的列表。菜單項(xiàng)的作用就是當(dāng)用戶點(diǎn)取該菜單項(xiàng)時(shí),系統(tǒng)就會(huì)把菜單項(xiàng)的內(nèi)容作為當(dāng)前的輸入。菜單項(xiàng)的內(nèi)容通常為命令、命令的選項(xiàng)、字符、數(shù)據(jù)等。設(shè)計(jì)菜單時(shí)應(yīng)注意下面的問題。(1)菜單的形式。按照菜單的出現(xiàn)與消失,菜單可分為固定式、翻頁式、翻動(dòng)式、拉簾式、增長(zhǎng)式、彈出式和綜合式等幾種(見圖2.1.12)。圖2.1.11粗判區(qū)域圖2.1.12菜單的基本形式①固定式。固定式一般適用于靜態(tài)菜單,菜單自始至終顯示在屏幕的某一固定區(qū)域,如圖2.1.12(a)所示。②翻頁式。菜單項(xiàng)按層次分頁,進(jìn)入一層菜單就像翻過一頁書,如圖2.1.12(b)所示。③滾動(dòng)式。如圖2.1.12(c)所示,選擇滾動(dòng)箭頭可以向上或向下移動(dòng)一個(gè)菜單項(xiàng),上下拖動(dòng)滑塊,可以上下滾動(dòng)菜單窗口。把光標(biāo)定位在菜單的可見部分即可選擇菜單項(xiàng)。④拉簾式。用戶可像拉簾子一樣拉出一個(gè)個(gè)菜單,如圖2.1.12(d)所示。拉簾式菜單有從水平菜單條往下拉出的下拉式菜單和從豎直菜單條向左、向右拉出的平拉式菜單等。⑤增長(zhǎng)式。這種菜單的顯示好像是慢慢長(zhǎng)出來似的,如圖2.1.12(e)所示。⑥彈出式。這是目前最常見的菜單出現(xiàn)方式,菜單好像是彈出來的,如圖2.1.12(f)所示。為了增強(qiáng)彈出式菜單的真實(shí)感,往往給菜單邊界加陰影邊框。⑦綜合式。上述幾種菜單形式或其派生形式的結(jié)合。如固定式與翻頁式的結(jié)合、固定式與拉簾式的結(jié)合、拉簾式與單向彈出(向左、向右彈出)式的結(jié)合(如常見的彈出式逐級(jí)顯示菜單)等。翻頁式與滾動(dòng)式結(jié)合的板式菜單也是常用的菜單形式,如圖2.1.13所示。圖2.1.13板式菜單(2)菜單的放置。菜單可以顯示在屏幕上,稱為屏幕菜單;也可以定義在臺(tái)板上,稱為圖形輸入板(或數(shù)字化儀)菜單;還可以定義在設(shè)備的按鈕或功能鍵上,稱為按鈕菜單。對(duì)于屏幕菜單,當(dāng)菜單項(xiàng)較多時(shí),應(yīng)設(shè)計(jì)成多層菜單。設(shè)計(jì)多層菜單時(shí)要確定菜單的深度(即層數(shù))和寬度(即每層的菜單項(xiàng)數(shù))。實(shí)踐表明,像二級(jí)或三級(jí)這樣層次不多的菜單會(huì)提高選擇的速度和正確性。菜單的形狀一般都是長(zhǎng)條的,也有其他形狀,如圓餅形。菜單的顯示可以是文字形式,也可以是圖標(biāo)形式。圖標(biāo)形式的菜單具有形象、直觀的突出優(yōu)點(diǎn),已獲得廣泛的應(yīng)用。菜單項(xiàng)的大小也直接影響選擇的速度和正確性,較大的菜單項(xiàng)可以加快選擇速度,但要占更大的屏幕域;較小的菜單項(xiàng)可以在一個(gè)固定的區(qū)域內(nèi)顯示多個(gè)菜單,但在選擇時(shí)會(huì)引起更多的失誤。因此用小菜單項(xiàng)節(jié)省空間還是用大菜單項(xiàng)提高選擇速度、減少失誤,應(yīng)該在設(shè)計(jì)時(shí)權(quán)衡考慮。(3)菜單項(xiàng)的順序。菜單項(xiàng)可以按不同的順序排列,如按字母順序排序;按功能分組排列;按使用頻度排列,最常用的放在前面;按重要程度排列,最重要的排在前面。這些排列方法可以組合起來使用,如按功能分組的菜單,組內(nèi)的菜單項(xiàng)仍按字母順序排列,而組與組之間按使用頻度排列。對(duì)于同一個(gè)系統(tǒng),所有的菜單都按同一種風(fēng)格進(jìn)行排序是非常重要的。實(shí)踐證明,按功能分組排序的菜單對(duì)用戶最有幫助。實(shí)現(xiàn)菜單項(xiàng)選取的基礎(chǔ)是定位技術(shù)。在組織菜單時(shí),每個(gè)菜單項(xiàng)所處的行、列位置及菜單項(xiàng)的大小決定了該菜單項(xiàng)的拾取區(qū)域。當(dāng)拾取點(diǎn)落在該區(qū)域時(shí),便是選擇該菜單項(xiàng)。(4)被選菜單項(xiàng)的著重表示。被選菜單項(xiàng)應(yīng)著重表示。當(dāng)光標(biāo)進(jìn)入菜單區(qū)時(shí),光標(biāo)所在的菜單項(xiàng)就應(yīng)著重顯示;當(dāng)光標(biāo)在菜單上移動(dòng)時(shí),光標(biāo)進(jìn)入哪個(gè)菜單項(xiàng),哪個(gè)菜單項(xiàng)就被著重顯示,光標(biāo)離開這個(gè)菜單項(xiàng),這個(gè)菜單項(xiàng)就恢復(fù)成原先的正常顯示;當(dāng)用戶沒有作出任何選擇而把光標(biāo)移出菜單區(qū)時(shí),菜單項(xiàng)就都恢復(fù)成原先正常的顯示。對(duì)于彈出式或下拉式菜單,當(dāng)光標(biāo)移出時(shí),菜單就自動(dòng)消失。著重表示被選菜單項(xiàng)的方式較多,如有的高光顯示或反轉(zhuǎn)顯示;有的菜單項(xiàng)前帶圓形或方形按鈕,按鈕開關(guān)的狀態(tài)表示選擇的結(jié)果;有的菜單是帶確認(rèn)號(hào)的(如對(duì)號(hào)),有確認(rèn)號(hào)的項(xiàng)表示被選中,這種菜單可以進(jìn)行多種選擇;有帶移動(dòng)指針(箭頭狀)的菜單,指針隨光標(biāo)移動(dòng),指針的位置就是當(dāng)前所選項(xiàng);還有帶專門選擇區(qū)的菜單,選擇的結(jié)果放在選擇區(qū)中。
5.定向技術(shù)定向即是在一個(gè)坐標(biāo)系中規(guī)定形體的一個(gè)方向,此時(shí)需要確定坐標(biāo)系的維數(shù)(即自由度)、分辨率、精度和反饋類型,需要的設(shè)備是數(shù)值器、定位器、鍵盤。定向技術(shù)有兩種:(1)用度盤或操縱桿控制方向角。(2)鍵入角度值或輸入兩點(diǎn)構(gòu)成向量,取向量的方向角。在使用定向技術(shù)時(shí)要考慮坐標(biāo)系、旋轉(zhuǎn)中心、觀察效果等問題。坐標(biāo)系一般取世界坐標(biāo)系或局部坐標(biāo)系,旋轉(zhuǎn)中心可以是坐標(biāo)系的原點(diǎn),也可指定物體中心點(diǎn)或任意參考點(diǎn)作為旋轉(zhuǎn)中心,并在屏幕上用X、Y、Z的正方向表示出旋轉(zhuǎn)效果。
6.定路徑技術(shù)定路徑即在一定的時(shí)間或一定的空間內(nèi)確定一系列的定位點(diǎn)和方向角。雖然路徑可以由定位和定向這兩個(gè)更基本的交互任務(wù)組成,但由于定路徑中要考慮現(xiàn)實(shí)世界中的一個(gè)重要參數(shù)——時(shí)間,因此仍把它列為基本的交互任務(wù)。這時(shí)用戶關(guān)心的不是某一點(diǎn)及其方向,而是一系列的定位點(diǎn)、方向值及其次序。產(chǎn)生路徑的技術(shù)與定位和定向的技術(shù)一致,應(yīng)用方面的要求有定位點(diǎn)的最大數(shù)目和兩個(gè)定位點(diǎn)之間的間隔。計(jì)算間隔一般采用兩種方法:基于時(shí)間和基于距離?;跁r(shí)間是按時(shí)間采樣,基于距離是按相對(duì)位移達(dá)到某個(gè)距離采樣。距離采樣需考慮維數(shù)問題和分辨率問題以及響應(yīng)形式。響應(yīng)形式可以是平滑的曲線,也可以是帶有標(biāo)志的一系列定位點(diǎn)。
7.定量技術(shù)定量技術(shù)在交互過程中應(yīng)用很多,而且是必不可少的。用戶經(jīng)常需要輸入一個(gè)數(shù)值或指定一個(gè)數(shù)量,完成這種任務(wù)需要確定精度(單位)。定量技術(shù)有:(1)由鍵盤輸入數(shù)值。(2)調(diào)節(jié)電位器的阻值產(chǎn)生相應(yīng)的數(shù)值。(3)用光標(biāo)移動(dòng)屏幕上的標(biāo)度盤或刻度尺上的指針。(4)用上下翻轉(zhuǎn)數(shù)字的計(jì)數(shù)器選擇數(shù)值。(5)手寫數(shù)字的識(shí)別或語音識(shí)別。
8.文本技術(shù)文本技術(shù)需要確定字符集及字符串的長(zhǎng)度。實(shí)現(xiàn)文本的技術(shù)有:(1)鍵盤輸入字符。(2)用菜單選擇字符。(3)語音識(shí)別。(4)筆劃識(shí)別。在交互過程中,用戶還可以用其他辦法來模擬字符鍵盤,如在屏幕上產(chǎn)生一個(gè)鍵盤。
9.橡皮筋技術(shù)橡皮筋技術(shù)主要針對(duì)變形類的要求,動(dòng)態(tài)地、連續(xù)地將變形過程表現(xiàn)出來,直到產(chǎn)生用戶滿意的結(jié)果為止,其中最基本的工作是動(dòng)態(tài)、連續(xù)地改變相關(guān)點(diǎn)的設(shè)備坐標(biāo)。常用的形式有橡皮筋線、帶水平或垂直約束的橡皮筋線、橡皮筋圓、橡皮筋多邊形、橡皮筋棱錐等。10.徒手畫技術(shù)徒手畫技術(shù)用以實(shí)現(xiàn)用戶任意畫圖的要求。該技術(shù)的實(shí)現(xiàn)分為基于時(shí)間和基于距離采樣取點(diǎn),然后用折線或擬合曲線連接這些點(diǎn),生成圖形,如果是粗筆畫,則亦可用區(qū)域填色技術(shù)跟蹤筆劃走過的區(qū)域。
11.拖動(dòng)技術(shù)拖動(dòng)技術(shù)是將形體在空間移動(dòng)的過程動(dòng)態(tài)地、連續(xù)地表示出來,直至形體的位置滿足用戶的要求為止。這種技術(shù)常用于部件的裝配和模擬現(xiàn)實(shí)生活中的實(shí)際過程。2.2交互輸入控制根據(jù)圖形軟件標(biāo)準(zhǔn)GKS的規(guī)定,圖形輸入設(shè)備從邏輯上分為定位、筆劃、取值、選擇、拾取、字串六種。不過實(shí)際的圖形輸入設(shè)備往往是某些邏輯輸入功能的組合。在用六種邏輯輸入設(shè)備設(shè)計(jì)一個(gè)交互系統(tǒng)時(shí),應(yīng)用程序必須指定用于輸入數(shù)據(jù)的物理設(shè)備類型及其邏輯分類,其他參數(shù)取決于輸入數(shù)據(jù)。在應(yīng)用程序和輸入設(shè)備之間,輸入控制的方式是多樣的,這些方式又取決于程序和輸入設(shè)備之間是如何相互作用的。應(yīng)用程序和設(shè)備之間的工作方式有請(qǐng)求、采樣、事件三種。對(duì)這三種輸入控制方式都可定義相應(yīng)的輸入命令,而且圖形交互系統(tǒng)允許對(duì)每一種邏輯設(shè)備執(zhí)行相應(yīng)的輸入操作。例如,可設(shè)置如下命令:set--locator--mode(ws,device--code,input--mode)這是用來設(shè)置定位器輸入方式的命令,其中input--mode取值為0、1、2,分別對(duì)應(yīng)請(qǐng)求、取樣、事件三種方式;ws是工作站的標(biāo)號(hào);device--code是用來指定被采用的物理定位設(shè)備的設(shè)備碼,常用設(shè)備編碼如表2.2.1所示。表2.2.1常用物理設(shè)備的編碼命令set--stroke--mode(4,2,event)就是把4號(hào)工作站上的圖形輸入板設(shè)成事件輸入方式,一個(gè)設(shè)備在同一時(shí)刻只能被設(shè)成一種方式,多臺(tái)設(shè)備可同時(shí)在不同輸入方式下工作。
1.請(qǐng)求方式此時(shí),只有用輸入方式設(shè)置命令(或語句)對(duì)相應(yīng)的設(shè)備設(shè)置成需要的輸入方式后,該設(shè)備才能作相應(yīng)的輸入處理。如:request--locator(ws,device--code,x,y)該命令是把定位器置成請(qǐng)求輸入控制方式,其中x,y用來存儲(chǔ)一個(gè)點(diǎn)的坐標(biāo)值。在輸入命令中,每一種邏輯設(shè)備所包括的參數(shù)是和輸入數(shù)據(jù)類型有關(guān)的,如在請(qǐng)求方式下的筆劃輸入是:request--stroke(ws,device--code,n,xa,ya)這里輸入的n個(gè)點(diǎn)的坐標(biāo)存放在數(shù)組xa和ya中。類似地在請(qǐng)求方式下的字符串輸入是:request--string(ws,device--code,nc,text)這里nc指定了輸入字符串的長(zhǎng)度(即字符個(gè)數(shù)),輸入的字符串存放在字符緩存text中。為了能在應(yīng)用程序中拾取到輸入的圖段,需要用下列命令設(shè)置圖段的標(biāo)志,即:request--pick(ws,device--code,segment--id)用于請(qǐng)求方式下的輸入命令還可以包括其他參數(shù),如有些應(yīng)用需要對(duì)圖段中的圖素設(shè)置標(biāo)志,如線段、圓、矩形等;也可對(duì)圖段設(shè)置標(biāo)號(hào),以加快對(duì)圖段的搜索。應(yīng)用程序向輸入設(shè)備發(fā)出輸入請(qǐng)求命令后,就等待用戶輸入數(shù)據(jù),當(dāng)用戶輸入操作完成后,應(yīng)用程序便得到輸入的數(shù)據(jù)。為使用戶知道應(yīng)用程序處于等待輸入數(shù)據(jù)狀態(tài),一般在應(yīng)用程序請(qǐng)求輸入命令發(fā)出之前先顯示一條提示信息,提示用戶開始輸入操作。請(qǐng)求方式一次只能對(duì)一個(gè)輸入設(shè)備進(jìn)行。
2.采樣方式一旦對(duì)一臺(tái)或多臺(tái)設(shè)備設(shè)置了采樣方式,立即就可以進(jìn)行數(shù)據(jù)輸入,而不必等待程序中的輸入語句。如操縱桿已被置成在采樣方式下的定位設(shè)備,則操縱桿的當(dāng)前位置坐標(biāo)值立即就被存儲(chǔ)起來,當(dāng)操縱桿的位置在變化時(shí),就立即用當(dāng)前位置的坐標(biāo)值來代替以前位置的坐標(biāo)值,當(dāng)應(yīng)用程序一遇到采樣命令,就把相應(yīng)物理設(shè)備的值作為采樣數(shù)值。設(shè)置定位設(shè)備為采樣方式的命令是:sample--locator(ws,device--code,x,y)對(duì)其他邏輯設(shè)備設(shè)置為采樣方式的命令與此類似。采樣方式允許用戶同時(shí)使用多個(gè)設(shè)備且由應(yīng)用程序不停地測(cè)試輸入設(shè)備,隨時(shí)讀入用戶輸入的數(shù)據(jù),故其實(shí)時(shí)性好。
3.事件方式在事件輸入方式中,輸入設(shè)備與應(yīng)用程序是異步工作的。應(yīng)用程序先將輸入設(shè)備置成事件方式,并允許由設(shè)備輸入。一旦設(shè)備是可輸入的,不管應(yīng)用程序是否準(zhǔn)備好接收數(shù)據(jù),用戶都可以在這個(gè)輸入設(shè)備上進(jìn)行輸入操作了,而且在用戶輸入數(shù)據(jù)的同時(shí),應(yīng)用程序仍可以不停地執(zhí)行。任何一個(gè)輸入操作的數(shù)據(jù)都將作為事件并按其發(fā)生的次序被送到一個(gè)輸入隊(duì)列即事件隊(duì)列中。在隊(duì)列中的輸入數(shù)據(jù)可按照邏輯設(shè)備類型、工作站號(hào)、物理設(shè)備編碼進(jìn)行檢索。事件輸入方式避免了請(qǐng)求方式和采樣方式中存在輸入數(shù)據(jù)丟失的問題。在應(yīng)用程序中,檢索事件隊(duì)列可用下述命令:await--event(time,device--class,ws,device--code)time是應(yīng)用程序設(shè)置的最長(zhǎng)等待時(shí)間,當(dāng)事件隊(duì)列為空時(shí),事件處理進(jìn)程就掛起,直到最長(zhǎng)等待時(shí)間已過或又有一個(gè)事件進(jìn)入,才恢復(fù)事件處理進(jìn)程。若在輸入數(shù)據(jù)之前,等待時(shí)間就已過去,則參數(shù)device--class就返回一個(gè)空值。當(dāng)time被賦成零或當(dāng)隊(duì)列為空時(shí),程序就立即返回到其他的處理進(jìn)程。當(dāng)用await--event命令使某設(shè)備進(jìn)入事件輸入控制方式,而且事件隊(duì)列為非空時(shí),在隊(duì)列的第一個(gè)事件就被傳送到當(dāng)前事件記錄中,對(duì)于定位器、筆劃設(shè)備,在device--class參數(shù)中存放了它們的類型。為了從當(dāng)前事件記錄中檢索一個(gè)輸入的數(shù)據(jù),還需要采用一個(gè)事件輸入方式命令,其格式類似于請(qǐng)求、取樣方式的命令,但在此命令中不需要有工作站和設(shè)備碼參數(shù),因?yàn)樵跀?shù)據(jù)記錄中已有這些參數(shù)。用戶可用下述命令從當(dāng)前事件記錄中得到一個(gè)定位數(shù)據(jù):get--locator(x,y)下述的一段程序是用await--event,get--locator命令從1號(hào)工作站的圖形輸入板上輸入一個(gè)點(diǎn)集,并用直線段連接這些點(diǎn):set--stroke--mode(1,2,event);;repeat; await--event(60,device--class,ws,device--code);untildevice--class=stroke;;get--stroke(n,xa,ya);;polyline(n,xa,ya);這里repeat-until循環(huán)為了把從其他設(shè)備來的在隊(duì)列中的數(shù)據(jù)濾掉;設(shè)置的等待時(shí)間為1分鐘,以保證輸入數(shù)據(jù)接收完畢。當(dāng)然在事件方式下,若只有這臺(tái)圖形輸入板處于激活狀態(tài),那么這個(gè)repeatuntil循環(huán)就不必要了。在事件方式下,同時(shí)可應(yīng)用多臺(tái)輸入設(shè)備以便加快交互處理。下面的程序是從鍵盤輸入屬性和從圖形輸入板輸入數(shù)據(jù)畫折線:set--polyline--index(1);;set--stroke--mode(1,2,event);(把圖形輸入板設(shè)成筆劃設(shè)備)set--choice--mode(1,7,event);(把鍵盤設(shè)成選擇設(shè)備)repeat;await--event(120,device--class,ws,device--code);ifdevice--class=choicethen;begin;get--choice(option);;set--polyline--index(option);;end;else;ifdevice--class=strokethen;begin;get--stroke(n,xa,ya);;polyline(n,xa,ya);;end;untildevice--class=none;
4.輸入控制方式的混合使用上述三種輸入控制方式可以混合使用。下面給出一個(gè)在不同輸入控制方式下同時(shí)應(yīng)用不同的輸入設(shè)備的情況,其目的是要拖動(dòng)一個(gè)形體在屏幕上運(yùn)動(dòng),當(dāng)達(dá)到最終位置,可按一鍵來終止這種拖動(dòng)。這里筆的位置是由采樣方式得到的,按鈕的輸入存放在事件隊(duì)列中。begin;set--locator--mode(1,3,sample);(把光筆設(shè)成定位設(shè)備)set--choice--mode(1,7,event);(把按鈕設(shè)成選擇設(shè)備)repeat;sample--locator(1,3,x,y);(讀入筆的位置)(把形體平移到(x,y)處,并輸出形體,此處這段程序略)await--event(0,class,ws,code)(檢查輸入的事件隊(duì)列)untilclass=choice(如該按鈕是按過鍵時(shí),則停止)end2.3用戶接口的設(shè)計(jì)1.用戶接口的設(shè)計(jì)目標(biāo)(1)提高學(xué)習(xí)速度。學(xué)習(xí)速度是一個(gè)與用戶熟練掌握?qǐng)D形交互系統(tǒng)的使用方法所花時(shí)間有關(guān)的量。這是一個(gè)相對(duì)量。只有10個(gè)交互命令的系統(tǒng)當(dāng)然要比有1000個(gè)交互命令的系統(tǒng)容易學(xué),但在為一個(gè)功能豐富的系統(tǒng)設(shè)計(jì)用戶接口時(shí),如果違背常理,用10個(gè)難學(xué)的命令去實(shí)現(xiàn)的話,可能也不會(huì)提高學(xué)習(xí)速度。(2)提高使用速度。使用速度是一個(gè)與那些熟練的操作員用系統(tǒng)完成某個(gè)特定任務(wù)所需時(shí)間有關(guān)的量。學(xué)習(xí)速度與使用速度是一對(duì)矛盾。要同時(shí)滿足這兩個(gè)要求,最常用的方法是在用戶接口系統(tǒng)中提供一個(gè)供初學(xué)者學(xué)習(xí)的基本命令集,最好用菜單實(shí)現(xiàn),易于學(xué)習(xí)。而整個(gè)系統(tǒng)的所有命令,則可由鍵盤或功能鍵輸入,以提高使用速度。(3)降低操作失誤率。操作失誤率是指每次交互操作的平均失誤次數(shù)。這一指標(biāo)也影響到學(xué)習(xí)速度和使用速度。(4)增強(qiáng)記憶。交互系統(tǒng)應(yīng)能幫助用戶在長(zhǎng)期不使用該系統(tǒng)后,一旦接觸,就能盡快地回憶起各個(gè)交互操作。(5)增強(qiáng)對(duì)潛在用戶的吸引力。這是市場(chǎng)方面的一個(gè)目標(biāo)。
2.用戶接口的設(shè)計(jì)步驟(1)概念設(shè)計(jì)。定義圖形系統(tǒng)中必須由用戶掌握的基本概念,包括對(duì)象定義、對(duì)象屬性定義、對(duì)象關(guān)系定義和對(duì)象操作定義。例如,在簡(jiǎn)單的編輯軟件中,操作對(duì)象是字符、行和文件;文件的屬性是文件名;文件由一系列字符行組成,字符行由一系列字符組成;行的操作有插入、刪除、移動(dòng)和拷貝,文件的操作有生成、刪除、換名、打印和拷貝。概念的描述通常是借助于一些類似于用戶已熟悉的東西,如打字機(jī)、繪圖板、工作臺(tái)、公文夾等。要注意的是,這種類比的方法對(duì)理解用戶接口的概念雖然有幫助,但過分牽強(qiáng)附會(huì),用這種方法表達(dá)圖形用戶接口的某些更高級(jí)的概念是有害的。(2)功能設(shè)計(jì)。規(guī)定用戶接口的詳細(xì)功能。對(duì)于每個(gè)操作,說明需要什么參數(shù),會(huì)出現(xiàn)什么錯(cuò)誤,如何處理可能產(chǎn)生的錯(cuò)誤,會(huì)產(chǎn)生什么結(jié)果,會(huì)給出什么反饋等。這里要注意的是,功能設(shè)計(jì)也稱為語義設(shè)計(jì),它只定義交互操作的含義,而不是交互操作的順序或?qū)嵤┻@些操作的設(shè)備。(3)交互順序設(shè)計(jì)(語法設(shè)計(jì))。定義輸入和輸出的順序。對(duì)于輸入,是按一定的規(guī)則將各個(gè)詞組組成一個(gè)完整的句子。詞組可以看成是通過交互技術(shù)輸入到系統(tǒng)中的不可分割的最小單元。例如,選菜單操作是一個(gè)詞組。雖然這一操作可進(jìn)一步劃分成移動(dòng)鼠標(biāo)器和按鍵兩個(gè)動(dòng)作,但這兩個(gè)動(dòng)作都不能單獨(dú)向系統(tǒng)提供有意義的信息。在下面的輸入模式和語法中,我們將具體介紹與輸入模式有關(guān)的各種語法規(guī)則。對(duì)于輸出,是定義顯示屏的2D和3D的布局,以及這種顯示形式的臨時(shí)變化。和輸入的最小單元是不可分割的一樣,輸出的最小單元也是不可分割的,否則將失去意義。例如,在電路的輔助設(shè)計(jì)系統(tǒng)中,電阻符號(hào)是有意義的,而組成這個(gè)電阻符號(hào)的線條就沒有什么意義。字符串可以向人們傳遞某些信息,同樣,在圖形系統(tǒng)中,符號(hào)和圖形也能向人們傳遞某種有意義的信息。(4)聯(lián)結(jié)設(shè)計(jì)(詞法設(shè)計(jì))。定義如何由單詞形成一個(gè)個(gè)有意義的詞組。對(duì)于輸入,單詞可以看成是聯(lián)結(jié)到系統(tǒng)上的各種輸入設(shè)備,聯(lián)結(jié)設(shè)計(jì)就是選擇或設(shè)計(jì)前面我們介紹過的交互技術(shù)。對(duì)于輸出,單詞可以看成是基本圖形軟件包提供的各種幾何形狀(如直線、圓、字符)以及它們的屬性(如色彩、字體)。聯(lián)結(jié)設(shè)計(jì)就是把這些圖素及其屬性組合起來,形成圖標(biāo)和其他符號(hào)。以一個(gè)簡(jiǎn)單的家具布置程序?yàn)槔f明上述設(shè)計(jì)步驟。在概念設(shè)計(jì)階段,確定操作對(duì)象是一間房子和要放到這間房子里的家具;對(duì)象之間的關(guān)系是房子要裝這些家具;對(duì)家具的操作有生成、刪除、移動(dòng)、旋轉(zhuǎn)、選擇;對(duì)房子的操作有存和取。功能設(shè)計(jì)是對(duì)這些操作的詳盡描述。輸入的順序設(shè)計(jì)將是先選擇操作對(duì)象,再選擇對(duì)這個(gè)對(duì)象實(shí)施的操作。輸入時(shí)的聯(lián)結(jié)設(shè)計(jì)將是用鼠標(biāo)器從菜單中選擇操作命令,選擇家具,提供家具放置的位置。輸出的順序設(shè)計(jì)是定義顯示屏幕的布局,將屏幕劃分成幾個(gè)不同的區(qū)域,確定菜單區(qū)、提示區(qū)、出錯(cuò)信息顯示區(qū)。輸出時(shí)的聯(lián)結(jié)設(shè)計(jì)包括字體、線寬、線色、填充域顏色的定義,以及由基本圖素形成家具符號(hào)的方法。3.用戶接口的風(fēng)格(1)所見即所得。這是交互式圖形學(xué)的基礎(chǔ)。屏幕上用戶與之交互的內(nèi)容,就是交互系統(tǒng)最終要生成的圖像。大多數(shù)交互式圖形系統(tǒng)都具有所見即所得這樣的風(fēng)格?,F(xiàn)在許多文字編輯軟件也有所見即所得的接口。例如,MSWindows的編輯器WRITE中,要用黑體打印的文字在屏幕上顯示時(shí)也是黑體。而在所見非所得的系統(tǒng)中,我們見到的是插在文字之間的控制符。例如文字串Inthissentence,weshow@b(bold),@i(italic),and@ub(underlinedbold)text.
的輸出結(jié)果是:
Inthissentence,weshowbold,italic,andunderlinedboldtext.
在這樣的所見非所得的系統(tǒng)中,用戶必須用腦子在控制符和結(jié)果之間來回切換,在輸入過程中很難確定這些控制符是否會(huì)轉(zhuǎn)換成真正需要的輸出結(jié)果。所見即所得也受到一些限制。比如,當(dāng)顯示器的分辨率、大小、色彩與硬拷貝設(shè)備不同時(shí),很難保證完全匹配。更重要的是,一些系統(tǒng)不能實(shí)現(xiàn)完全的具有所見即所得風(fēng)格的接口,例如,一般文字處理系統(tǒng)中,插在文字間的分頁符輸出時(shí)是沒有的,但卻在屏幕上顯示出來了,這就違背了所見即所得的原則。(2)直接操作。直接操作是指將可以操作的對(duì)象、對(duì)象屬性、對(duì)象關(guān)系都在屏幕上顯示出來,用鼠標(biāo)器在它們上面進(jìn)行某個(gè)運(yùn)作,達(dá)到實(shí)行某種操作的目的。這樣,就無需用選菜單或鍵入命令這種傳統(tǒng)的方式實(shí)行某個(gè)操作了,而是隱含在各種動(dòng)作中。在屏幕上顯示的可能是文字,如對(duì)象的名字、屬性等,也可能是更為一般的圖形或圖像,如圖標(biāo)(icon)。圖2.3.1顯示了Macintosh使用的一些直接操作。這里,磁盤和文件都表示成圖標(biāo),從一個(gè)磁盤拖動(dòng)文件的圖標(biāo)到另一個(gè)磁盤,就實(shí)現(xiàn)了文件的拷貝,拖動(dòng)到垃圾筒就實(shí)現(xiàn)了文件的刪除。圖2.3.1Macintosh屏幕可以說,直接操作是圖形用戶接口的獨(dú)特風(fēng)格,易學(xué)易見。但對(duì)熟練的用戶來說卻又顯得比較慢。例如,打印文件A,要先找到文件A的圖標(biāo),定位選擇,再拖到打印機(jī)圖標(biāo)上。找文件A可能還會(huì)用到卷滾條。如果用戶知道文件名,用“prA”命令就快多了。所以菜單命令、鍵盤命令和直接操作并存是當(dāng)今用戶接口的特點(diǎn)。對(duì)話框也是一種直接操作。指點(diǎn)對(duì)話框中的某個(gè)文字域,就可以在這個(gè)域中輸入文字或數(shù)據(jù);也可以在列表中選擇有限的域值。(3)圖標(biāo)化用戶界面。圖標(biāo)是操作對(duì)象、對(duì)象屬性、對(duì)象關(guān)系、動(dòng)作或某些概念的圖形表示。用戶接口的設(shè)計(jì)者可以選擇文字表示某個(gè)概念,也可以用圖標(biāo)表示這個(gè)概念。圖標(biāo)和文字,哪個(gè)更好,很難說得清楚。但要注意的是,是否使用圖標(biāo)與直接操作沒有任何關(guān)系,對(duì)文字也可以進(jìn)行直接操作。圖標(biāo)具有形象、直觀(精心設(shè)計(jì)的圖標(biāo)比文字更易于識(shí)別其含義)、占屏幕空間小、不受語種限制等優(yōu)點(diǎn)。設(shè)計(jì)圖標(biāo)時(shí)應(yīng)遵循易識(shí)別、易理解、易記憶、易辨別等原則。用圖標(biāo)表示操作對(duì)象比較容易,可用其示意簡(jiǎn)圖表示。對(duì)于對(duì)象的屬性,如調(diào)色板、線寬、線型、紋理圖案、字體等,也可以用圖表示出來。但對(duì)于操作(動(dòng)作),也就是命令,需要精心設(shè)計(jì)其圖標(biāo)。其設(shè)計(jì)方法有三種:①用實(shí)現(xiàn)操作的現(xiàn)實(shí)物品表示命令圖標(biāo)。如圖2.3.2所示,用剪子表示圖形的剪切,用橡皮表示圖形的刪除等。②用命令執(zhí)行前后的狀態(tài)表示命令圖標(biāo)。如圖2.3.3所示,用方塊表示圖形幾何變換前后的情況。③用抽象的動(dòng)作圖形表示命令圖標(biāo),如圖2.3.4所示。圖2.3.2用實(shí)現(xiàn)操作的現(xiàn)實(shí)物品表示命令圖標(biāo)圖2.3.3用命令執(zhí)行前后的狀態(tài)表示命令圖標(biāo)圖2.3.4用抽象的動(dòng)作圖形表示命令圖標(biāo)(4)其他對(duì)話形式。還有一些既適合圖形交互接口,又適合其他軟件的對(duì)話形式。如菜單、命令語言、自然語言對(duì)話、問答式對(duì)話等。①菜單。菜單廣泛應(yīng)用于圖形系統(tǒng)和非圖形系統(tǒng)。菜單的優(yōu)點(diǎn)在于系統(tǒng)的命令都用菜單的形式顯示出來了,用戶見到的,實(shí)際上是他早已熟知的字符串或圖標(biāo)。選擇菜單就可以執(zhí)行命令,而不用去回想一個(gè)個(gè)命令,再鍵入計(jì)算機(jī)。菜單減少了用戶的記憶,因此對(duì)新手特別有吸引力。②命令語言。命令語言是一種與計(jì)算機(jī)實(shí)現(xiàn)交互作用的傳統(tǒng)方法。這一技術(shù)可以容納大量的命令,而不像菜單那樣受被選集元素個(gè)數(shù)的限制,因此易于擴(kuò)充命令,可快速輸入命令。學(xué)習(xí)時(shí)間是命令語言的主要問題,需要鍵盤輸入是使用命令語言的不利因素,輸入的失誤率較高也是命令語言容易產(chǎn)生的問題。命令語言有它的語法,用戶必須按照系統(tǒng)事先設(shè)計(jì)好的語法來輸入命令。每一個(gè)命令都有一個(gè)特定的由程序執(zhí)行的動(dòng)作,完成一定的功能。例如rotate-x20-y10-z45表示將當(dāng)前的操作對(duì)象繞X軸旋轉(zhuǎn)20°,繞Y軸旋轉(zhuǎn)10°,繞Z軸旋轉(zhuǎn)45°。命令語言一般由命令動(dòng)詞即關(guān)鍵字(如rotate)、操作數(shù)(如20、10、45)、命令行參數(shù)(如-x,-y,-z)、分隔符(如空格、逗號(hào)、終止符、回車等)等四部分組成。③自然語言理解。這是作為交互系統(tǒng)的最高目標(biāo)提出來的。如果計(jì)算機(jī)能理解我們用日常語言鍵入的或說出的命令,那么人人都可以用計(jì)算機(jī)了。然而,目前具有大詞匯量的語音識(shí)別系統(tǒng)必須經(jīng)過專門訓(xùn)練才能識(shí)別特定用戶的聲音,還會(huì)產(chǎn)生失誤。鍵入長(zhǎng)句子是一件煩人的事。一般說來,自然語言理解系統(tǒng)不限制命令集的大小,所以如果用戶企圖要系統(tǒng)做一些不可實(shí)現(xiàn)的事,就會(huì)降低系統(tǒng)的性能,使用戶喪失對(duì)系統(tǒng)的信心。這個(gè)問題可以通過限制自然語言理解系統(tǒng)的知識(shí)域來解決,使用戶了解系統(tǒng)的能力,不發(fā)出過分的請(qǐng)求。交互式圖形系統(tǒng)的自然語言語音輸入方式如果與其他對(duì)話方式結(jié)合,將會(huì)大大地提高交互效率。使手和聲音同時(shí)或交替工作,就更像現(xiàn)實(shí)世界中我們的工作方式:先用手指著某個(gè)東西,再談?wù)撍S脩粢苿?dòng)某個(gè)物體,可以在指點(diǎn)它的同時(shí)說“移到…”,再指點(diǎn)另一個(gè)地方說“那兒”。④問答對(duì)話。這是計(jì)算機(jī)入門的一種交互方式。計(jì)算機(jī)在顯示器上顯示出問題,等待用戶回答。用戶可用鍵盤輸入答案。通常答案是受限制的,而且就顯示在屏幕上,可由用戶挑選。這種對(duì)話方式的缺點(diǎn)在于不能返回到前面的問題來重新回答,而且在用戶回答當(dāng)前問題時(shí),不知道以后還會(huì)出現(xiàn)什么問題。
4.用戶接口的設(shè)計(jì)原則(1)保持一致性。保持交互系統(tǒng)的一致性,是指在設(shè)計(jì)系統(tǒng)的各個(gè)環(huán)節(jié)時(shí),應(yīng)遵從統(tǒng)一的、簡(jiǎn)單的規(guī)則,保證不出現(xiàn)例外和特殊情況。保持系統(tǒng)一致性的基本目的是能讓用戶由系統(tǒng)某個(gè)方面的知識(shí)推廣到其他方面。當(dāng)系統(tǒng)不按照某個(gè)可以理解的、合乎邏輯的方式進(jìn)行時(shí),一致性可以使用戶免于受挫。實(shí)現(xiàn)一致性的最好方法是自頂向下仔細(xì)地設(shè)計(jì)整個(gè)系統(tǒng)。保持一致性的例子如鍵盤上的鍵(如回車、制表、刪除等)總是保持某一功能不變,無論在任何情況下鍵入都有效;全程命令(HELP、STATUS、CANCEL等)隨時(shí)可以發(fā)出;常用命令(如MOVE、COPY、DELETE等)可以對(duì)系統(tǒng)中的任何操作對(duì)象起作用;使用同樣的符號(hào)、顏色表示同一類信息;系統(tǒng)狀態(tài)信息總是在一個(gè)合乎邏輯的固定地方顯示等等。要注意的是,一致性會(huì)與系統(tǒng)的其他設(shè)計(jì)原則相沖突。例如,把一個(gè)代表文件的圖標(biāo)拖到垃圾筒圖標(biāo)上,就執(zhí)行了刪除文件的命令。那么如果把這個(gè)文件的圖標(biāo)拖到打印機(jī)圖標(biāo)上,會(huì)發(fā)生什么呢?是否在執(zhí)行了打印命令后,為保持與拖到垃圾筒的功能一致而執(zhí)行刪除命令呢?顯然是不能刪除的。比保持一致性更高、更一般的設(shè)計(jì)原則是:按用戶認(rèn)為最正常、最合乎邏輯的方式去做,這比保持單純的一致性更重要。(2)提供反饋。反饋是人機(jī)交互的一部分,設(shè)計(jì)用戶接口時(shí)必須考慮到各種反饋,并在程序中實(shí)現(xiàn)。根據(jù)設(shè)計(jì)過程中的功能設(shè)計(jì)、順序設(shè)計(jì)(語法)和聯(lián)結(jié)設(shè)計(jì)(詞法)的三個(gè)步驟,可以給出三級(jí)反饋。設(shè)計(jì)人員必須有意識(shí)地考慮到每一級(jí),并明確地決定是否提供反饋,以何種形式給出反饋。①最低級(jí)的反饋(對(duì)應(yīng)于聯(lián)結(jié)設(shè)計(jì))。用戶在交互設(shè)備上的每個(gè)動(dòng)作都應(yīng)立即產(chǎn)生明顯的反饋。如在鍵盤上鍵入字符時(shí)應(yīng)在屏幕上有回顯,鼠標(biāo)器的移動(dòng)應(yīng)對(duì)應(yīng)于光標(biāo)的運(yùn)動(dòng)。②二級(jí)反饋(對(duì)應(yīng)于順序設(shè)計(jì))。當(dāng)系統(tǒng)接受輸入語言(命令、位置、操作對(duì)象等)中的每個(gè)詞組時(shí),應(yīng)提供反饋,被拾取的物體或被選中的菜單項(xiàng)要著重顯示,使用戶知道它的動(dòng)作已被接受。在整個(gè)句子輸入完畢且被斷定是正確時(shí),也要給出反饋,但這種反饋通常是在執(zhí)行這個(gè)命令需要一兩秒以上的時(shí)間時(shí)才給出。③功能級(jí)反饋(對(duì)應(yīng)于功能設(shè)計(jì))。這是最有用且最受用戶歡迎的一種反饋形式。它告訴用戶,系統(tǒng)所發(fā)出的命令已執(zhí)行完了。通常是將操作結(jié)果顯示出來。在執(zhí)行某個(gè)費(fèi)時(shí)的操作過程中,要給出某種反饋,表明計(jì)算機(jī)仍在執(zhí)行中。這樣的反饋有多種形式,最能引起用戶注意的是,用一個(gè)標(biāo)度尺指示命令完成的百分比,使用戶知道何時(shí)能完成這個(gè)命令的操作。(3)盡量減少失誤的可能性。要盡可能地減少用戶的操作失誤,為此,要注意兩點(diǎn)。一是使系統(tǒng)只提供當(dāng)前有效的菜單命令,引導(dǎo)用戶只在有效的范圍內(nèi)工作,不讓用戶做不能做或不允許做的事。例如:·不提供會(huì)產(chǎn)生“非法選擇”、“無效命令”等反饋信息的菜單項(xiàng)?!ぴ跊]有東西可刪除時(shí),不讓用戶有機(jī)會(huì)選擇“刪除”命令?!と绻僮鲗?duì)象不是一個(gè)字符串,就不能讓用戶對(duì)這個(gè)操作對(duì)象改變字體?!と绻羟邪迨强盏?,不要讓用戶做“粘貼”操作?!と绻麤]有選擇任何東西,就不要讓用戶做“拷貝”操作?!ぴ诋?dāng)前被選的物體不是曲線時(shí),就不要讓用戶選擇曲線光順的命令。在上述這些情況下,系統(tǒng)就應(yīng)該使這些不可用的命令項(xiàng)隱藏起來,如用灰色代替黑色,告訴用戶這些菜單項(xiàng)目不可用。二是盡量避免副作用,不要產(chǎn)生用戶不期望的結(jié)果。典型的副作用是打印命令刪掉了被打印的文件。(4)提供出錯(cuò)恢復(fù)。有四種出錯(cuò)時(shí)的恢復(fù)方法:復(fù)原(UNDO)、中止(ABORT)、取消(CANCEL)和校正(CORRECT)。①復(fù)原。最嚴(yán)重的錯(cuò)誤是出現(xiàn)在功能上。用戶錯(cuò)誤地執(zhí)行了一個(gè)或多個(gè)命令,得到了一個(gè)預(yù)料之外的結(jié)果,這時(shí)就需要“復(fù)原”到命令執(zhí)行前的狀態(tài)。有兩種復(fù)原方式:?jiǎn)渭?jí)復(fù)原和多級(jí)復(fù)原。單級(jí)復(fù)原只恢復(fù)到上一個(gè)命令執(zhí)行前的狀態(tài)?!皬?fù)原”本身也是一個(gè)命令。所以如果緊接著“復(fù)原”命令之后再執(zhí)行一次“復(fù)原”命令的話,就等于沒有做恢復(fù)工作。多級(jí)復(fù)原是在前面執(zhí)行過的命令棧上進(jìn)行操作。執(zhí)行過的命令都存入棧中,根據(jù)棧里存放的命令逐一做復(fù)原工作。有時(shí)限于棧的大小,一個(gè)工作段工作時(shí),就將棧清空。對(duì)應(yīng)于“復(fù)原”命令,還有一個(gè)“重做(REDO)”命令,把復(fù)原以后的狀態(tài)通過重做再恢復(fù)過來,以防止用戶復(fù)原過多。一般是對(duì)當(dāng)前發(fā)出的復(fù)原命令可以執(zhí)行重做命令?!皬?fù)原”和“重做”命令都不存放到命令棧中。有兩種形式的復(fù)原設(shè)計(jì)方法。一種是在某個(gè)命令執(zhí)行完且執(zhí)行結(jié)果顯示在屏幕上之后,向用戶提問是接受還是拒絕,用戶在發(fā)出一條命令之前,必須做出選擇。這種復(fù)原形式叫做“明確接受,明確拒絕”,通常加在一些危險(xiǎn)的操作后面,強(qiáng)迫用戶在確定接受之前再想一下。另一種復(fù)原形式是提供復(fù)原命令,這種形式可能更為可取,因?yàn)樵诰芙^一個(gè)命令的執(zhí)行結(jié)果時(shí)才需要采取行動(dòng),發(fā)出下一條命令就隱含著接受了上一條命令的執(zhí)行結(jié)果。這種形式叫做“隱含接受,明確拒絕”。不管怎樣提供“復(fù)原”功能,都需要額外的編程,尤其是對(duì)那些要改動(dòng)數(shù)據(jù)結(jié)構(gòu)的命令,“復(fù)原”工作更難。一種容易的、但不太令人滿意的方法是:并不提供“復(fù)原”功能,只是在命令執(zhí)行前讓用戶確認(rèn)是否真的要執(zhí)行。刪除文件時(shí)常遇到這種情況。②中止。在命令執(zhí)行過程中,用戶就有可能意識(shí)到出現(xiàn)了失誤。這時(shí)就需要“中止”命令,以便中途打斷正在執(zhí)行的命令。像“復(fù)原”命令一樣,“中止”命令也需要把系統(tǒng)恢復(fù)到命令執(zhí)行前的狀態(tài),在這個(gè)意義上,可以把“復(fù)原”和“中止”看成是相同的命令。③取消。在用戶為執(zhí)行某個(gè)命令而輸入所需要的參數(shù)時(shí),會(huì)突然發(fā)現(xiàn)自己并不想執(zhí)行這個(gè)命令。這時(shí)需要“取消”這個(gè)命令,回到輸入前的狀態(tài)。窗口系統(tǒng)的對(duì)話框和填充板中都有“取消”命令,以保證用戶在輸入過程中發(fā)現(xiàn)錯(cuò)誤時(shí),可以恢復(fù)原狀。“取消”命令也可以看成是一種特殊的“復(fù)原”命令,因?yàn)樗彩瓜到y(tǒng)回復(fù)到當(dāng)前命令的最初狀態(tài)。④校正。在用戶輸入?yún)?shù)時(shí),往往會(huì)出現(xiàn)失誤,這時(shí)用戶總是希望能簡(jiǎn)單地把錯(cuò)誤校正過來。不同的對(duì)話形式?jīng)Q定了校正工作的難易。用對(duì)話框或填充板時(shí),最容易修改自己的輸入和選擇。命令語言輸入也可以校正,但必須用〈BACKSPACE〉鍵刪除到出錯(cuò)的地方,再重新輸入。用問答對(duì)話方式和菜單方式輸入時(shí),就不那么容易校正了。(5)面向多層次用戶。交互式圖形系統(tǒng)要面向各種層次的用戶,使毫無經(jīng)驗(yàn)的新手、經(jīng)驗(yàn)不多的用戶,直到熟練用戶,都能找到適合自己的交互手段。使系統(tǒng)能容納多層次用戶的方法是:提供加速鍵,增加提示信息,提供幫助信息,可擴(kuò)展及可隱藏復(fù)雜功能等。①加速鍵。新手通常對(duì)菜單、對(duì)話框和其他能提供提示信息的對(duì)話形式感到很舒服,因?yàn)樘崾拘畔?huì)告訴他們?cè)撟鍪裁春驮搶W(xué)什么。但熟練用戶注重的卻是操作速度。這就需要用功能鍵或鍵盤命令,即用加速鍵代替較慢的交互手段。加速技術(shù)有:用單字母命令代替全名命令或鼠標(biāo)器選擇菜單;連擊鼠標(biāo)器上的鍵(如按一下表示選擇文件,按兩下則表示打開文件);對(duì)菜單項(xiàng)編號(hào),直接鍵入菜單項(xiàng)號(hào)碼;用命令行一次輸入一串命令及其參數(shù)等。②提示。提示是建議用戶下一步做什么,這與反饋有所不同。熟練用戶不希望有太多的提示信息,因?yàn)樘崾拘畔⑦^多會(huì)降低系統(tǒng)的速度,占屏幕空間,甚至煩人。很多交互系統(tǒng)提供多級(jí)提示方式,由用戶控制提示信息量。提示的形式有多種,最直接的是顯示信息,明確地向用戶解釋下一步該做什么。其他的形式如在需要輸入一個(gè)數(shù)據(jù)時(shí)顯示刻度尺或標(biāo)度盤,在需要輸入字符串時(shí)顯示帶下劃線的閃爍光標(biāo)等。③幫助。幫助信息可以讓用戶對(duì)系統(tǒng)的基本概念、典型任務(wù)、各種命令使用方法、交互技術(shù)等有更好的了解。最理想的是,幫助信息能在交互過程中按某一固定方式隨時(shí)被調(diào)出來顯示,且能容易地返回到調(diào)出幫助信息時(shí)的命令執(zhí)行狀態(tài)。幫助信息應(yīng)與當(dāng)時(shí)的操作狀態(tài)相對(duì)應(yīng)。如果在系統(tǒng)等待命令輸入時(shí)調(diào)用幫助信息,則列出系統(tǒng)中當(dāng)前能輸入的所有命令。如果在一個(gè)命令鍵入后調(diào)用幫助信息,則顯示有關(guān)這條命令的詳細(xì)信息。一個(gè)簡(jiǎn)單的調(diào)用幫助信息的辦法是在屏幕上指點(diǎn)希望取得幫助信息的對(duì)象,再按〈HELP〉鍵。這個(gè)對(duì)象可能是菜單項(xiàng)、狀態(tài)指示器、窗口標(biāo)題欄、卷滾條或已生成的物體。即使有提示和菜單,提供幫助信息還是必要的,因?yàn)樗鼮橛脩籼峁┝艘粋€(gè)更多更詳細(xì)地了解系統(tǒng)的機(jī)會(huì)。就是特別熟練的用戶,在系統(tǒng)龐大而復(fù)雜時(shí)也會(huì)忘記某些細(xì)節(jié)。④可擴(kuò)展。使用戶接口具有擴(kuò)展性,是指允許用戶在原有命令集中增加新的命令,以擴(kuò)充用戶接口的功能。宏定義是一種擴(kuò)充功能的方法。在宏定義中,用戶的操作過程保存在一個(gè)跟蹤文件中,可以調(diào)出來按順序進(jìn)行。用戶用編輯命令可以建立這種宏文件。⑤可隱藏復(fù)雜功能。把復(fù)雜功能隱藏起來不讓使用,是新手們學(xué)習(xí)系統(tǒng)基本功能的很好方法。這樣,不用指定選項(xiàng),不用學(xué)習(xí)不常用的特殊命令,不用經(jīng)歷復(fù)雜的啟動(dòng)過程就可以開始實(shí)際的工作。有些命令常常會(huì)有很多可選參數(shù)項(xiàng)。對(duì)于這種命令,就需要簡(jiǎn)化,提供合理的默認(rèn)值代替任選參數(shù)項(xiàng)。簡(jiǎn)化后的命令可以做成一個(gè)小的“初學(xué)者工具箱”。例如在畫圓形百分圖的程序中,用戶指定幾個(gè)必要的參數(shù)后就可以按默認(rèn)值畫出百分圖。但如果用戶對(duì)這個(gè)百分圖不滿意,那他可以修改圓餅的半徑和每個(gè)扇形的顏色或紋理,可以加注釋、改變字體和文字大小,可以改變數(shù)字顯示位置等。這些在開始畫百分圖時(shí)不應(yīng)強(qiáng)迫用戶去做。隱藏復(fù)雜功能命令的另一個(gè)策略是:復(fù)雜的、高級(jí)的命令只有通過鍵盤或功能鍵才能執(zhí)行。這樣可保持菜單更小,系統(tǒng)更簡(jiǎn)單。(6)盡量減少要記憶的內(nèi)容。要盡量減少用戶不必要的記憶。如在繪圖系統(tǒng)中,用數(shù)字代號(hào)表示物體,而不要用名字;拾取物體或圖標(biāo)就不需要記憶。重要的是盡可能地喚醒用戶的識(shí)別而不是記憶。
5.輸入模式和語法在圖形系統(tǒng)中,模式就是一種狀態(tài),在這種狀態(tài)下,用戶可以完成交互操作中的某些任務(wù)。例如:·命令輸入模式。在命令輸入模式下,只有那些對(duì)當(dāng)前被選擇的對(duì)象來說是可以執(zhí)行的命令才允許執(zhí)行?!?duì)話框模式。在對(duì)話框模式下,只允許填寫對(duì)話框或執(zhí)行對(duì)話框中的命令。輸入模式分有害模式和有用模式兩種。要防止系統(tǒng)進(jìn)入有害模式,因?yàn)楫?dāng)系統(tǒng)進(jìn)入有害模式后,運(yùn)行時(shí)間會(huì)很長(zhǎng),甚至出不來。有害模式?jīng)]有什么用,與任何操作對(duì)象無關(guān),用戶不知道現(xiàn)在是處在何種狀態(tài),不知道如何轉(zhuǎn)到自己希望的模式去。有害模式只能把用戶搞糊涂。有用模式為用戶提供的是簡(jiǎn)單明了的命令集或菜單,提供提示或幫助信息,可以減少用戶的記憶。命令或菜單按某種方式有機(jī)地組織起來。讓用戶用起來得心應(yīng)手。有用模式會(huì)明確地顯示當(dāng)前的狀態(tài),提供反饋信息,顯示當(dāng)前哪些命令可用,有明顯的、簡(jiǎn)單的、快速的方法從一種模式退出來進(jìn)入另一種模式。窗口系統(tǒng)提供了視覺效果好的有用的模式,因?yàn)槊總€(gè)窗口代表一種模式,激活窗口的操作就能從一種模式切換到另一種模式。對(duì)用戶接口的輸入模式產(chǎn)生主要影響的是命令語言的語法。下面介紹三種語法及其相應(yīng)的輸入模式。(1)前綴語法。以下形式的語法為前綴語法:命令,參數(shù)1,參數(shù)2,…,參數(shù)n在前綴語法中,一旦指定了命令名,用戶就被封鎖在這種命令狀態(tài),按指定的順序輸入各個(gè)參數(shù),執(zhí)行命令。這時(shí)的錯(cuò)誤校正機(jī)制非常重要,否則的話,選擇命令的用戶就不得不進(jìn)行可能會(huì)是很長(zhǎng)的參數(shù)輸入。在前綴語法中,可以把參數(shù)從命令中分離出來,先發(fā)出不帶參數(shù)的命令,再輸入任意組參數(shù),達(dá)到一個(gè)命令多次執(zhí)行的目的。例如刪除物體的命令:Delete--object(建立命令模式)object1object2…objectn其他命令(建立另一個(gè)命令模式)Delete--object建立了一個(gè)刪除命令模式,在這種模式下,被選擇的物體都將被刪除,直到建立另一個(gè)命令模式。(2)后綴語法。把前綴語法中的參數(shù)提出來,用設(shè)置參數(shù)的命令在選擇執(zhí)行命令之前預(yù)先設(shè)置參數(shù),這就構(gòu)成了后綴語法。如前綴語法的命令:Draw--line,point,point,line--style,line--thickness可以重構(gòu)為:Set--attributesattribute--values(設(shè)置屬性值,此命令只在當(dāng)前屬性值不合適時(shí)執(zhí)行)Draw--linepoint,point或者更進(jìn)一步:Set--attributesattribute–values (設(shè)置屬性)Select--pointpoint (選擇起點(diǎn))Select--pointpoint (選擇終點(diǎn))Draw–line (畫線)后綴語法在用定位設(shè)備交互時(shí)特別方便,因?yàn)槿藗兞?xí)慣于先指定操作對(duì)象,再確定要做什么。在后綴語法中,當(dāng)前被選對(duì)象這個(gè)概念非常重要,命令總是施加在當(dāng)前被選對(duì)象上,而且對(duì)同一個(gè)當(dāng)前被選對(duì)象,可以執(zhí)行多個(gè)命令。完全不帶參數(shù)的命令并不是最理想的。如在上述的畫線命令中,先指定兩點(diǎn),再告訴系統(tǒng)用直線連起來,這就失去了橡皮筋交互畫線的能力。(3)混合語法。在混合語法中,無論用戶是先發(fā)命令再指定操作對(duì)象,還是先指定操作對(duì)象,再發(fā)命令,都能執(zhí)行命令。如:Set--attributesattribute--values (設(shè)置屬性)Selectobject1 (把屬性值賦給物體1)Set--attributesattribute–values (設(shè)置屬性)Selectobject2 (把屬性值賦給物體2)Selectobject3 (選擇物體3)Set--attributesattribute–values (把屬性值賦給物體3)在上例混合語法中,命令模式和當(dāng)前被選對(duì)象模式是交替的。不能全假設(shè)為當(dāng)前被選對(duì)象模式,否則的話,第二次Set--attributes命令會(huì)對(duì)object1起作用。也不能全假設(shè)為命令模式,否則的話,在第三次Set--attributes命令之后,還要用戶選擇物體對(duì)其賦值,而不是把屬性值賦給object3了。在混合語法中,增加Do--it(執(zhí)行)命令,會(huì)使命令模式和當(dāng)前被選對(duì)象模式之間的切換顯得更加清楚。Select--objectobject (建立當(dāng)前被選對(duì)象)Set--attributesattribute–values (建立命令模式)Do–it (執(zhí)行設(shè)置屬性命令)Copy (建立命令模式)Select--objectobject (建立當(dāng)前被選對(duì)象)Do–it (執(zhí)行拷貝命令)Do–it (再次執(zhí)行拷貝命令)能使語法隨模式的改變而改變是最理想的。例如,在沒有當(dāng)前被選對(duì)象時(shí)發(fā)命令就是前綴語法,而在有當(dāng)前被選對(duì)象時(shí)發(fā)命令就是后綴語法。如:Set--attributesattribute--values(在此之前沒有當(dāng)前被選對(duì)象,則保留屬性,等待選擇對(duì)象)Select--objectobject(選擇對(duì)象后,設(shè)置屬性值)Select--objectobject(在此之前沒有命令,則建立當(dāng)前被選對(duì)象,等待命令)Set--attributesattribute--values(發(fā)命令后設(shè)置屬性值)在這種隨模式改變而改變的語法分析中,必須向用戶反饋當(dāng)前的模式,讓用戶清楚地了解執(zhí)行命令后會(huì)產(chǎn)生什么結(jié)果。有些用戶可能會(huì)被這種交互方式搞糊涂,因?yàn)檫@畢竟是沒有遵守一致性的原則。
6.視覺效果設(shè)計(jì)用戶接口視覺效果設(shè)計(jì)得好與壞,直接影響用戶對(duì)這個(gè)接口的最初印象和使用時(shí)間的長(zhǎng)短。視覺效果設(shè)計(jì)涉及用戶接口的各個(gè)圖形元素,如整個(gè)屏幕的布局、菜單和參數(shù)板的設(shè)計(jì)、顏色的使用、信息編碼和信息布置。好的視覺效果應(yīng)具有簡(jiǎn)單明快、一致、有吸引力等特點(diǎn)。設(shè)計(jì)時(shí)應(yīng)注意以下三點(diǎn):(1)簡(jiǎn)單明快。達(dá)到簡(jiǎn)單明快這一效果的最重要途徑,是對(duì)顯示信息在視覺方面進(jìn)行組織和安排,以加強(qiáng)和強(qiáng)調(diào)它們的潛在邏輯關(guān)系,同時(shí)要減少用戶視線的改變,減少用戶手的運(yùn)動(dòng)。有以下一些視覺規(guī)則,可以用來組織和安排顯示信息:①相似性。具有相同屬性的兩個(gè)視覺刺激應(yīng)歸屬于同一類。②相近性。距離相近的兩個(gè)視覺刺激應(yīng)歸屬于同一類。③封閉性。對(duì)一組幾乎形成一個(gè)封閉域或可以看成是包圍了某個(gè)域的視覺刺激,看成是一個(gè)域。④連續(xù)性。觀察彼此相交的曲線或相互重疊的窗口,能看出每條曲線或每個(gè)窗口。(2)視覺編碼。在用戶接口設(shè)計(jì)中,編碼是指使不同顯示對(duì)象產(chǎn)生視覺差異。計(jì)算機(jī)圖形學(xué)中廣泛使用的編碼技術(shù)有:顏色、形狀、大小或長(zhǎng)度、字樣、方向、亮度、紋理、線寬、線型等。對(duì)一個(gè)特定的編碼技術(shù),確定其編碼等級(jí)是編碼技術(shù)的基本點(diǎn)。碼值越多,用戶越容易對(duì)相鄰的編碼產(chǎn)生混淆。據(jù)統(tǒng)計(jì),最多用10種顏色、15種幾何形狀、6種區(qū)域大小、6種長(zhǎng)度、24種角度的編碼值時(shí),用戶識(shí)別顯示信息的出錯(cuò)率會(huì)降低到5%。對(duì)每個(gè)編碼加注釋,說明其含義,可以降低出錯(cuò)率。在特別重要的場(chǎng)合,往往采用多重編碼的方法,即用兩個(gè)或兩個(gè)以上的編碼方法表示同一個(gè)顯示對(duì)象。顏色編碼通常與其他編碼技術(shù)一同使用,這樣可以照顧有色盲的用戶。除了確定編碼等級(jí),還要了解被編碼的顯示信息是有名信息,有序信息,還是可度量信息。有名信息是指那些可以用指名方式來區(qū)分的信息,它們之間沒有大小的概念;有序信息是指那些有一定順序、有大于或小于關(guān)系的信息,它們之間沒有距離的概念;可度量信息是指那些如溫度、高度、重量、數(shù)量等可以度量的信息。①有名信息的編碼。顏色、亮度、形狀、大小、線型、字樣、剖面圖案等編碼技術(shù)都適合于有名信息。對(duì)于數(shù)量一定的有名信息,如幾何造型系統(tǒng)中的基本體素——正方體、圓柱、圓錐、圓臺(tái)、環(huán)、正多面體,用顏色編碼是最易區(qū)別的。對(duì)于有名信息,編碼是無序的,用戶不能從中推斷出哪個(gè)重要,哪個(gè)不重要。用字樣編碼時(shí),要注意在同一畫面上不能用太多的字樣,一般不多于兩種或三種。②有序信息的編碼。線型、密度可變的填充圖案、字體的大小等編碼技術(shù)適合于有序信息。這些編碼不必連續(xù)改變,但至少必須有一個(gè)顯而易見的順序。③可度量信息的編碼。可度量信息必須由一種可連續(xù)變化的編碼技術(shù)來顯示??潭瘸呱系亩ㄎ稽c(diǎn)、長(zhǎng)短、兩線夾角或線的傾角、面積大小等編碼技術(shù)適合于可度量信息。與視覺編碼很接近的是如何把用戶的注意力吸引到某個(gè)特殊的顯示對(duì)象上。如吸引到出錯(cuò)或警告信息上,吸引到當(dāng)前被拾取的物體上,或吸引到當(dāng)前選擇的命令上。吸引注意力的方法有:用特殊的顏色或形狀、閃爍、反轉(zhuǎn)顯示、光標(biāo)轉(zhuǎn)動(dòng)等。改變顏色比改變形狀、大小、灰度更能吸引用戶
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 4年級(jí)上冊(cè)數(shù)學(xué)人教版說課稿7篇
- 網(wǎng)頁制作案例教程HTML5+CSS3課程設(shè)計(jì)
- 《數(shù)理經(jīng)濟(jì)學(xué)》課程教學(xué)大綱
- 復(fù)習(xí)真題卷04 第6-7單元(解析版)
- DBJ51-T 198-2022 四川省既有民用建筑結(jié)構(gòu)安全隱患排查技術(shù)標(biāo)準(zhǔn)
- 2009年高考語文試卷(全國Ⅱ卷)(解析卷)
- 建筑工程行業(yè)工程測(cè)量培訓(xùn)體會(huì)
- 通信行業(yè)客服工作總結(jié)
- 《色彩的漸變》課件
- 有關(guān)醫(yī)院的實(shí)習(xí)報(bào)告三篇
- GB/T 5130-1997電氣用熱固性樹脂工業(yè)硬質(zhì)層壓板試驗(yàn)方法
- FZ/T 01041-2014絨毛織物絨毛長(zhǎng)度和絨毛高度的測(cè)定
- 《經(jīng)濟(jì)學(xué)導(dǎo)論》考試復(fù)習(xí)題庫(含答案)
- 農(nóng)田水利渠道灌溉與排水課件
- 精品解析浙教版科學(xué) 九年級(jí)上冊(cè) 3.43 簡(jiǎn)單機(jī)械之機(jī)械效率 同步練習(xí)
- 六棱塊護(hù)坡施工方案
- 機(jī)械制圖課件(完整版)
- 夸美紐斯-大教學(xué)論-文本細(xì)讀
- 《行政組織學(xué)小抄》word版
- 日立多聯(lián)機(jī)系統(tǒng)調(diào)試培訓(xùn)教材
- (完整版)環(huán)境科學(xué)與工程-專業(yè)英語詞匯必備(免費(fèi))
評(píng)論
0/150
提交評(píng)論