欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

項(xiàng)目沿嵌入的單流形路徑的自動布局的制作方法

文檔序號:6554748閱讀:166來源:國知局
專利名稱:項(xiàng)目沿嵌入的單流形路徑的自動布局的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及圖形應(yīng)用程序,尤其涉及在二維空間、三維空間及n維空間中沿嵌入在容器內(nèi)的單流形(one-manifold)路徑布置項(xiàng)目。
背景技術(shù)
在圖形應(yīng)用程序中,用戶需要能夠以確定性的方式(通常作為有序的項(xiàng)目列表)看見和布置可見項(xiàng)目。在一些圖形應(yīng)用程序中,二維項(xiàng)目基于布局策略被自動布置。通常,項(xiàng)目以從左到右、從右到左、從上到下或從下到上的模式被順序地放置在二維(通常是矩形的)容器內(nèi)。典型的布局策略包括流式布局,其中對象(通常是矩形的)被從左到右地放在矩形窗口中;停放面板,其中對象被縱向布置;還有網(wǎng)格布局,其中對象以制表方式布置,“網(wǎng)格”由按行和列排列的單元格組成。
當(dāng)將對象放在三維或更高維的容器內(nèi)時(shí),并沒有多少關(guān)于對象“應(yīng)該”如何被布置的預(yù)想,也沒有多少約束。本領(lǐng)域中需要提供一種更為靈活的方法,來不僅將可見項(xiàng)目布置在二維空間中,而且還將它們布置在三維或更高維空間中。

發(fā)明內(nèi)容
本發(fā)明提供一種用于在二維、三維或n維空間中沿嵌入的單流形或路徑布置可見項(xiàng)目的機(jī)制。單流形可以是連續(xù)的、不連續(xù)的、被完全包含在容器內(nèi)或可擴(kuò)展到超出容器范圍。單流形可由定義函數(shù)、公式或點(diǎn)集的一組參數(shù)定義。容器可以是二維、三維或n維容器。
這一機(jī)制可被圖形應(yīng)用程序使用,并可確定對象或項(xiàng)目的位置或定位。對象或項(xiàng)目可以是一組對象或項(xiàng)目中的一個(gè)。響應(yīng)于接收到定義單流形的一組參數(shù),單流形可被嵌入到容器內(nèi)。響應(yīng)于接收到描述要被放在容器內(nèi)的對象或項(xiàng)目的方面的一組參數(shù),可生成一組x和y或x,y和z等坐標(biāo),這些坐標(biāo)可被發(fā)送到標(biāo)準(zhǔn)圖形界面以供顯示。


