第四章圖形輸入與交互技術(shù)_第1頁(yè)
第四章圖形輸入與交互技術(shù)_第2頁(yè)
第四章圖形輸入與交互技術(shù)_第3頁(yè)
第四章圖形輸入與交互技術(shù)_第4頁(yè)
第四章圖形輸入與交互技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 根據(jù)圖形輸入信息的不同性質(zhì),GKS和PHIGS把輸入設(shè)備在邏輯上分成以下幾類: 定位設(shè)備(Locator) 描畫設(shè)備(Stroke) 定值設(shè)備(Valuator) 選擇設(shè)備(Choice) 拾取設(shè)備(Pick) 字符串設(shè)備(String) 為了使圖形軟件包獨(dú)立于具體的硬件設(shè)施,圖形輸入命令不涉及具體的輸入設(shè)備,而只涉及該命令所需的數(shù)據(jù)。 4.2.1 概述概述 在交互輸入過程中,常用的控制方式是請(qǐng)求、取樣、事件及其組合形式等4種。 輸入控制的方式取決于程序和輸入設(shè)備之間是如何相互作用的。例如,可用程序來初始化輸入設(shè)備,或者程序與輸入設(shè)備同時(shí)工作,或者由設(shè)備初始化輸入數(shù)據(jù)。 輸入控制方式都可定義

2、相對(duì)應(yīng)的輸入命令,而且圖形交 互系統(tǒng)允許對(duì)每種邏輯設(shè)備執(zhí)行相應(yīng)的輸入操作。例如,可設(shè)置如下命令: set_locator_mode(ws, device_code, input_mode)表4.1 設(shè)備編碼及其類型對(duì)應(yīng)關(guān)系操縱桿 8觸摸屏 4語音輸入器 11按鈕 7光筆 3軌跡球 10刻度盤 6圖形輸入板 2鼠標(biāo)器 9指拇輪 5鍵盤 1物理設(shè)備類型設(shè)備編碼物理設(shè)備類型設(shè)備編碼物理設(shè)備類型設(shè)備編碼4.2.1 概述(續(xù))概述(續(xù)) 4.2.2 請(qǐng)求方式請(qǐng)求方式 在請(qǐng)求方式下,只有輸入設(shè)置命令(或語句)對(duì)相應(yīng)的設(shè)備設(shè)置所需要的輸入方式后,該設(shè)備才能作相應(yīng)的輸入處理。在輸入命令中,每種邏輯設(shè)備所包括的

3、參數(shù)是和輸入數(shù)據(jù)類型有關(guān)的。舉例如: 2. request_stroke(ws, device_code, n, xa, ya) 請(qǐng)求方式下的筆劃輸入命令, 輸入的n個(gè)點(diǎn)的坐標(biāo) 存放在數(shù)組xa和ya中。 request_pick(ws, device_code, segment-id) 應(yīng)用程序中拾取到輸入的圖段 1. request_locator(ws, device_code, x, y) 該命令把定位器置成請(qǐng)求輸入控制方式,其中x、y 用來存儲(chǔ)一個(gè)點(diǎn)的坐標(biāo)值。 4.2.2 請(qǐng)求方式(續(xù))請(qǐng)求方式(續(xù)) 請(qǐng)求方式的工作過程 4.2.3 取樣方式取樣方式 一旦對(duì)一臺(tái)或多臺(tái)設(shè)備設(shè)置了取樣方式

4、,立即就可以進(jìn)行數(shù)據(jù)輸入,而不必等待程序中的輸入語句。 設(shè)置定位設(shè)備為取樣方式的命令是: sample_locator(ws, device_code, x, y)將其他邏輯設(shè)備設(shè)置為取樣方式的命令都與此類似 取樣方式的工作過程 4.2.4 事件方式事件方式 當(dāng)某臺(tái)設(shè)備被設(shè)置成事件方式,程序和設(shè)備將同時(shí)工作。向設(shè)備輸入的數(shù)據(jù)都可存放在一個(gè)事件隊(duì)列或輸入隊(duì)列中。 在應(yīng)用程序中,檢索事件隊(duì)列可用下述命令: await_event(time, device_class, ws, device_code) 當(dāng)用await_event命令使某設(shè)備進(jìn)入事件輸入控制方式, 而且事件隊(duì)列為非空時(shí),隊(duì)列中的第一

5、個(gè)事件就被傳送到 當(dāng)前事件記錄中。 用戶可用下述命令從當(dāng)前事件記錄中得到一個(gè)定位數(shù)據(jù) get_locator(x, y) 4.2.4 事件方式事件方式 (續(xù)) 下述程序用await_event、get_locator命令從1號(hào)工作站的圖形輸入板上輸入一個(gè)點(diǎn)集,并用直線段連接這些點(diǎn)。 set_stroke_mode(1, 2, event); if(device_class=stroke) await_event(60, device_class, ws, device_code); get_stroke(n, xa, ya); polyline(n, xa, ya); 在事件方式下,若只有這臺(tái)

