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