當(dāng)結(jié)合附圖閱讀時(shí),將能更好地理解以上發(fā)明內(nèi)容及以下具體實(shí)施方式
。出于說明本發(fā)明的目的,附圖中示出了本發(fā)明的示例性構(gòu)造;但是,本發(fā)明并不局限于所揭示的特定方法和手段。附圖中圖1是示出可在其中實(shí)現(xiàn)本發(fā)明諸方面的示例性計(jì)算環(huán)境的框圖;圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種用于沿嵌入在容器內(nèi)的單流形定位對象或項(xiàng)目的示例性系統(tǒng)的框圖;圖3a-3d根據(jù)本發(fā)明的實(shí)施例示出二維容器中的示例性單流形;圖4a根據(jù)本發(fā)明的一個(gè)實(shí)施例示出三維容器中的示例性單流形;圖4b-4c根據(jù)本發(fā)明的實(shí)施例示出二維容器中的示例性對象方向;圖4d-4f根據(jù)本發(fā)明的實(shí)施例示出三維容器中的示例性對象方向;圖4g根據(jù)本發(fā)明的一個(gè)實(shí)施例示出擴(kuò)展到二維容器以外的示例性單流形;圖4h根據(jù)本發(fā)明的一個(gè)實(shí)施例示出擴(kuò)展到三維容器以外的示例性單流形;圖5a-5c示出根據(jù)本發(fā)明的一些實(shí)施例的示例性滾動機(jī)制;以及圖6示出根據(jù)本發(fā)明的一個(gè)實(shí)施例的一種用于生成位置坐標(biāo)的方法。
具體實(shí)施例方式
概述在容器內(nèi)或畫布上排列項(xiàng)目最簡單的方法是指定每個(gè)項(xiàng)目的位置和方向。但是,當(dāng)發(fā)生改變時(shí),這一固定布局方案不是非常有用。例如,要使用這一方案在現(xiàn)有畫布上插入新項(xiàng)目,程序員就必須指定新項(xiàng)目的位置。如果在期望位置沒有足夠的“可見空間”供容納該項(xiàng)目,則程序員必須重新排列原有的項(xiàng)目來為新項(xiàng)目騰出空間。
類似地,如果畫布的形狀或大小改變了,則可能并非所有的項(xiàng)目都仍能夠被顯示。如果所有項(xiàng)目必須繼續(xù)保持可見,則必須提供重新排列這些項(xiàng)目的位置的代碼。如果容器沒有足夠空間來顯示所有項(xiàng)目,則布局可能僅示出其中一部分項(xiàng)目。滾動條可使用戶能夠選擇其中哪些項(xiàng)目可見。
第三維(或更多維)的引入改變了在容器內(nèi)放置項(xiàng)目的方式。
示例性計(jì)算環(huán)境圖1及以下討論旨在提供對可在其中實(shí)現(xiàn)本發(fā)明的合適的計(jì)算環(huán)境的簡要概括描述。但是,應(yīng)當(dāng)理解,已構(gòu)想結(jié)合本發(fā)明使用所有類型的手持式、便攜式及其它計(jì)算設(shè)備。盡管以下描述通用計(jì)算機(jī),但是這只是一個(gè)示例,本發(fā)明僅需要具有網(wǎng)絡(luò)服務(wù)器可相互操作性和交互性的瘦客戶機(jī)。因此,本發(fā)明可在其中牽涉很少或最低限度的客戶機(jī)資源的聯(lián)網(wǎng)主宿服務(wù)的環(huán)境中實(shí)現(xiàn),例如,其中客戶機(jī)設(shè)備純粹起到瀏覽器或到萬維網(wǎng)的接口的作用的聯(lián)網(wǎng)環(huán)境。
盡管并非必須,但是本發(fā)明可經(jīng)由應(yīng)用程序編程接口(API)來實(shí)現(xiàn)以供開發(fā)者使用,和/或被包括在將在由諸如客戶機(jī)工作站、服務(wù)器或其它設(shè)備等一個(gè)或多個(gè)計(jì)算機(jī)執(zhí)行的諸如程序模塊等計(jì)算機(jī)可執(zhí)行指令的通用上下文中描述的網(wǎng)絡(luò)瀏覽軟件內(nèi)。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。通常,程序模塊的功能可按各實(shí)施例中的需要組合或分布。此外,本領(lǐng)域技術(shù)人員將會認(rèn)識到,本發(fā)明可用其它計(jì)算機(jī)系統(tǒng)配置來實(shí)施。適于配合本發(fā)明使用的其它公知的計(jì)算系統(tǒng)、環(huán)境和/或配置包括,但不限于,個(gè)人計(jì)算機(jī)(PC)、自動取款機(jī)、服務(wù)器計(jì)算機(jī)、手持式或膝上設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程消費(fèi)者電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、等等。本發(fā)明還可在分布式計(jì)算環(huán)境中實(shí)施,其中任務(wù)由通過通信網(wǎng)絡(luò)或其它數(shù)據(jù)傳輸介質(zhì)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行。在分布式計(jì)算環(huán)境中,程序模塊可位于包括記憶存儲設(shè)備的本地和遠(yuǎn)程計(jì)算機(jī)存儲介質(zhì)中。
由此圖1示出可在其中實(shí)現(xiàn)本發(fā)明的合適的計(jì)算系統(tǒng)環(huán)境100的示例,盡管在以上已經(jīng)明確,計(jì)算系統(tǒng)環(huán)境100只是合適的計(jì)算環(huán)境的一個(gè)示例,而并不試圖對本發(fā)明的使用范圍或功能提出任何限制。也不應(yīng)將計(jì)算環(huán)境100解釋為具有涉及示例性操作環(huán)境100中所示的任一組件或其組合的任何依賴性或要求。
參考圖1,用于實(shí)現(xiàn)本發(fā)明的示例性系統(tǒng)包括計(jì)算機(jī)110形式的通用計(jì)算設(shè)備。計(jì)算機(jī)110的組件可包括,但不限于,處理單元120、系統(tǒng)存儲器130、以及將包括系統(tǒng)存儲器在內(nèi)的各系統(tǒng)組件耦合到處理單元120的系統(tǒng)總線121。系統(tǒng)總線121可以是數(shù)種類型的總線結(jié)構(gòu)中的任何一種,包括存儲器總線或存儲器控制器、外圍總線、使用各種總線體系結(jié)構(gòu)中的任何一種的局部總線。作為示例,而非限制,此類體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、增強(qiáng)型ISA(EISA)總線、視頻電子標(biāo)準(zhǔn)協(xié)會(VESA)局部總線、以及外圍組件互連(PCI)總線(也稱為Mezzanine總線)。
計(jì)算機(jī)110通常包括各種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是可由計(jì)算機(jī)110訪問的任何可用介質(zhì),并包括易失性和非易失性、可移動和不可移動介質(zhì)。作為示例,而非限制,計(jì)算機(jī)可讀介質(zhì)可包括計(jì)算機(jī)存儲介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲介質(zhì)包括以用于存儲諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。計(jì)算機(jī)存儲介質(zhì)包括,但不限于,RAM、ROM、EEPROM、閃存或其它存儲器技術(shù),CDROM、數(shù)字多功能盤(DVD)或其它光盤存儲,磁帶盒、磁帶、磁盤存儲或其它磁存儲設(shè)備,或任何其它可被用來存儲所需信息并可由計(jì)算機(jī)110訪問的介質(zhì)。通信介質(zhì)通常具體化為諸如載波或其它傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并包括任何信息傳遞介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”是指以在信號中將信息編碼的方式設(shè)置或改變其一個(gè)或多個(gè)特性的信號。作為示例,而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接連線連接等有線介質(zhì),以及諸如聲學(xué)、RF、紅外及其它無線介質(zhì)等無線介質(zhì)。以上任何組合也應(yīng)被包括在計(jì)算機(jī)可讀介質(zhì)的范疇之內(nèi)。
系統(tǒng)存儲器130包括諸如只讀存儲器(ROM)131和隨機(jī)存取存儲器(RAM)132等易失性和/或非易失性存儲器形式的計(jì)算機(jī)存儲介質(zhì)。包含諸如在啟動期間幫助在計(jì)算機(jī)110內(nèi)諸元件之間傳遞信息的基本例程的基本輸入/輸出系統(tǒng)(BIOS)133通常被存儲在ROM 131中。RAM 132通常包含可由處理單元120立即訪問和/或現(xiàn)在正由其操作的數(shù)據(jù)和/或程序模塊。作為示例,而非限制,圖1示出操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。
計(jì)算機(jī)110還可包括其它可移動/不可移動、易失性/非易失性計(jì)算機(jī)存儲介質(zhì)。僅作為示例,圖1示出讀或?qū)懖豢梢苿?、非易失性磁介質(zhì)的硬盤驅(qū)動器141,讀或?qū)懣梢苿?、非易失性磁盤152的磁盤驅(qū)動器151,以及讀或?qū)懼T如CD ROM或其它光介質(zhì)等可移動、非易失性光盤156的光盤驅(qū)動器155??稍谑纠圆僮鳝h(huán)境中使用的其它可移動/不可移動、易失性/非易失性計(jì)算機(jī)存儲介質(zhì)包括,但不限于,磁帶盒、閃存卡、數(shù)字多功能盤、數(shù)碼錄像帶、固態(tài)RAM、固態(tài)ROM、等等。硬盤驅(qū)動器141通常通過諸如接口140等不可移動存儲器接口連接到系統(tǒng)總線121,而磁盤驅(qū)動器151和光盤驅(qū)動器155通常由諸如接口150等可移動存儲器接口連接到系統(tǒng)總線121。
以上所討論并在圖1中示出的各驅(qū)動器及其相關(guān)聯(lián)的計(jì)算機(jī)存儲介質(zhì)為計(jì)算機(jī)110提供計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲。在圖1中,例如,硬盤驅(qū)動器141被示為存儲了操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147。注意,這些組件可與操作系統(tǒng)134、應(yīng)用程序135、其它程序136和程序數(shù)據(jù)137相同或不同。此處操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147被賦予不同的標(biāo)號以說明至少它們是不同的副本。用戶可通過諸如鍵盤162和定位設(shè)備161(通常指鼠標(biāo)、軌跡球或觸摸墊)等輸入設(shè)備將命令和信息輸入到計(jì)算機(jī)110中。其它輸入設(shè)備(未示出)可包括話筒、操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃描儀等。這些及其它輸入設(shè)備通常通過被耦合到系統(tǒng)總線121的用戶輸入接口160連接到處理單元120,但也可由諸如并行端口、游戲端口或通用串行總線(USB)等其它接口和總線結(jié)構(gòu)連接。
監(jiān)視器191或其它類型的顯示設(shè)備也經(jīng)由諸如視頻接口190等接口連接到系統(tǒng)總線121。諸如北橋(Northbridge)等圖形接口182也可被連接到系統(tǒng)總線121。北橋是與CPU或主宿處理單元120通信的芯片組,并承擔(dān)加速圖形端口(AGP)通信的任務(wù)。一個(gè)或多個(gè)圖形處理單元(GPU)184可與圖形接口182通信。就此而言,GPU 184一般包括諸如寄存器存儲等片上記憶存儲,并且GPU 184與視頻存儲器186通信。但是,GPU 184只是協(xié)處理器的一個(gè)示例,因而各種協(xié)處理設(shè)備可被包括在計(jì)算機(jī)110中。監(jiān)視器191或其它類型的顯示設(shè)備也經(jīng)由諸如視頻接口190等接口連接到系統(tǒng)總線121,而該接口進(jìn)而與視頻存儲器186通信。除了監(jiān)視器191以外,計(jì)算機(jī)還可包括諸如揚(yáng)聲器197和打印機(jī)196等其它外圍輸出設(shè)備,它們可通過輸出外圍接口195連接。
計(jì)算機(jī)110可使用到諸如遠(yuǎn)程計(jì)算機(jī)180等一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)的邏輯連接在聯(lián)網(wǎng)環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)180可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其它普通網(wǎng)絡(luò)節(jié)點(diǎn),并通常包括以上相對于計(jì)算機(jī)110所描述的許多或全部元件,盡管在圖1中僅示出記憶存儲設(shè)備181。圖1中所示的邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但還可包括其它網(wǎng)絡(luò)。此類網(wǎng)絡(luò)環(huán)境常見于辦公室、企業(yè)范圍的計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)以及因特網(wǎng)中。
當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中使用時(shí),計(jì)算機(jī)110通過網(wǎng)絡(luò)接口或適配器170連接到LAN 171。當(dāng)在WAN網(wǎng)絡(luò)環(huán)境中使用時(shí),計(jì)算機(jī)110通常包括調(diào)制解調(diào)器172或其它用于通過WAN 173(諸如因特網(wǎng))建立通信的裝置。可內(nèi)置或外置的調(diào)制解調(diào)器172可經(jīng)由用戶輸入接口160或其它適當(dāng)機(jī)制連接到系統(tǒng)總線121。在聯(lián)網(wǎng)環(huán)境中,相對于計(jì)算機(jī)110所描述的程序模塊或其部分可被存儲在遠(yuǎn)程記憶存儲設(shè)備中。作為示例,而非限制,圖1示出遠(yuǎn)程應(yīng)用程序185駐留在記憶設(shè)備181上??梢哉J(rèn)識到,所示的網(wǎng)絡(luò)連接是示例性的,并且可以使用在計(jì)算機(jī)之間建立通信鏈路的其它裝置。
本領(lǐng)域普通技術(shù)人員可以認(rèn)識到,計(jì)算機(jī)110或其它客戶機(jī)設(shè)備可被部署為計(jì)算機(jī)網(wǎng)絡(luò)的一部分。就此而言,本發(fā)明涉及具有任意個(gè)數(shù)的存儲器或存儲單元、以及在任意個(gè)數(shù)的存儲單元或卷上發(fā)生的任意個(gè)數(shù)的應(yīng)用程序和進(jìn)程的任何計(jì)算機(jī)系統(tǒng)。本發(fā)明可應(yīng)用于具有遠(yuǎn)程或本地存儲的具有部署在網(wǎng)絡(luò)環(huán)境中的服務(wù)器計(jì)算機(jī)和客戶機(jī)計(jì)算機(jī)的環(huán)境。本發(fā)明還可應(yīng)用于具有編程語言功能、解釋和執(zhí)行能力的獨(dú)立計(jì)算設(shè)備。
使用單流形路徑的項(xiàng)目自動布局圖2根據(jù)本發(fā)明的一些實(shí)施例示出一種用于項(xiàng)目在二維、三維或n維空間中的自動布局的示例性系統(tǒng)。這一系統(tǒng)可完全或部分地駐留在諸如圖2的示例性計(jì)算機(jī)202等一臺或多臺計(jì)算機(jī)上。計(jì)算機(jī)202可包括諸如參考圖1所描述的計(jì)算機(jī)110等計(jì)算機(jī)。用于項(xiàng)目在二維、三維或n維空間中的自動布局的系統(tǒng)可包括圖形應(yīng)用程序204,它包括以下一個(gè)或多個(gè)元素圖形定位應(yīng)用程序206、描述單流形的參數(shù)208、對象或項(xiàng)目定位和定向參數(shù)210、定位坐標(biāo)212以及標(biāo)準(zhǔn)顯示模塊214。
當(dāng)在二維、三維或n維容器中放置項(xiàng)目時(shí),在本發(fā)明的一些實(shí)施例中使用順序(第一對象首先/最后對象最后)范型。根據(jù)本發(fā)明的一些實(shí)施例,順序范型可沿嵌入在空間內(nèi)的任何路徑(例如,沿任何單流形或一維路徑或線路)放置對象,從而提供這一路徑實(shí)現(xiàn)了使用順序范型將對象映射到空間中的一般手段。單流形或路徑可以是開放式的(即,可以在空間內(nèi)不同的點(diǎn)開始和結(jié)束),或封閉式的(在空間內(nèi)同一個(gè)點(diǎn)開始和結(jié)束),連續(xù)或不連續(xù)的,彎曲的或分段的(分段平滑)。單流形可以是基于多項(xiàng)式或非基于多項(xiàng)式的,并且可以是任何長度。單流形可擴(kuò)展到超越其被嵌入的容器范圍,或可被限制在其嵌入容器內(nèi)。圖3a-3d示出二維空間(分別是310、312、314和318)內(nèi)的無窮多條可能的路徑中的四條此類路徑(分別是路徑302、304、306和308)。
應(yīng)當(dāng)認(rèn)識到,三維空間內(nèi)無窮多條可能的封閉式和開放式路徑也是可能的。圖4a示出嵌入到三維空間404中的一個(gè)此類可能的封閉式的、環(huán)形的單流形402,其中項(xiàng)目406、408等沿單流形402均勻地分布。在本發(fā)明的一些實(shí)施例中,單流形(例如,302、304、306、308、402等)可被指定為由直線連接的一組點(diǎn),或被指定為某個(gè)較高階內(nèi)插函數(shù)或曲線定義函數(shù)的參考點(diǎn)。項(xiàng)目可沿單流形均勻地、隨機(jī)地、根據(jù)某個(gè)函數(shù)或公式、或基于項(xiàng)目的范圍(以及應(yīng)當(dāng)圍繞該項(xiàng)目的任何額外空間)放置來沿單流形分配空間,或根據(jù)任何其它函數(shù)、算法或方案放置。例如,一種布局算法可使用每個(gè)項(xiàng)目的寬度加上最小的圍繞空間量來放置項(xiàng)目,其中最小的圍繞空間量被指定為固定值、百分比、或者該項(xiàng)目的范圍和/或該項(xiàng)目的相鄰項(xiàng)目的范圍的某個(gè)固定函數(shù)。
一個(gè)或多個(gè)項(xiàng)目的比例和方向也可被指定。例如,項(xiàng)目可以是垂直于單流形的、斜的、旋轉(zhuǎn)的、定向?yàn)槭乖擁?xiàng)目的頂部平行于容器的頂部(見圖4b,項(xiàng)目410、412等)。或者,項(xiàng)目的中心線可被定向?yàn)榕c路徑相切(見圖4c、項(xiàng)目416的中心線414沿著路徑418),或可根據(jù)任何函數(shù)、算法或方案定向。
在三維空間中,項(xiàng)目可被平放且項(xiàng)目的頂邊朝左,如圖4d中所示。類似地,項(xiàng)目可被定向?yàn)榇怪庇趩瘟餍吻移漤斶呄蛏?,如圖4e中所示,或者項(xiàng)目可被朝向觀眾且項(xiàng)目頂邊朝上,如圖4f中所示。
因此,在本發(fā)明的一些實(shí)施例中,項(xiàng)目的方向可用根據(jù)某個(gè)點(diǎn)、某條軸或某個(gè)平面的方式來指定,或可根據(jù)該項(xiàng)目本身、其相鄰項(xiàng)目和/或該項(xiàng)目的鄰域的某個(gè)函數(shù)來定向。此類項(xiàng)目定向規(guī)范的示例可包括項(xiàng)目面向觀眾,面向三維空間中的一個(gè)點(diǎn),路徑的切向(或法向)等等。項(xiàng)目還可根據(jù)結(jié)合了除流形本身所指定的參數(shù)以外的其它參數(shù)的各種規(guī)則來定向。例如,流形上的項(xiàng)目可顯示依賴于移動速度的慣性特性。項(xiàng)目可被建模為具有質(zhì)量的對象,它們就好象掛在軌道上那樣“掛”在流形上;根據(jù)項(xiàng)目移動速度,它們可因而朝離開曲線中心的方向?qū)⑺鼈冏约憾ㄏ?。其它可能情況包括強(qiáng)制項(xiàng)目的軸與單流形的切線正交,而同時(shí)該對象保持“面向”空間中一特定點(diǎn)。
通過指定單流形以使該單流形的部分超出其容器的可見部分范圍以外,流形中在容器以外的部分上的項(xiàng)目將不可見,如圖4g中所示。(項(xiàng)目420、422、424和426是可見的,而沿單流形434的項(xiàng)目428、430和432不可見,因?yàn)樗鼈兂隽巳萜?36的范圍以外。)圖4h中示出類似的延伸到容器以外的單流形。
在本發(fā)明的一些實(shí)施例中,僅項(xiàng)目的一個(gè)子集被顯示。這在所具有的項(xiàng)目多于期望在可用空間中顯示的項(xiàng)目時(shí)是必須的。在本發(fā)明的一些實(shí)施例中,所顯示的項(xiàng)目子集表示完整的項(xiàng)目集合。子集中的第一個(gè)項(xiàng)目可被定義為單流形上的第一個(gè)項(xiàng)目。
在本發(fā)明的一些實(shí)施例中,通過沿單流形滾動,集合中的所有項(xiàng)目都將是可見的。在本發(fā)明的一些實(shí)施例中,沿單流形的位置被映射到沿線性滾動條的位置。由此,在單流形上滾動被轉(zhuǎn)換為沿校直的路徑移動(見圖5a、5b和5c)。在本發(fā)明的一些實(shí)施例中,沿單流形的距離被映射到沿校直路徑的對應(yīng)距離(見圖5a和5b)。或者,沿軸(諸如但不限于x軸)的點(diǎn)的位置可被映射到校直路徑(見圖5a和5c)。其它映射關(guān)系可使用點(diǎn)的橫坐標(biāo)作為沿校直路徑的值,或提供其它一對一映射關(guān)系。2D顯示上的任何點(diǎn)都能按以下方式被映射到單流形上的單個(gè)點(diǎn)對于被映射到流形上的點(diǎn)s(其中s是從流形的連續(xù)參數(shù)化提取的)的任何給定點(diǎn)(x,y),存在有窮的非零值ε和δ,滿足如果(x’,y’)與(x,y)的距離在ε以內(nèi),則對應(yīng)于(x’,y’)的被映射的點(diǎn)s’必然滿足|s’-s|<δ。但是,很容易很夠證明許多單流形允許有奇點(diǎn),在這種情況下這一條件被違反。在此類情形中,有若干種可使用的緩解映射關(guān)系問題的辦法。作為非限制性示例,這里列出一些辦法。在一個(gè)實(shí)施例中,奇點(diǎn)全部被丟棄,而游標(biāo)(或其它指示器)被允許跳過不連續(xù)點(diǎn)。在一個(gè)實(shí)施例中,在流形上的前一個(gè)點(diǎn)s和當(dāng)前的s’處的游標(biāo)之間實(shí)現(xiàn)“彈簧”,從而即使在s和s’之間有不連續(xù)的跳變時(shí)該彈簧也能在它們之間平滑地拖動游標(biāo)。在另一個(gè)實(shí)施例中,游標(biāo)仍被粘滯在點(diǎn)s處。
圖6中示出一種用于在容器中將對象沿嵌入的單流形放置的示例性方法。在602可接收與單流形相關(guān)聯(lián)的或定義單流形的參數(shù)。單流形或路徑可以是開放式的(即,可在空間內(nèi)的不同點(diǎn)處開始和結(jié)束)、或封閉式的(在空間內(nèi)的同一個(gè)點(diǎn)開始和結(jié)束)、連續(xù)或不連續(xù)的、彎曲的、直的或分段的(分段線性)。單流形可以是基于多項(xiàng)式或非基于多項(xiàng)式的,并可以是任何長度。單流形可延伸到超出其被嵌入在其中的容器的范圍,或可被限制在其嵌入容器之內(nèi)。
在604,接收與要沿嵌入的單流形放置的對象相關(guān)聯(lián)的參數(shù)??芍付ㄅc這個(gè)(些)項(xiàng)目的比例或方向相關(guān)聯(lián)的參數(shù)。例如,項(xiàng)目可以是垂直于單流形的、斜的、旋轉(zhuǎn)的、定向?yàn)槭乖擁?xiàng)目的頂部平行于容器的頂部的?;蛘撸?xiàng)目的中心線可被定向?yàn)榕c路徑相切,或可根據(jù)任何函數(shù)、算法或方案來定向。
在三維空間中,項(xiàng)目可被平放且項(xiàng)目的頂邊朝左,被定向?yàn)榇怪庇趩瘟餍吻移漤斶呄蛏?,或可被朝向觀眾且項(xiàng)目的頂邊朝上,或者定向?yàn)槌蛉魏纹渌付ǖ姆较颉?br> 因此,在本發(fā)明的一些實(shí)施例中,項(xiàng)目的朝向可根據(jù)某個(gè)點(diǎn)、某條軸或某個(gè)平面來指定,或可根據(jù)項(xiàng)目本身、其相鄰項(xiàng)目和/或該項(xiàng)目的鄰域的某個(gè)函數(shù)來定向。此類項(xiàng)目方向規(guī)范的示例可包括項(xiàng)目面向觀眾,面向三維空間中的一點(diǎn),沿路徑的切向(法向)等等。
通過將單流形指定為使該單流形的部分超出其容器的可見部分范圍以外,該流形中在容器以外的部分上的項(xiàng)目將不可見。在本發(fā)明的一些實(shí)施例中,僅項(xiàng)目的一個(gè)子集被顯示。這在當(dāng)所具有的項(xiàng)目多于可用空間中期望能顯示的項(xiàng)目時(shí)必須的。在本發(fā)明的一些實(shí)施例中,所顯示的項(xiàng)目子集表示項(xiàng)目的完整集合。子集中的第一個(gè)項(xiàng)目可被定義為單流形上的第一個(gè)項(xiàng)目。
在606,計(jì)算一個(gè)或數(shù)個(gè)對象的位置。在本發(fā)明的一些實(shí)施例中,計(jì)算x和y坐標(biāo)(對于二維容器)或x,y和z坐標(biāo)(對于三維容器)。在608,這些坐標(biāo)(可能還有這個(gè)(些)對象)被傳遞給標(biāo)準(zhǔn)顯示模塊以進(jìn)行顯示。
本文中所描述的各種技術(shù)可結(jié)合硬件或軟件、或在適當(dāng)時(shí)結(jié)合兩者的組合來實(shí)現(xiàn)。因此,本發(fā)明的方法和裝置或其某些方面或部分可采取被包含在諸如軟盤、CD-ROM、硬盤驅(qū)動器或任何其它機(jī)器可讀存儲介質(zhì)等有形介質(zhì)中的程序代碼(即,指令)的形式,其中當(dāng)該程序代碼被加載到諸如計(jì)算機(jī)等機(jī)器中并由其執(zhí)行時(shí),該機(jī)器即變成用于實(shí)施本發(fā)明的裝置。在程序代碼在可編程計(jì)算機(jī)上執(zhí)行的情形中,計(jì)算設(shè)備一般將包括處理器、該處理器可讀的存儲介質(zhì)(包括易失性和非易失性存儲器和/或存儲元件)、至少一個(gè)輸入設(shè)備、以及至少一個(gè)輸出設(shè)備。較佳的是,以高級過程語言或面向?qū)ο蟮木幊陶Z言來實(shí)現(xiàn)可使用本發(fā)明的域?qū)倬幊棠P偷膭?chuàng)造和/或?qū)崿F(xiàn)(例如,通過使用數(shù)據(jù)處理API等)的一個(gè)或多個(gè)程序來與計(jì)算機(jī)系統(tǒng)通信。但是,如果需要的話,這個(gè)(些)程序能以匯編語言或機(jī)器語言來實(shí)現(xiàn)。在任何情況下,語言可以是編譯或解釋語言,并可與硬件實(shí)現(xiàn)相結(jié)合。
盡管是結(jié)合各附圖的較佳實(shí)施例描述了本發(fā)明,但是應(yīng)當(dāng)理解,可使用其它類似的實(shí)施例,或者可對所描述的實(shí)施例進(jìn)行修改和添加以執(zhí)行本發(fā)明的相同功能而不會偏離本發(fā)明。因此,本發(fā)明不應(yīng)被局限于任何單一實(shí)施例,而是應(yīng)根據(jù)所附權(quán)利要求書的廣度和范圍來解釋。
權(quán)利要求
1.一種用于在容器中定位對象的系統(tǒng),包括接收與在容器中放置對象相關(guān)聯(lián)的參數(shù)、并計(jì)算所述容器中所述對象沿嵌入在所述容器內(nèi)的單流形的位置的模塊。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述容器是二維的。
3.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述容器是n維容器,其中n大于2。
4.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述對象是沿所述單流形放置的多個(gè)對象中的一個(gè)。
5.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述單流形是以下各種情況中的至少一種連續(xù)的、不連續(xù)的、延伸到超出所述容器范圍的、或是由函數(shù)定義的。
6.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述模塊接收與將所述單流形嵌入到所述容器中相關(guān)聯(lián)的參數(shù)。
7.一種用于將對象放置在容器中的方法,包括接收與在所述容器中沿嵌入的單流形放置所述對象相關(guān)聯(lián)的參數(shù);以及基于所接收的參數(shù)計(jì)算所述對象在所述容器中的位置。
8.如權(quán)利要求7所述的方法,其特征在于,還包括接收定義所述單流形的參數(shù)。
9.如權(quán)利要求8所述的方法,其特征在于,還包括將所定義的單流形嵌入到所述容器內(nèi)。
10.如權(quán)利要求7所述的方法,其特征在于,還包括生成所述對象的坐標(biāo)。
11.如權(quán)利要求10所述的方法,其特征在于,所述坐標(biāo)包括x和y坐標(biāo)。
12.如權(quán)利要求10所述的方法,其特征在于,所述坐標(biāo)至少包括x,y和z坐標(biāo)。
13.如權(quán)利要求7所述的方法,其特征在于,所述容器是n維容器,其中n大于2。
14.如權(quán)利要求7所述的方法,其特征在于,所述容器是二維容器。
15.如權(quán)利要求7所述的方法,其特征在于,所述對象是所述容器中的多個(gè)對象中的第一對象,并且響應(yīng)于添加另一對象,計(jì)算所述多個(gè)對象中的至少一個(gè)的新位置。
16.如權(quán)利要求7所述的方法,其特征在于,所述參數(shù)包括所述對象的方向或比例中的一個(gè)。
17.如權(quán)利要求16所述的方法,其特征在于,所述方向是以下各種情況中的一種斜的、旋轉(zhuǎn)的、定向?yàn)槭顾鰧ο蟮捻斶吰叫杏谒鋈萜鞯囊粭l邊的、或被定向?yàn)槭顾鰧ο蟮闹行木€平行于或與所述單流形相切、或者根據(jù)函數(shù)或算法來定向、或根據(jù)點(diǎn)、軸或平面來定向。
18.如權(quán)利要求7所述的方法,其特征在于,所述對象是沿所述單流形的多個(gè)對象中的第一對象,其中所述多個(gè)對象的一個(gè)子集是不可見的。
19.如權(quán)利要求18所述的方法,其特征在于,所述不可見的子集包括沿所述單流形延伸到所述容器范圍以外的部分的對象。
20.一種包括用于執(zhí)行以下動作的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)接收與在容器內(nèi)沿嵌入的單流形放置對象相關(guān)聯(lián)的參數(shù);基于所接收的參數(shù),計(jì)算所述對象在所述容器中的位置和方向;生成所述對象的坐標(biāo);以及將所生成的坐標(biāo)發(fā)送到顯示模塊。
全文摘要
計(jì)算用于在二維、三維或n維空間中沿嵌入的單流形或路徑布置可見項(xiàng)目的坐標(biāo),且為項(xiàng)目在容器內(nèi)的位置生成坐標(biāo)。單流形可以是連續(xù)的、不連續(xù)的、被完全包含在容器內(nèi)、或延伸到超出容器的范圍。單流形可由定義函數(shù)、公式或點(diǎn)集的一組參數(shù)定義。容器可以是二維、三維或n維的容器。這一機(jī)制可被圖形應(yīng)用程序所使用,并可確定對象或項(xiàng)目的位置或定位。對象或項(xiàng)目可以是一組對象或項(xiàng)目中的一個(gè)。響應(yīng)于接收定義單流形的一組參數(shù),單流形可被嵌入到容器內(nèi)。響應(yīng)于接收描述要被放置到容器內(nèi)的對象或項(xiàng)目的方面的一組參數(shù),可生成一組x,y或x,y和z坐標(biāo),它們可被發(fā)送到標(biāo)準(zhǔn)圖形界面以進(jìn)行顯示。
文檔編號G06F9/44GK1838071SQ20061000929
公開日2006年9月27日 申請日期2006年2月21日 優(yōu)先權(quán)日2005年3月21日
發(fā)明者H·索維茲拉爾, 富山健郎, S·德魯克 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
正镶白旗| 临湘市| 鹿泉市| 孝昌县| 武清区| 会理县| 中阳县| 内乡县| 兴海县| 正定县| 连南| 商都县| 商都县| 项城市| 大足县| 祁东县| 宁德市| 怀仁县| 石阡县| 获嘉县| 女性| 东明县| 道真| 顺昌县| 鹤庆县| 新河县| 建湖县| 慈利县| 自贡市| 温泉县| 德钦县| 宣城市| 安徽省| 闽侯县| 宣汉县| 陕西省| 景谷| 永泰县| 二连浩特市| 武安市| 福鼎市|