背景技術(shù):
交互設(shè)備和系統(tǒng)現(xiàn)今繼續(xù)扮演重要的角色。這些設(shè)備和系統(tǒng)中的一些可以顯示三維(“3d”)虛擬對象(也稱作3d可視化圖(visualization))。組織和個人在各種區(qū)域中并且對于不同的應(yīng)用有規(guī)則地使用不同類型的交互設(shè)備和系統(tǒng)。
附圖說明
圖1是根據(jù)本公開的實施方式的示例交互系統(tǒng)的示意性圖示。
圖2示出了根據(jù)本公開的實施方式的示出用于操作交互系統(tǒng)的方法的示例的流程圖。
圖3示出了根據(jù)本公開的示例實施方式的示出用于確定用戶的注意力投入水平的方法的示例的流程圖。
圖4示出了根據(jù)本公開的示例實施方式的示出用于確定用戶的關(guān)于計算設(shè)備的姿態(tài)的方法的示例的流程圖。
圖5示出了根據(jù)本公開的示例實施方式的選擇單個3d可視化圖的動作的示例。
圖6示出了根據(jù)本公開的示例實施方式的選擇多個3d可視化圖的動作的示例。
圖7和圖8示出了根據(jù)本公開的示例實施方式的選擇3d可視化圖的范圍的動作的示例。
圖9和圖10示出了根據(jù)本公開的示例實施方式的創(chuàng)建3d可視化圖的輪廓并限定3d可視化圖的體積的動作的示例。
圖11示出了根據(jù)本公開的示例實施方式的測量與3d可視化圖有關(guān)的特性的動作的示例。
圖12示出了根據(jù)本公開的示例實施方式的將3d可視化圖切片的動作的示例。
圖13和圖14分別示出了根據(jù)本公開的示例實施方式的存儲3d可視化圖的動作和調(diào)取3d可視化圖的動作的示例。
圖15是示出了根據(jù)本公開的實施方式的計算機(jī)可讀介質(zhì)的示例框圖。
具體實施方式
如上面指出的,隨著最近的技術(shù)改進(jìn),交互設(shè)備和系統(tǒng)(即,可以顯示可視對象并且允許用戶交互的設(shè)備和系統(tǒng))在所有產(chǎn)業(yè)中變得越來越流行。交互設(shè)備和系統(tǒng)具有不同尺寸、形式,并且可以包括不同的技術(shù)特征。不同的用戶信賴不同類型的交互設(shè)備或系統(tǒng)來用于許多日常的活動和工作有關(guān)的任務(wù)。如在本文使用的,術(shù)語“用戶”指的是任何類型的個人、組織、群組、商戶或者可能需要操作交互設(shè)備或系統(tǒng)或與交互設(shè)備或系統(tǒng)進(jìn)行通信的任何其他方。
由于各種電子設(shè)備的激增,交互系統(tǒng)的技術(shù)能力連續(xù)地改變和提高。這些設(shè)備和系統(tǒng)中的一些可以能夠顯示3d可視化圖(也稱作虛擬對象)。如在本文使用的,術(shù)語“3d可視化圖”和“虛擬對象”將被可交換地使用并且指的是可以被顯示和觀看的任何類型的3d圖像或3d成形。在一些示例中,這些3d可視化圖可以包括以交互式形式表示的不同類型的數(shù)據(jù)。結(jié)果是,這些交互設(shè)備和系統(tǒng)可以被組織、商戶或個人用戶廣泛地使用。
關(guān)于可用的3d交互設(shè)備和系統(tǒng)的一個問題是它們可能無法給用戶提供與3d可視化圖進(jìn)行通信或交互的準(zhǔn)確且有效的方式。在一些情形中,用于操作這些系統(tǒng)并且與3d虛擬對象連接的現(xiàn)有系統(tǒng)和技術(shù)是復(fù)雜且麻煩的。例如,交互系統(tǒng)可以使用在與3d虛擬對象交互時難以操作的常規(guī)的輸入源(例如,鼠標(biāo)、鍵盤等)。此外,現(xiàn)有系統(tǒng)不能自動地適應(yīng)于用戶的行為,并且可能花費很長時間來在不同的交互模式之間切換。如在本文使用的,術(shù)語“交互模式”指的是用于在交互系統(tǒng)中操作或操縱3d對象的不同的方法,包括但不限于:導(dǎo)航、選擇、指向、過濾、縮放、存儲、定量測量、詢問、歷史路徑、注釋等。例如,交互模式可以限定交互系統(tǒng)應(yīng)該關(guān)于與由系統(tǒng)顯示的3d對象交互而預(yù)期和執(zhí)行的命令。
由于在以上描述的阻礙,操作這樣的系統(tǒng)并且與3d對象交互的學(xué)習(xí)曲線可以顯著地延長,并且這使這些系統(tǒng)對于用戶而言較不理想,另外,使用按鈕或其他開關(guān)來改變交互模式花費時間、努力,并且使系統(tǒng)的操作慢下來。因此,期望用于與3d可視化圖交互的改善的3d系統(tǒng)和技術(shù)。這些系統(tǒng)可以適應(yīng)于用戶的行為和意圖并且可以提供更透明且直觀的方式以用于在3d空間中導(dǎo)航并且在這些虛擬空間中操縱3d對象。這將增加對這樣的交互系統(tǒng)的效力、效率和用戶滿意度。
本說明書涉及一種改善的解決方案,其自動地適應(yīng)于用戶的行為,并且,因此允許與3d可視化圖的更好且更高效的交互。在一個示例中,系統(tǒng)可以包括顯示3d虛擬對象的3d顯示器、具有觸摸面板(例如,多點觸摸顯示器)的計算設(shè)備(例如,平板電腦)以及連接到計算設(shè)備的多個傳感器。如在本文使用的,術(shù)語“計算設(shè)備”指的是各種個人計算機(jī)、打印機(jī)、智能電話、可穿戴的電子設(shè)備、顯示屏、平板電腦、個人數(shù)據(jù)助理(pda)、膝上型計算機(jī)、服務(wù)器以及包括處理器、顯示器和多個傳感器的其他類似的電子設(shè)備中的任何一個。
在一個示例中,系統(tǒng)的處理器可以:確定系統(tǒng)的用戶的注意力投入水平,確定用戶的關(guān)于計算設(shè)備的姿態(tài)(即,用戶的手如何握住計算設(shè)備),并且基于用戶的注意力投入水平和用戶的姿態(tài)來確定用戶的關(guān)于3d虛擬對象的意圖。處理器然后可以基于識別的用戶意圖將系統(tǒng)轉(zhuǎn)變到交互模式。此外,處理器可以基于識別的用戶手勢和選擇的交互模式執(zhí)行關(guān)于至少一個3d虛擬對象的動作(例如,選擇、數(shù)據(jù)測量等)。
因而,所提出的系統(tǒng)中的元件的組合可以允許系統(tǒng)評估用戶的意圖(即,未來行為),基于意圖導(dǎo)航到合適的交互模式,并執(zhí)行期望的動作以操縱3d可視化圖。系統(tǒng)可以適應(yīng)于用戶的行為并且可以根據(jù)當(dāng)前使用情境來切換其交互模式,而不需要使用在不同的交互模式之間切換的按鈕。
3d顯示器與計算設(shè)備、多點觸摸面板、多個傳感器和用戶的手勢的運動結(jié)合而創(chuàng)建數(shù)字與虛擬世界之間的無縫環(huán)境,并且實現(xiàn)自然交互。所提出的系統(tǒng)實現(xiàn)與3d可視化圖交互的直觀方式。物理3d交互空間直接地被映射至立體3d虛擬世界。
在以下詳細(xì)描述中,對附圖進(jìn)行參考,附圖形成本文的一部分,并且其中通過圖示來示出可以實踐所公開的主題的特定示例。將會理解的是,可以利用其他示例,并且可以在不背離本公開的范圍的情況下進(jìn)行結(jié)構(gòu)或邏輯改變。因此,不以限制性意義進(jìn)行以下詳細(xì)描述,并且由所附權(quán)利要求來限定本公開的范圍。此外,將會理解的是,在本文使用的措辭和術(shù)語是為了描述的目的并且不應(yīng)該被認(rèn)為進(jìn)行限制。在本文“包括”、“包含”或“具有”及其變化的使用意味著包含此后列出的項及其等同物以及附加項。此外,如在本文所使用的術(shù)語“基于”意指“至少部分地基于”。也應(yīng)注意,多個基于硬件和軟件的設(shè)備以及多個不同的結(jié)構(gòu)組件可以用于實施所公開的方法和設(shè)備。
現(xiàn)在參考各圖,圖1是示例交互系統(tǒng)5的示意性圖示。所圖示的系統(tǒng)5能夠執(zhí)行如下所述的技術(shù)。如圖1中所示,系統(tǒng)5被描繪為包括3d顯示器10(例如,立體顯示器)和輔助計算設(shè)備15。
3d顯示器10可以顯示能夠包括任何類型的3d對象(例如,數(shù)據(jù)、文本、媒體等)的至少一個3d可視化圖(未示出)。在一個示例中,可以在3d顯示器10的物理表面或屏幕(未示出)上示出3d對象。在另一個示例中,3d對象可以浮動出現(xiàn)在3d顯示器10的周圍(例如,在前面、在背面、在上面、在側(cè)面等)所限定的3d空間(未示出)中。
在一種實施方式中,計算設(shè)備15可以是便攜式計算設(shè)備(例如,平板電腦、膝上型計算機(jī)、智能電話、個人數(shù)字助理(pda)等)。在一些示例中,系統(tǒng)5可以涉及多個用戶,其中每個用戶“帶來”單獨的計算設(shè)備用于同時或單獨與3d顯示器10交互。
計算設(shè)備15可以包括至少一個處理器30、存儲器35、多個引擎39-42、輸入接口45、通信接口50、多個傳感器56和多點觸摸顯示面板58。在另一種實施方式中,計算設(shè)備15可以是個人計算機(jī)、多合一計算設(shè)備、游戲控制臺、服務(wù)器、可視播放機(jī)、電子記事本、多個分布式計算設(shè)備或者包括處理器、多個傳感器和多點觸摸顯示器的任何其它適當(dāng)?shù)挠嬎阍O(shè)備。在計算設(shè)備15不是便攜式設(shè)備的實施方式中,多個傳感器(例如,慣性傳感器)可以附接到系統(tǒng)5的用戶的手。
在其他的示例中,在不背離允許執(zhí)行在本文描述的功能的系統(tǒng)的范圍的情況下,計算設(shè)備15可以包括附加的組件,并且可以移除和/或修改在其中描繪的組件中的一些。將會理解的是,在一些實施方式中,涉及該說明書的被描述為由計算設(shè)備15的處理器30執(zhí)行的操作可以由3d顯示器10中的處理器、外部處理器(未示出)來執(zhí)行或者被分布在計算設(shè)備15與其他電子設(shè)備/計算設(shè)備(未示出)之間。
如以下更加詳細(xì)地解釋的,計算設(shè)備15可以包括被配置為實現(xiàn)計算設(shè)備15的功能并允許其執(zhí)行如下所述的技術(shù)并且與一個或多個系統(tǒng)或設(shè)備交互的軟件、硬件或者其適當(dāng)?shù)慕M合。計算設(shè)備15可以包括用于與其他設(shè)備/系統(tǒng)和/或與網(wǎng)絡(luò)(未示出)連接的通信接口(例如,
計算設(shè)備15的處理器30(例如,中央處理單元、分布式處理器的組、微處理器、微控制器、專用集成電路(asic)、圖形處理器、多處理器、虛擬處理機(jī)、云處理系統(tǒng)或者另一適當(dāng)?shù)目刂破骰蚩删幊淘O(shè)備)、存儲器35、引擎39-42、輸入接口45、通信接口50、多個傳感器56和多點觸摸顯示面板58可以操作地聯(lián)接到總線55。處理器30可以是適合于調(diào)取和執(zhí)行存儲在機(jī)器可讀存儲介質(zhì)37中的指令。處理器30能夠包括一個芯片上的單個核或多個核、跨多個芯片的多個核、跨多個設(shè)備的多個核或者其組合。處理器30可以包括至少一個控制器33并且可以使用至少一個處理器執(zhí)行存儲在存儲器35中的計算機(jī)可讀指令的任何適當(dāng)類型的處理系統(tǒng)來實施。
通信接口50可以允許計算設(shè)備15與多個網(wǎng)絡(luò)、通信鏈路和外部設(shè)備進(jìn)行通信。輸入接口45可以從與計算設(shè)備15進(jìn)行通信的設(shè)備/系統(tǒng)接收信息。在一個示例中,輸入接口45至少包括可以從任何外部設(shè)備或系統(tǒng)接收數(shù)據(jù)的數(shù)據(jù)接口60。
存儲器35可以包括任何適當(dāng)類型、數(shù)量和配置的易失性或非暫時性機(jī)器可讀存儲介質(zhì)37以存儲指令和數(shù)據(jù)。存儲器35中的機(jī)器可讀存儲介質(zhì)37的示例包括只讀存儲器(“rom”)、隨機(jī)存取存儲器(“ram”)(例如,動態(tài)ram[“dram”]、同步dram[“sdram”]等)、電可擦可編程只讀存儲器(“eeprom”)、磁阻隨機(jī)存取存儲器(mram)、憶阻器、閃速存儲器、sd卡、軟盤、只讀存儲型光盤(cd-rom)、數(shù)字視頻光盤只讀存儲器(dvd-rom)以及可以存儲軟件的其它適當(dāng)?shù)拇判?、光學(xué)、物理或者電子存儲器。存儲器35也可以用于在由處理器30執(zhí)行指令期間存儲臨時變量或其他中間信息。
計算設(shè)備15可以包括各個引擎39-42。引擎39-42中的每個例如可以包括包含用于實施如下所述的功能的電子電路(諸如控制邏輯和/或存儲器)的至少一個硬件設(shè)備。另外或作為替代,引擎39-42可以被實施為硬件和軟件的任何組合以實施引擎的功能。例如,硬件可以是處理器,并且軟件可以是在機(jī)器可讀存儲介質(zhì)上編碼并且可由處理器執(zhí)行的一系列指令或微碼。因此,如在本文所使用的,引擎可以包括例如計算機(jī)可執(zhí)行指令的程序代碼、硬件、固件和/或邏輯或者其組合以執(zhí)行在本文關(guān)于圖2-圖15更詳細(xì)地描述的特定動作、任務(wù)和功能。
行為分析引擎39可以通過使用來自多個傳感器56的數(shù)據(jù)來執(zhí)行用戶的行為分析。例如,行為分析引擎39可以從傳感器56接收數(shù)據(jù)并且處理數(shù)據(jù)以評估用戶的行為。在一個示例中,行為分析引擎39可以確定用戶的注意力投入水平(即,用戶如何占用系統(tǒng)5的元件)和用戶的關(guān)于輔助計算設(shè)備15的姿態(tài)(即,用戶的手如何握住設(shè)備15)。如以下更加詳細(xì)地解釋的,來自行為分析引擎39的結(jié)果可以用于確定系統(tǒng)5的交互模式(即,系統(tǒng)應(yīng)該期望什么命令以及此刻應(yīng)該執(zhí)行什么動作)。
在一個示例中,意圖分析引擎40可以基于用戶的注意力投入水平和用戶的姿態(tài)來確定用戶的關(guān)于至少一個3d可視化圖的意圖。例如,根據(jù)由行為分析引擎39檢測到的用戶的行為,系統(tǒng)可以確定什么是用戶的關(guān)于3d對象的意圖(例如,用戶將要探索對象,選擇對象,測量距離等)。交互模式引擎41可以基于識別的用戶意圖自動地將系統(tǒng)5調(diào)整到交互模式。例如,系統(tǒng)5可以適于用戶的預(yù)測行為(例如,調(diào)整視點、設(shè)置等)。
可視化圖動作引擎42可以基于選擇的交互模式和檢測到的用戶手勢來實施關(guān)于至少一個3d可視化圖的動作(例如,選擇、導(dǎo)航等)。在一個示例中,系統(tǒng)可以辨識通過手勢所提供的用戶輸入,并且可以基于手勢和先前選擇的交互模式來執(zhí)行特定動作。
多個傳感器56可以包括限定計算設(shè)備15周圍的手勢交互空間(未示出)的不同類型的傳感器。在一個示例中,傳感器可以包括位于計算設(shè)備15上的至少一個光學(xué)深度傳感器(例如,立體聲相關(guān)器、結(jié)構(gòu)光、飛行時間技術(shù)等)以用于從設(shè)備15周圍的環(huán)境掃描或收集信息。光學(xué)深度傳感器可以協(xié)助辨識計算設(shè)備的位置并且識別用戶的各種手勢。在一些實施方式中(例如,當(dāng)設(shè)備15太薄并且不能容納傳感器時),系統(tǒng)5可以包括可附接到計算設(shè)備15的可移除的套(jacket)(未示出)以包括光學(xué)深度傳感器。可移除的套可以具有與計算設(shè)備15合適的任何形式或尺寸。
另外,系統(tǒng)5可以包括位于計算設(shè)備15上的至少一個無源光學(xué)傳感器(例如,照相機(jī)等)以用于從設(shè)備15周圍的環(huán)境掃描或收集信息。無源光學(xué)傳感器可以提供用戶的視覺反饋(例如,眼睛、頭部檢測等)。系統(tǒng)5還可以包括位于計算設(shè)備15上的多個慣性傳感器(例如,加速度計、陀螺傳感器、磁力計等),其可以(例如通過設(shè)備15的定向/角度)辨識計算設(shè)備的移動和位置以及用戶的手位置。
顯示面板58可以是lcd(液晶顯示器)、oled(有機(jī)發(fā)光二極管顯示器)或另一種類型的顯示器。在一個示例中,顯示器58可以是能夠由用戶通過簡單的手勢或多點觸摸手勢所控制的多點觸摸顯示器。顯示器58可以包括可以用于檢測觸敏顯示器上的觸摸的任何適當(dāng)?shù)挠|敏顯示技術(shù)。在一些實施方式中,顯示器58可以包括附接到計算設(shè)備15的頂面并且覆蓋多點觸摸顯示器的棱鏡膜(例如,用于裸眼式操作)和偏振膜(與無源光學(xué)鏡片一起使用)中的至少一個。在一些示例中,可以將膜添加到計算設(shè)備15的套。使棱鏡膜或偏振膜位于顯示器58上可以允許用戶在計算設(shè)備15上觀看3d可視化圖并且將這些3d可視化圖移動到3d顯示器10。
圖2示出了示出用于操作交互系統(tǒng)的方法100的示例的流程圖。盡管以下參考系統(tǒng)5來描述方法100的執(zhí)行,但用于執(zhí)行方法100的組件可以散布在多個設(shè)備之中??梢砸源鎯υ谥T如存儲介質(zhì)37的機(jī)器可讀存儲介質(zhì)上的可執(zhí)行指令的形式和/或電子電路的形式來實施方法100。
在一個示例中,方法100能夠由計算設(shè)備15的處理器30執(zhí)行。在其他的示例中,該方法可以由3d顯示器10上的處理器或者與系統(tǒng)5進(jìn)行通信的另一處理器執(zhí)行。關(guān)于方法100在本文描述的各種要素或框能夠同時地、并行地或以不同于所圖示的執(zhí)行的串行方式的次序被執(zhí)行。方法100也能夠使用與所圖示的示例中示出的相比附加的或較少的要素被執(zhí)行。
方法100開始于110,其中處理器30可以確定系統(tǒng)5的用戶的注意力投入水平。在一個示例中,注意力投入水平可以是指示用戶的關(guān)于系統(tǒng)5的元件的投入的實數(shù)。
圖3示出了示出用于確定用戶的注意力投入水平的方法200的示例的流程圖。在一個示例中,方法200能夠由計算設(shè)備15的處理器30執(zhí)行??蛇x地,用于執(zhí)行方法200的組件可以散布在多個設(shè)備之中。
方法200開始于210,其中處理器30可以通過使用來自光學(xué)深度傳感器和無源光學(xué)傳感器中的至少一個的數(shù)據(jù)來執(zhí)行用戶的面部分析。例如,基于接收的數(shù)據(jù),處理器可以識別用戶的臉的位置、定向等。在220,處理器可以通過使用至少來自無源光學(xué)傳感器的數(shù)據(jù)來執(zhí)行用戶的眼睛注視分析。例如,基于接收的數(shù)據(jù),處理器可以識別用戶的眼睛的位置、定向等。因而,系統(tǒng)5可以使用來自光學(xué)深度傳感器和/或無源光學(xué)傳感器的數(shù)據(jù)以分析用戶的臉和眼睛注視,使得系統(tǒng)5了解用戶如何查看系統(tǒng)的元件。
接下來,處理器30可以通過使用至少來自無源光學(xué)傳感器的數(shù)據(jù)來執(zhí)行用戶的投入評估以確定用戶是否專注于系統(tǒng)5(在230)??梢詫碜栽搨鞲衅骱推渌麄鞲衅鞯臄?shù)據(jù)進(jìn)行分析以確認(rèn)用戶占用系統(tǒng)5的元件(即,3d顯示器、計算設(shè)備、3d對象等)。在240,處理器30通過使用至少來自多個慣性傳感器、無源光學(xué)傳感器和光學(xué)深度傳感器的數(shù)據(jù)來執(zhí)行用戶的專注分析以確定用戶是否專注于輔助計算設(shè)備以及觸摸面板/顯示器是否被占用(例如通過分析來自顯示器的輸入)。例如,系統(tǒng)5分析來自這些傳感器的數(shù)據(jù)以確定用戶是否查看計算設(shè)備15以及設(shè)備15是否未被廣泛地放棄(即,其可以指示用戶可以不專注于設(shè)備)。
繼續(xù)參考圖2,處理器30可以確定用戶的關(guān)于計算設(shè)備的姿態(tài)(在120)。在一個示例中,用戶的姿態(tài)可以指示用戶的手如何握住系統(tǒng)5的計算設(shè)備15。
圖4示出了示出用于確定用戶的關(guān)于計算設(shè)備15的姿態(tài)的方法300的示例的流程圖。在一個示例中,方法300能夠由計算設(shè)備15的處理器30執(zhí)行。可選地,用于執(zhí)行方法200的組件可以散布在多個設(shè)備之中。
方法300開始于310,其中處理器可以評估至少來自多個慣性傳感器的數(shù)據(jù)以識別用戶的空閑的手的數(shù)量。例如,處理器可以關(guān)于穩(wěn)定性閾值而分析接收的數(shù)據(jù)以識別被輔助計算設(shè)備15占據(jù)的用戶手的數(shù)量(例如,一只或兩只手)。在320,處理器30可以評估至少來自多個慣性傳感器、無源光學(xué)傳感器、光學(xué)深度傳感器和觸摸面板的數(shù)據(jù)以檢測計算設(shè)備的移動和用戶的手的移動。例如,處理器可以關(guān)于附近閾值而分析接收的數(shù)據(jù)以確定什么是設(shè)備15的當(dāng)前移動(例如,是被握住的設(shè)備、是位于表面上的設(shè)備等)以及用戶的手(例如,一只手握住設(shè)備15、另一只手指向3d對象、兩只手都握住設(shè)備15等)。
在330,處理器30可以評估至少來自光學(xué)深度傳感器、觸摸面板和多個慣性傳感器的數(shù)據(jù)以提取包括至少用戶專注分析數(shù)據(jù)和用戶手位置的多個特征。在一個示例中,用戶專注分析數(shù)據(jù)可以是在方法200的框240識別的數(shù)據(jù)(即,用戶是否專注于計算設(shè)備15以及觸摸面板是否被占用)。此外,用戶手位置可以基于來自光學(xué)深度傳感器和觸摸面板58的數(shù)據(jù)來識別用戶的特定手位置(例如,拳頭、指向、“ok”標(biāo)記、扁平手等)。
接下來,在340,處理器可以基于用戶的空閑的手的數(shù)量(或空閑的手的數(shù)量)、計算設(shè)備的移動、用戶的手的移動、用戶的專注分析數(shù)據(jù)和用戶的手位置來將用戶的關(guān)于計算設(shè)備的姿態(tài)分類。例如,處理器使用可用數(shù)據(jù)以識別用戶如何握住設(shè)備15(例如,通過兩只手握住、通過一只手在邊緣握住、通過一只手在底部握住、不握住設(shè)備,并且兩只手都空閑等)。
繼續(xù)參考圖2,處理器可以基于用戶的注意力投入水平和用戶的姿態(tài)來確定用戶的關(guān)于3d虛擬對象的意圖(在130)。在一個示例中,基于用戶的行為(即,關(guān)于系統(tǒng)5的投入的水平以及關(guān)于設(shè)備15的姿態(tài)),處理器30可以確定什么是用戶的關(guān)于3d對象的意圖(例如,用戶意圖選擇對象、觀看對象等)。
接下來,在140,處理器可以基于識別的用戶意圖來自動地將系統(tǒng)轉(zhuǎn)變到交互模式。在一個示例中,處理器可以基于用戶意圖來自動地將系統(tǒng)5調(diào)整到特定交互模式。通過該方式,系統(tǒng)5可以迅速地適應(yīng)于用戶的預(yù)測行為,這使得系統(tǒng)自我直覺并且對用戶更具吸引力。
系統(tǒng)5可以實施與由系統(tǒng)顯示的3d對象有關(guān)的各種交互模式:導(dǎo)航、選擇、指向、過濾、縮放、存儲、定量測量、詢問、歷史路徑、注釋等。交互模式的以下列表僅僅表示不同的模式的示例并且將不被視為能夠由系統(tǒng)實施的所有交互模式的完整列表。
在一個示例中,處理器30可以將系統(tǒng)轉(zhuǎn)變到以下交互模式之一:a)選擇模式,通過使用計算設(shè)備15選擇至少一個3d可視化圖;b)導(dǎo)航模式,通過使用計算設(shè)備15導(dǎo)航至少一個3d可視化圖;c)切片和詳情模式,創(chuàng)建至少一個3d可視化圖的虛擬切片平面以生成切片的可視化圖;d)存儲和調(diào)取模式,將至少一個3d可視化圖存儲在計算設(shè)備15上并且從計算設(shè)備15調(diào)取至少一個3d可視化圖以用于將其顯示在3d顯示器10上;e)測量模式,測量至少一個3d可視化圖的元素或多個3d可視化圖之間的距離。
在處理器30基于識別的用戶意圖將系統(tǒng)5轉(zhuǎn)變到交互模式之后,處理器可以基于識別的用戶手勢和選擇的交互模式執(zhí)行關(guān)于至少一個3d虛擬對象的動作。在一個示例中,處理器30可以辨識通過不同的手勢所提供的用戶輸入,并且可以基于手勢和先前選擇的交互模式來執(zhí)行關(guān)于3d對象的特定動作(例如,將3d對象的一部分切片、指向?qū)ο蟮?。
圖5示出了在系統(tǒng)5中選擇單個3d可視化圖405的動作的示例。在一個示例中,圖5示出了在3d顯示器(未示出)上顯示的3d可視化圖405和用戶的手407。當(dāng)系統(tǒng)5處于選擇交互模式(其在先前被處理器30選擇)時,可視化圖動作引擎42用于:檢測用戶的手407的指向手勢412,檢測食指與3d可視化圖405之間的第一線408,檢測拇指與3d可視化圖405之間的第二線409,計算第一線408與第二線409之間的角度,并且選擇3d可視化圖405。在一些示例中,線408與409之間的角度可以是發(fā)散角、零角或者收斂角。
線408與409之間的發(fā)散角和零角可以意指從拇指起的線409和從食指起的線408可能永遠(yuǎn)不會交叉,并且,因此用戶可能沒有意圖選擇3d對象405。那樣的話,處理器30可能無法選擇3d對象405。如果線408與409之間的角度是收斂角,則這可以意指在兩條線之間存在交叉點(假定它們處于同一平面中)。在那種情況下,處理器30可以選擇3d對象405以進(jìn)行進(jìn)一步動作。與所選擇的交互模式結(jié)合的該自然手勢使拇指尖與食指尖之間的空隙逐漸地變窄,這增加收斂角并且縮短選擇點的深度。
圖6示出了選擇在3d顯示器(未示出)上顯示的多個3d可視化圖405a-c的動作的示例。當(dāng)系統(tǒng)5處于選擇交互模式(其在先前被處理器30選擇)時,可視化圖動作引擎42用于:檢測用戶的手407的指向手勢413,檢測手指在空間中的移動414(例如,套索移動等)、將多個3d可視化圖405a-c連接的移動,并且選擇多個3d可視化圖405a-c。因此,因為用戶專注于3d顯示器10并且系統(tǒng)5已經(jīng)處于選擇交互模式,所以處理器30“預(yù)期”來自用戶的選擇動作并且能夠容易地識別用戶的多個對象選擇動作。
圖7和圖8示出了選擇3d可視化圖的范圍的動作的示例。在所圖示的示例中,計算設(shè)備15可以位于表面(未示出)上,使得用戶的兩只手407都是空閑的。用戶能夠看見3d顯示器10(未示出)上的3d可視化圖(未示出)。當(dāng)系統(tǒng)5處于選擇交互模式(其在先前被處理器30選擇)時,可視化圖動作引擎42用于:檢測用于限定或創(chuàng)建3d虛擬對象417(例如,球體、邊界框等)的用戶的手407的限定手勢415/416(分別在圖7和圖8中示出),并且選擇3d可視化圖的范圍或者虛擬對象417內(nèi)的一個3d對象的區(qū)域。
在一個示例中,虛擬對象417反映用戶的手407之間的距離。用戶的手之間的距離可以對應(yīng)于被選擇的3d可視化圖的區(qū)域或范圍。因此,因為用戶專注于3d顯示器10并且系統(tǒng)5已經(jīng)處于選擇交互模式,所以處理器30“預(yù)期”來自用戶的選擇動作并且能夠容易地識別用戶的過濾動作。
圖9和圖10示出了創(chuàng)建3d可視化圖的輪廓并限定3d可視化圖的體積的動作的示例。在一個示例中,可視化圖動作引擎42可以基于用戶的至少一個手勢在多點觸摸顯示器上創(chuàng)建3d可視化圖的輪廓。當(dāng)系統(tǒng)5處于選擇交互模式(其在先前被處理器30選擇)時,可視化圖動作引擎42用于:檢測設(shè)備15的多點觸摸顯示器58上的用于創(chuàng)建3d可視化圖的輪廓413的用戶的手407的繪制手勢418(見圖9),檢測用戶的手407的向上垂直移動手勢419(見圖10),并且在3d空間中擴(kuò)展3d可視化圖的輪廓413以限定3d可視化圖的體積。因此,當(dāng)用戶專注于計算設(shè)備15(即,用一只手將其握住并且具有一個可用的手)并且系統(tǒng)5已經(jīng)處于選擇交互模式時,用戶能夠繪制輪廓413并且使用向上手勢來限定輪廓的3d范圍或體積。
圖11示出了測量與3d可視化圖405有關(guān)的特性的動作的示例。在一些實施方式中,系統(tǒng)可以測量3d可視化圖的元素或多個3d可視化圖之間的距離。在一個示例中,當(dāng)系統(tǒng)5處于測量交互模式(其在先前被處理器30選擇)時,可視化圖動作引擎42用于檢測第一手勢(未示出)以選擇3d可視化圖405。這可以是用戶的手407的一個手勢(例如,用用戶的手的不同的手指指向多個3d對象)或多個連續(xù)的手勢(例如,利用食指有選擇地指向多個3d對象)。可視化圖動作引擎42進(jìn)一步檢測用于創(chuàng)建用于在選擇3d對象的集之后比較虛擬空間中的3d可視化圖的參考平面420的第二手勢422,并且計算3d可視化圖的測量值。在一種實施方式中,可以基于3d對象之間的距離425、對象的形式等來計算3d可視化圖的測量值。
在一個示例中,用戶可以應(yīng)用手勢來測量與3d對象405的總體積、3d對象405之間的距離、3d對象之間的角度有關(guān)的特性,或者測量與3d可視化圖405有關(guān)的任何其他特性。因此,所提出的系統(tǒng)5允許直接在三維空間中進(jìn)行3d可視化圖的測量。系統(tǒng)確定3d對象的位置,基于用戶的行為切換到測量交互模式,檢測用戶的關(guān)于期望的測量的手勢,并且成功地測量3d對象的期望的特性。在初始測量之后,用戶可以使用附加的手勢來標(biāo)記3d對象的虛擬位置以用于進(jìn)一步比較和測量。
圖12示出了根據(jù)本公開的示例實施方式的將3d可視化圖405切片的動作的示例。在一個示例中,當(dāng)系統(tǒng)5處于片和詳情交互模式(其在先前被處理器30選擇)時,可視化圖動作引擎42用于檢測用于將3d可視化圖405切片的手勢427。這可以是用戶的手407的一個切片手勢或多個連續(xù)的切片手勢。可視化圖動作引擎42進(jìn)一步創(chuàng)建至少一個3d可視化圖的虛擬切片平面430以創(chuàng)建切片的可視化圖435。
例如,處理器30可以使用算法來找出所選擇的3d可視化圖的構(gòu)架,并且因此,用戶可以沿著3d可視化圖的軸將該部分切片以獲取細(xì)節(jié)(例如,當(dāng)3d可視化圖表示數(shù)據(jù)時的特定數(shù)據(jù))。在其他的示例中,用戶可以是專注于3d顯示器15并且可以具有兩只可用的手。在該情形中,用戶能夠使用兩個手勢來限定自定義軸。此外,用戶能夠使用限定用于將3d對象切片的范圍的兩個手勢,諸如圖7和圖8中的手勢。
圖13和圖14分別示出了存儲3d可視化圖的動作和調(diào)取3d可視化圖的動作的示例。圖13和圖14示出3d可視化圖405、用戶的手407、3d顯示器10以及計算設(shè)備15。參考圖13,在一個示例中,當(dāng)系統(tǒng)5處于存儲和調(diào)取模式(其在先前被處理器30選擇)時,可視化圖動作引擎42用于:檢測在3d空間中選擇3d可視化圖405的第一手勢443,并且檢測將3d可視化圖移動到多點觸摸顯示器58的第二手勢445??梢暬瘓D動作引擎42進(jìn)一步將3d可視化圖405保存到設(shè)備15以便存儲3d可視化圖405。存儲的3d可視化圖405可以容易地被用戶訪問和/或傳遞。
參考圖14,在另一個示例中,當(dāng)系統(tǒng)5處于存儲和調(diào)取模式(其在先前被處理器30選擇)時,可視化圖動作引擎42用于:檢測用于在輔助計算設(shè)備15的顯示器58上選擇3d可視化圖的輪廓450的第一手勢(未示出),檢測用于從輔助設(shè)備15移動3d可視化圖的第二手勢455,并且將3d可視化圖傳遞到3d空間中。
圖15示出了根據(jù)示例的計算機(jī)501和非暫時性機(jī)器可讀介質(zhì)505。在一個示例中,計算機(jī)501可能類似于系統(tǒng)5的計算設(shè)備15或可以包括多個計算機(jī)。例如,計算機(jī)可以是服務(wù)器計算機(jī)、工作站計算機(jī)、臺式計算機(jī)、膝上型計算機(jī)、移動設(shè)備等,并且可以是分布式系統(tǒng)的一部分。計算機(jī)可以包括一個或多個控制器和一個或多個機(jī)器可讀存儲介質(zhì)。在一個示例中,計算機(jī)可以包括用戶接口(例如,觸摸接口、鼠標(biāo)、鍵盤、手勢輸入設(shè)備等)。
計算機(jī)501可以執(zhí)行方法100、200、300及其變化??蛇x地,通過計算機(jī)501實施的功能可以是較大的軟件平臺、系統(tǒng)、應(yīng)用等的一部分。計算機(jī)501可以經(jīng)由網(wǎng)絡(luò)連接到數(shù)據(jù)庫(未示出)。網(wǎng)絡(luò)可以是任何類型的通信網(wǎng)絡(luò),包括但不限于基于布線的網(wǎng)絡(luò)(例如,電纜)、無線網(wǎng)絡(luò)(例如,蜂窩網(wǎng)、衛(wèi)星)、蜂窩遠(yuǎn)程通信網(wǎng)和基于ip的遠(yuǎn)程通信網(wǎng)(例如,互連網(wǎng)協(xié)議語音網(wǎng)絡(luò))。網(wǎng)絡(luò)還可以包括傳統(tǒng)的陸地線或公用交換電話網(wǎng)(pstn)或者前述的組合。
計算機(jī)501可以包括處理器503和非暫時性機(jī)器可讀存儲介質(zhì)505。處理器503可以類似于計算設(shè)備15的處理器30,并且非暫時性機(jī)器可讀存儲介質(zhì)505可以類似于設(shè)備15的機(jī)器可讀存儲介質(zhì)37。存儲在非暫時性機(jī)器可讀存儲介質(zhì)505上并且由處理器503執(zhí)行的軟件包括例如固件、應(yīng)用、程序數(shù)據(jù)、濾波器、規(guī)則、程序模塊和其他可執(zhí)行指令。處理器503從機(jī)器可讀存儲介質(zhì)505調(diào)取并且除了其他方面執(zhí)行與控制進(jìn)程有關(guān)的指令和在本文描述的方法。
處理器503可以取出、解碼并執(zhí)行指令507-513等等以實施各種處理。作為對調(diào)取和執(zhí)行指令的替代或補充,處理器503可以包括用于執(zhí)行指令507-513的功能的許多電子組件的至少一個集成電路(ic)、其他控制邏輯、其他電子電路或者其組合。因此,可以跨多個處理單元而實施處理器503,并且可以通過計算機(jī)501的不同的區(qū)域中的不同的處理單元來實施指令507-513。
當(dāng)指令507-513由處理器503(例如,經(jīng)由處理器的一個處理元件或多個處理元件)執(zhí)行時能夠使處理器503執(zhí)行進(jìn)程,例如方法100-300和/或其變化和部分。在其他的示例中,這些和其它方法的執(zhí)行可以分布在處理器503和與處理器503進(jìn)行通信的其他處理器之間。
例如,行為分析指令507可以使處理器503執(zhí)行與系統(tǒng)5類似的顯示3d對象的系統(tǒng)的用戶的行為分析。這些指令可以類似于在方法100的框110和120中描述并且更詳細(xì)地在方法200和300中描述的技術(shù)而起作用。例如,行為分析指令507可以使處理器503確定用戶的注意力投入水平,并且確定用戶的關(guān)于計算機(jī)501的姿態(tài)。
意圖分析指令509可以使處理器503基于用戶的注意力投入水平和用戶的姿態(tài)執(zhí)行用戶的關(guān)于3d可視化圖的意圖分析。這些指令可以類似于所描述的方法100的框130的技術(shù)而起作用。例如,基于識別的用戶的行為(即,關(guān)于系統(tǒng)5的投入的水平以及關(guān)于計算設(shè)備的姿態(tài)),意圖分析指令509可以使處理器503確定什么是用戶的關(guān)于3d對象的意圖(例如,用戶意圖選擇對象、觀看對象等)。
交互模式指令511可以使處理器503基于識別的用戶意圖自動地將系統(tǒng)調(diào)整到交互模式。這些指令可以類似于方法100和方法300的框140所描述的技術(shù)而起作用。例如,交互模式指令511可以使處理器503基于識別的用戶意圖將系統(tǒng)轉(zhuǎn)變到交互模式。在一個示例中,處理器可以基于用戶意圖來自動地將系統(tǒng)調(diào)整到特定交互模式。
可視化圖動作指令513可以使處理器503基于選擇的交互模式和檢測到的用戶手勢實施關(guān)于3d可視化圖的動作。在一個示例中,可視化圖動作指令513可以使處理器503基于手勢和先前選擇的交互模式來辨識通過不同的手勢所提供的用戶輸入并執(zhí)行關(guān)于3d對象的動作(例如,選擇3d對象、測量與3d對象有關(guān)的特性等)。
在以上描述中,闡述了許多細(xì)節(jié)以提供對在本文公開的主題的理解。然而,可以在沒有這些細(xì)節(jié)中的一些或所有的情況下實行實施方式。其他實施方式可以包括從以上討論的細(xì)節(jié)進(jìn)行的修改和變化。所附權(quán)利要求意圖覆蓋這些修改和變化。