6、圖形輸入板處于激活狀態(tài),那么這個(gè)if條件就不需要了。 4.2.4 事件方式事件方式 (續(xù)) 在事件方式下,可同時(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è)備)do await_event(60, device_class, ws, device_code); if(device_class=choice) get_choice(optio

7、n); et_polyline_index(option); else if(device_class=stroke) get_stroke(n, xa, ya); polyline(n, xa, ya); while(device_class)事件方式的輸入過程 4.2.4 事件方式事件方式 (續(xù))4.2.5 輸入控制方式的混合使用輸入控制方式的混合使用 在此討論一個(gè)在不同輸入控制方式下同時(shí)應(yīng)用各種輸入設(shè)備的情況。操作目的是要拖動(dòng)一個(gè)形體在屏幕上運(yùn)動(dòng),當(dāng)達(dá)到最終位置時(shí),可按動(dòng)特定鍵來終止這種拖動(dòng)。光筆的位置是由取樣方式得到的,按鈕的輸入存放在事件隊(duì)列中 set_locator_mode(1,

8、 3, sample);(把光筆設(shè)成定位設(shè)備)set_choice_mode(1, 7, event);(把按鈕設(shè)成選擇設(shè)備)if(class=choice) (如按過特定按鈕鍵,則停止) else sample_locator(1, 3, x, y); (讀入光筆的位置)(把形體平移到x, y處,并輸出形體,此處這段程序略) await_event(0, class, ws, code); (檢查輸入的事件隊(duì)列) 光筆的位置是由取樣方式得到的,按鈕的輸入存放在事件隊(duì)列中 交互技術(shù)指使用輸入設(shè)備進(jìn)行輸入的技術(shù)。 本節(jié)介紹一些常用的交互技術(shù),這些技術(shù)可作為設(shè)計(jì) 應(yīng)用系統(tǒng)用戶接口的基本要素 4.3

9、.2 橡皮條技術(shù)橡皮條技術(shù)4.3.1 定位技術(shù)定位技術(shù)4.3.3 拖拽技術(shù)拖拽技術(shù) 4.3.5 定值技術(shù)定值技術(shù) 4.3.4 菜單技術(shù)菜單技術(shù) 4.3.7 網(wǎng)格與吸附技術(shù)網(wǎng)格與吸附技術(shù) 4.3.6 拾取技術(shù)拾取技術(shù)4.3.1 定位技術(shù)定位技術(shù)定位是圖形輸入和圖形操作時(shí)常用的輸入操作之一。定位有直接定位和間接定位兩種方式。 鼠標(biāo)等設(shè)備的相對(duì)移動(dòng)控制光標(biāo)定位(異或方式顯示光標(biāo)) 4.3.2 橡皮條技術(shù)橡皮條技術(shù) 定位操作有時(shí)依賴于環(huán)境。例如,在繪圖時(shí),已經(jīng)存在一個(gè)圓C和圓外一點(diǎn)A,現(xiàn)在要確定另外一點(diǎn)B,使兩點(diǎn)連線AB與圓C相切。這種點(diǎn)的確定可通過使用橡皮條技術(shù)而變得容易實(shí)現(xiàn)。用橡皮條技術(shù)定位(顯示

10、線段用異或方式) 4.3.2 橡皮條技術(shù)橡皮條技術(shù)(續(xù)續(xù))橡皮條技術(shù)圖例 4.3.3 拖拽技術(shù)拖拽技術(shù) 拖曳技術(shù)被用于拼裝定位和其他一些操作(如布局操作)中去,以便使工作變得直觀、簡(jiǎn)便、高效。 拖曳一個(gè)二極管符號(hào) 4.3.4 菜單技術(shù)菜單技術(shù) 菜單是一種很重要的交互技術(shù),它可用于指定命令、 確定操作對(duì)象或選定屬性等多中選一的場(chǎng)合。 菜單的層次結(jié)構(gòu)菜單的層次結(jié)構(gòu)(單層次的、多層次的 ) 菜單的表示菜單的表示 (字符串方法、圖符方法和圖像方法 ) 菜單的顯示控制菜單的顯示控制 (固定式、彈出式 ) 菜單的選擇菜單的選擇 菜單可通過多種設(shè)備來選擇,如使用指點(diǎn)設(shè)備直 接選擇、使用方向鍵順序循環(huán)選擇、使

11、用數(shù)字鍵指定 選擇或使用功能鍵對(duì)應(yīng)選擇等。 4.3.5 定值技術(shù)定值技術(shù) 定值輸入用于設(shè)置物體旋轉(zhuǎn)的角度、縮放的比例因子等 刻度尺與比例尺 圓形刻度尺與比例尺 4.3.6 拾取技術(shù)拾取技術(shù) 在圖形系統(tǒng)的許多交互操作中,經(jīng)常需要在一個(gè)分層 的對(duì)象結(jié)構(gòu)或雖不分層但很復(fù)雜的對(duì)象結(jié)構(gòu)中拾取一個(gè)基 本對(duì)象或一些基本對(duì)象的集合,然后對(duì)其施加某種操作 。拾取一個(gè)基本對(duì)象可以通過一些方法來實(shí)現(xiàn) : 指定名稱法 特征點(diǎn)法 外接矩形法 分類法 直接法 4.3.6 拾取技術(shù)拾取技術(shù)(續(xù)續(xù))拾取操作 4.3.7 網(wǎng)格與吸附技術(shù)網(wǎng)格與吸附技術(shù)網(wǎng)格化是繪制整齊、精確圖形的一種技術(shù)。 有時(shí)要從某已有線段上的點(diǎn)或它的頂點(diǎn)開始繪制另一條線段或其他圖形,直接使用定位設(shè)備很難保證選中點(diǎn)的重合性。吸附技術(shù)則可克服這種困難。 帶有引力場(chǎng)的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論