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

下載本文檔

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

文檔簡介

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

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

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

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

5、個事件就被傳送到 當前事件記錄中。 用戶可用下述命令從當前事件記錄中得到一個定位數(shù)據(jù) get_locator(x, y) 4.2.4 事件方式事件方式 (續(xù)) 下述程序用await_event、get_locator命令從1號工作站的圖形輸入板上輸入一個點集,并用直線段連接這些點。 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); 在事件方式下,若只有這臺

6、圖形輸入板處于激活狀態(tài),那么這個if條件就不需要了。 4.2.4 事件方式事件方式 (續(xù)) 在事件方式下,可同時應(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è)備)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 輸入控制方式的混合使用輸入控制方式的混合使用 在此討論一個在不同輸入控制方式下同時應(yīng)用各種輸入設(shè)備的情況。操作目的是要拖動一個形體在屏幕上運動,當達到最終位置時,可按動特定鍵來終止這種拖動。光筆的位置是由取樣方式得到的,按鈕的輸入存放在事件隊列中 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); (檢查輸入的事件隊列) 光筆的位置是由取樣方式得到的,按鈕的輸入存放在事件隊列中 交互技術(shù)指使用輸入設(shè)備進行輸入的技術(shù)。 本節(jié)介紹一些常用的交互技術(shù),這些技術(shù)可作為設(shè)計 應(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è)備的相對移動控制光標定位(異或方式顯示光標) 4.3.2 橡皮條技術(shù)橡皮條技術(shù) 定位操作有時依賴于環(huán)境。例如,在繪圖時,已經(jīng)存在一個圓C和圓外一點A,現(xiàn)在要確定另外一點B,使兩點連線AB與圓C相切。這種點的確定可通過使用橡皮條技術(shù)而變得容易實現(xiàn)。用橡皮條技術(shù)定位(顯示

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

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

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論