亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)關(guān)于顯示框移動(dòng)對(duì)象的制作方法

文檔序號(hào):6496701閱讀:211來(lái)源:國(guó)知局
結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)關(guān)于顯示框移動(dòng)對(duì)象的制作方法
【專利摘要】用于結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)使對(duì)象比如顯示窗口關(guān)于顯示框移動(dòng)的方法、系統(tǒng)和計(jì)算機(jī)產(chǎn)品。窗口輕推方法從人機(jī)界面設(shè)備接收離散用戶界面手勢(shì),根據(jù)離散用戶界面手勢(shì),將窗口對(duì)象瞬間加速到初始速度。一旦窗口處于運(yùn)動(dòng),方法就使用真實(shí)運(yùn)動(dòng)變化施加第一移動(dòng)以使窗口對(duì)象動(dòng)畫起來(lái)。這樣的真實(shí)運(yùn)動(dòng)變化包括摩擦模型,它使滑動(dòng)摩擦與流體摩擦結(jié)合以確定逐幀的速度變化。使滑動(dòng)摩擦與流體摩擦結(jié)合的摩擦模型能夠被應(yīng)用到顯示框中的任何對(duì)象。一個(gè)對(duì)象與另一個(gè)對(duì)象之間或者一個(gè)對(duì)象與其環(huán)境之間的碰撞使用臨界阻尼彈簧模型模擬。
【專利說(shuō)明】結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)關(guān)于顯示框移動(dòng)對(duì)象
【技術(shù)領(lǐng)域】
[0001]本公開涉及顯示屏的用戶界面領(lǐng)域,更特別地,涉及關(guān)于顯示框移動(dòng)對(duì)象的技術(shù)。
[0002]版權(quán)聲明
[0003]本專利文件的公開內(nèi)容的一部分包含受版權(quán)保護(hù)的材料。版權(quán)擁有者不反對(duì)任何人復(fù)制專利文件或?qū)@_內(nèi)容,如同專利商標(biāo)局的專利文件或記錄的形式,但是在其他方面保留一切版權(quán)權(quán)利。
【背景技術(shù)】
[0004]本公開的某些實(shí)施例涉及一種通過(guò)結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)關(guān)于顯示框移動(dòng)對(duì)象的改善的方案。更特別地,本文公開的是使用真實(shí)移動(dòng)的方法和系統(tǒng)。
[0005]弓丨人注目的用戶界面必須提供一定程度的連續(xù)性,并且引人注目的用戶界面也必須鼓勵(lì)互動(dòng),不過(guò),提供連續(xù)性和鼓勵(lì)互動(dòng)的傳統(tǒng)努力以犧牲真實(shí)性為代價(jià)。因而需要改進(jìn)的方法用于實(shí)施真實(shí)的圖形用戶界面,尤其是實(shí)施真實(shí)動(dòng)畫的用戶界面。
[0006]更確切地說(shuō),上述技術(shù)無(wú)法實(shí)現(xiàn)結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)關(guān)于顯示框移動(dòng)對(duì)象,也無(wú)法應(yīng)對(duì)虛擬尺寸大于顯示器表面的可顯示對(duì)象的動(dòng)畫(如旋轉(zhuǎn)木馬、地圖、照片圖庫(kù))。
[0007]所以需要改進(jìn)的方案以用于使用真實(shí)移動(dòng)實(shí)施關(guān)于顯示框移動(dòng)對(duì)象。

【發(fā)明內(nèi)容】

[0008]本公開提供在結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)關(guān)于顯示框移動(dòng)對(duì)象的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品中使用的若干技術(shù)的詳細(xì)說(shuō)明。
[0009]本公開的一個(gè)應(yīng)用被有利地應(yīng)用在對(duì)象動(dòng)畫方法中,用于其顯示內(nèi)容無(wú)法在一時(shí)刻被方便地全部顯示的大對(duì)象(比如幻燈片、地圖、幻燈片集合等)。示范方法始于接收手勢(shì)和確定環(huán)境變量,手勢(shì)包括來(lái)自人機(jī)界面設(shè)備的信號(hào),環(huán)境變量包括若干數(shù)值,比如來(lái)自人機(jī)界面設(shè)備的手勢(shì)的強(qiáng)度、顯示框的高度、顯示框的寬度以及窗口對(duì)象的質(zhì)量值等,然后根據(jù)質(zhì)量值向窗口對(duì)象施加移動(dòng),移動(dòng)包括結(jié)合滑動(dòng)摩擦項(xiàng)和流體摩擦項(xiàng),根據(jù)質(zhì)量值計(jì)算窗口對(duì)象的運(yùn)動(dòng)。一個(gè)對(duì)象與另一個(gè)對(duì)象之間或者一個(gè)對(duì)象與其環(huán)境之間的碰撞(或其他模擬的互動(dòng))通過(guò)把臨界阻尼彈簧模型加入到所結(jié)合的滑動(dòng)摩擦和流體摩擦模型而得到模擬。
[0010]本公開的另一個(gè)應(yīng)用被有利地應(yīng)用在企業(yè)應(yīng)用系統(tǒng)的臺(tái)式或便攜式窗口環(huán)境中。這樣的部署提供了一種窗口輕推方法,其始于從人機(jī)界面設(shè)備接收離散用戶界面手勢(shì)(如輕推),比如鼠標(biāo)點(diǎn)擊或擊鍵,并且根據(jù)離散用戶界面手勢(shì),將窗口對(duì)象瞬間加速到初始速度。一旦窗口處于運(yùn)動(dòng),就應(yīng)用第一移動(dòng)以使用真實(shí)運(yùn)動(dòng)變化使窗口對(duì)象動(dòng)畫化。這樣的真實(shí)運(yùn)動(dòng)變化包括摩擦模型,它結(jié)合了滑動(dòng)摩擦與流體摩擦以確定速度的逐幀變化。結(jié)合了滑動(dòng)摩擦與流體摩擦的摩擦模型能應(yīng)用到顯示框中的任何對(duì)象。一個(gè)對(duì)象與另一個(gè)對(duì)象之間或者一個(gè)對(duì)象與其環(huán)境之間的碰撞使用臨界阻尼彈簧模型來(lái)模擬。
[0011]根據(jù)某些實(shí)施例,用于關(guān)于顯示框移動(dòng)窗口對(duì)象的計(jì)算機(jī)實(shí)施的方法包括:接收手勢(shì),手勢(shì)包括來(lái)自人機(jī)界面設(shè)備的信號(hào);確定環(huán)境變量,環(huán)境變量至少包括來(lái)自人機(jī)界面設(shè)備的手勢(shì)的強(qiáng)度以及窗口對(duì)象的質(zhì)量值,其中窗口對(duì)象的質(zhì)量值對(duì)應(yīng)于窗口對(duì)象移動(dòng)的慣性值;向第一窗口對(duì)象施加第一移動(dòng),第一移動(dòng)基于第一窗口對(duì)象的第一質(zhì)量值以及手勢(shì)的至少一個(gè)方面;以及向第二窗口對(duì)象施加第二移動(dòng),第二移動(dòng)基于第二窗口對(duì)象的第二質(zhì)量值以及手勢(shì)的相同至少一個(gè)方面,其中當(dāng)?shù)诙|(zhì)量值與第一質(zhì)量值不同時(shí),第二移動(dòng)與第一移動(dòng)不同。
[0012]在一個(gè)或多個(gè)實(shí)施例中,第一窗口對(duì)象的第一質(zhì)量值基于第一窗口對(duì)象的內(nèi)容。
[0013]在一個(gè)或多個(gè)實(shí)施例中,第二窗口對(duì)象的第二質(zhì)量值基于第二窗口對(duì)象的內(nèi)容。
[0014]當(dāng)?shù)谝灰苿?dòng)包括運(yùn)動(dòng)積分器時(shí)可以實(shí)現(xiàn)附加的目標(biāo)和優(yōu)點(diǎn)。
[0015]當(dāng)?shù)谝灰苿?dòng)包括環(huán)境反饋時(shí)可以實(shí)現(xiàn)附加的目標(biāo)和優(yōu)點(diǎn)。
[0016]在一個(gè)或多個(gè)實(shí)施例中,手勢(shì)的強(qiáng)度從離散手勢(shì)導(dǎo)出。
[0017]在一個(gè)或多個(gè)實(shí)施例中,手勢(shì)的強(qiáng)度從連續(xù)手勢(shì)導(dǎo)出。
[0018]根據(jù)某些實(shí)施例,一種計(jì)算機(jī)實(shí)施的方法使用離散手勢(shì)使顯示對(duì)象在顯示框內(nèi)移動(dòng),所述方法包括:接收離散手勢(shì),離散手勢(shì)包括來(lái)自人機(jī)界面設(shè)備的信號(hào);根據(jù)離散手勢(shì)的至少一個(gè)方面,將顯示對(duì)象加速到初始速度;以及至少根據(jù)初始速度,對(duì)顯示對(duì)象應(yīng)用第一動(dòng)畫,其中第一動(dòng)畫包括摩擦模型,摩擦模型結(jié)合了滑動(dòng)摩擦項(xiàng)與流體摩擦項(xiàng)以確定速度變化。
[0019]在一個(gè)或多個(gè)實(shí)施例中,初始速度基于顯示屏的尺寸。
[0020]一個(gè)或多個(gè)實(shí)施例進(jìn)一步實(shí)施:接收第二離散手勢(shì),第二離散手勢(shì)包括來(lái)自人機(jī)界面設(shè)備的第二信號(hào);以及根據(jù)第二離散手勢(shì)的至少一個(gè)方面,對(duì)顯示對(duì)象應(yīng)用第二動(dòng)畫。
[0021]在一個(gè)或多個(gè)實(shí)施例中,初始速度賦予顯示對(duì)象的虛擬能量等于通過(guò)施加第一動(dòng)畫失去的虛擬能量。
[0022]一個(gè)或多個(gè)實(shí)施例進(jìn)一步實(shí)施:接收事件,事件包括顯示對(duì)象與顯示屏回彈周邊之間的碰撞或互動(dòng);以及根據(jù)事件的至少一個(gè)方面,對(duì)顯示對(duì)象施加第三動(dòng)畫。
[0023]當(dāng)?shù)谌齽?dòng)畫包括摩擦模型時(shí)可以實(shí)現(xiàn)附加的目標(biāo)和優(yōu)點(diǎn)。當(dāng)摩擦模型結(jié)合了滑動(dòng)摩擦項(xiàng)時(shí)可以實(shí)現(xiàn)附加的目標(biāo)和優(yōu)點(diǎn)。當(dāng)包括流體摩擦項(xiàng)和阻尼彈簧項(xiàng)時(shí)可以實(shí)現(xiàn)附加的目標(biāo)和優(yōu)點(diǎn)。
[0024]當(dāng)顯示對(duì)象包括視口(viewport)下的顯示內(nèi)容時(shí)可以實(shí)現(xiàn)附加的目標(biāo)和優(yōu)點(diǎn)。
[0025]附圖簡(jiǎn)要說(shuō)明
[0026]圖1A描繪了根據(jù)某些實(shí)施例,用于結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)關(guān)于顯示框移動(dòng)對(duì)象的動(dòng)畫下的運(yùn)動(dòng)對(duì)象。
[0027]圖1B描繪了根據(jù)某些實(shí)施例,用于結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)關(guān)于顯示框移動(dòng)對(duì)象的若干力的狀況的表示。
[0028]圖1C描繪了根據(jù)某些實(shí)施例,用于結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)關(guān)于顯示框移動(dòng)對(duì)象的若干力的狀況的表示。
[0029]圖2描繪了根據(jù)某些實(shí)施例,用于結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)關(guān)于顯示框移動(dòng)對(duì)象的系統(tǒng)框圖。
[0030]圖3描繪了根據(jù)某些實(shí)施例,用于結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)關(guān)于顯示框移動(dòng)對(duì)象的系統(tǒng)內(nèi)通過(guò)視口的動(dòng)畫。[0031]圖4顯示了根據(jù)某些實(shí)施例,曲線圖上對(duì)象的速度變化,曲線圖示出了用于結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)關(guān)于顯示框移動(dòng)對(duì)象的多種機(jī)制。
[0032]圖5描繪了根據(jù)某些實(shí)施例,用于結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)關(guān)于顯示框移動(dòng)對(duì)象的系統(tǒng)內(nèi)的反饋回路的框圖。
[0033]圖6描繪了根據(jù)某些實(shí)施例,用于結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)關(guān)于顯示框移動(dòng)對(duì)象的系統(tǒng)中使用的動(dòng)畫框架的框圖。
[0034]圖7描繪了根據(jù)某些實(shí)施例的庫(kù)的組織。
[0035]圖8描繪了根據(jù)某些實(shí)施例,執(zhí)行計(jì)算機(jī)系統(tǒng)的某些功能的系統(tǒng)的框圖。
[0036]圖9描繪了根據(jù)某些實(shí)施例,執(zhí)行計(jì)算機(jī)系統(tǒng)的某些功能的系統(tǒng)的框圖。
[0037]圖10描繪了適于實(shí)施本公開的實(shí)施例的計(jì)算機(jī)系統(tǒng)的實(shí)例的框圖。
【具體實(shí)施方式】
[0038]本公開的某些實(shí)施例涉及一種改進(jìn)的方法,用于實(shí)施結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)關(guān)于顯示框移動(dòng)對(duì)象。更特別地,本文公開的環(huán)境、方法和系統(tǒng)用于實(shí)施通過(guò)結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)關(guān)于顯示框移動(dòng)對(duì)象。
[0039]概述
[0040]引人注目的用戶界面提供了連續(xù)性和真實(shí)性。同樣,引人注目的用戶界面鼓勵(lì)用戶互動(dòng)。然而,連續(xù)性、真實(shí)性以及鼓勵(lì)互動(dòng)(如使用用戶將視為真實(shí)的運(yùn)動(dòng)模型)不能以犧牲功能性為代價(jià)。
[0041]在現(xiàn)代用戶界面中,存在著真實(shí)運(yùn)動(dòng)的許多機(jī)會(huì),比如當(dāng)有對(duì)象或一組對(duì)象大到不能在顯示面上一次看全時(shí)。這樣的對(duì)象的示例包括旋轉(zhuǎn)木馬、大地圖、照片圖庫(kù)等。此外,往往更引人注目的是與這些對(duì)象直接互動(dòng),而不是使用滾動(dòng)條。換言之,用戶偏愛直接與內(nèi)容互動(dòng),而不是偽互動(dòng),比如使用與內(nèi)容本身分離的控制(如滾動(dòng)條)與對(duì)象互動(dòng)。例如,用戶認(rèn)為更自然和真實(shí)的方式為通過(guò)滑動(dòng)內(nèi)容來(lái)使旋轉(zhuǎn)木馬左右滑動(dòng),而不是使用鼠標(biāo)或其他指向設(shè)備來(lái)觸摸滾動(dòng)條。此外,如果用戶一“放開”(如鼠標(biāo)按鈕放開動(dòng)作),正被移動(dòng)的項(xiàng)就突然停止移動(dòng),則加重了真實(shí)性的缺乏。再者,隨著屏幕尺寸增加,或者隨著內(nèi)容尺寸增加,用戶可能希望在內(nèi)容內(nèi)“行進(jìn)”相當(dāng)大的距離,這使得拖放界面模型變得越來(lái)越難以使用。
[0042]如上所述,有時(shí)候內(nèi)容大到無(wú)法一次看到整個(gè)內(nèi)容。部分地針對(duì)這種情況的一種可能技術(shù)是使用窗口對(duì)象內(nèi)的視口,使得在任何時(shí)刻僅一部分內(nèi)容在屏幕上可見(比如旋轉(zhuǎn)木馬),在旋轉(zhuǎn)木馬視口下顯示幻燈片上幾十幅(或更多)圖像當(dāng)中的僅幾幅圖像。通過(guò)使用傳統(tǒng)鼠標(biāo)或觸摸屏技術(shù)拖動(dòng)該對(duì)象的內(nèi)容(如經(jīng)由視口),能夠便于用戶與這樣的對(duì)象互動(dòng)。
[0043]不過(guò),拖動(dòng)并非在所有情況下都適用。例如,使用(用于示例)只有觸控板或橡皮頭風(fēng)格鼠標(biāo)的便攜式計(jì)算機(jī)時(shí)拖動(dòng)工作并不好,對(duì)只有鍵盤的接口而言它工作也不好(另一個(gè)示例)。在這樣的情形中,期望某種技術(shù)或某些技術(shù)使用單次點(diǎn)擊(或擊鍵、或觸摸事件、或其他類似基本互動(dòng))來(lái)拖動(dòng)或移動(dòng)。然而,實(shí)施這樣的技術(shù)提出了幾個(gè)問(wèn)題要解決,比如
(I)對(duì)象應(yīng)移動(dòng)多遠(yuǎn)?在一種情形中看起來(lái)適當(dāng)?shù)木嚯x在另一種情形中有可能不適當(dāng)。(2)對(duì)象應(yīng)移動(dòng)多快?如果對(duì)象從A位置立即跳躍到B位置,用戶可能找不到原來(lái)的位置。然而,如果對(duì)象逐漸移動(dòng),這必須以節(jié)約用戶時(shí)間且與用戶的期待一致的方式實(shí)現(xiàn)。在一種情形中看起來(lái)適當(dāng)?shù)木嚯x在另一種情形中有可能不適當(dāng)還有再另外的情形;例如,與視口相比內(nèi)容量特別大(與小相對(duì))。
[0044]接下來(lái)的附圖和說(shuō)明針對(duì)以上問(wèn)題,并且針對(duì)傳統(tǒng)實(shí)施中的至少某些不足。
[0045]示范實(shí)施例的說(shuō)明
[0046]圖1A描繪了用于結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)關(guān)于顯示框移動(dòng)對(duì)象的動(dòng)畫下的運(yùn)動(dòng)對(duì)象。作為選項(xiàng),本動(dòng)畫1A00可以在本文介紹的實(shí)施例構(gòu)架和功能的語(yǔ)境中實(shí)施。同樣,在顯示框邊界或其中任何方面內(nèi)的動(dòng)畫1A00 (如動(dòng)畫IAOO1、動(dòng)畫IAOO2)也可以在任何期望的環(huán)境中實(shí)施。
[0047]如上所述,拖動(dòng)并非在一切情況下都適用。本文附圖和說(shuō)明提供的用戶界面運(yùn)動(dòng)模型(以數(shù)學(xué)形式)回答了若干問(wèn)題,比如(I)對(duì)象應(yīng)移動(dòng)多遠(yuǎn)? (2)對(duì)象應(yīng)移動(dòng)多快?以及(3)如何以節(jié)省用戶時(shí)間且不轉(zhuǎn)移用戶關(guān)注的方式移動(dòng)對(duì)象?
[0048]圖1A示出動(dòng)畫1A00,包括由周邊(如邊界或界限或回彈邊界110)界定的顯示框102 (如計(jì)算機(jī) 監(jiān)視器屏幕、觸摸屏、幀緩沖器等)。周邊內(nèi)顯示的是顯示對(duì)象112 (見顯示對(duì)象的初始位置IU1、顯示對(duì)象的第二位置1122和顯示對(duì)象的第三位置1123)。在動(dòng)畫1A00中還顯示了脈沖輸入時(shí)間序列圖104以及作為時(shí)間函數(shù)的速度圖106。如圖所示,脈沖輕推(nudge) 114 (如脈沖輕推IH1,如圖所示)在時(shí)間T1被傳遞給顯示對(duì)象(如窗口對(duì)象),賦予顯示對(duì)象112^Λ始速度,使之以初始速度行進(jìn)到顯示對(duì)象的第二位置1122。為了說(shuō)明運(yùn)動(dòng)的真實(shí)性,初始速度(見在T1脈沖處的圖例速度)被賦予給顯示對(duì)象IU1,該速度在阻尼作用下隨時(shí)間減速,直到(如圖所示)在時(shí)間T2傳遞第二脈沖輕推1142。在時(shí)間T2傳遞的脈沖輕推提高了速度(見在T2脈沖處的圖例速度),該速度與在時(shí)間T1相同(或稍大)。該對(duì)象隨時(shí)間減速,直到在顯示對(duì)象的第三位置1123靜止。
[0049]例如,在一個(gè)具體實(shí)施中,向?qū)ο筚x予第二脈沖輕推引起該對(duì)象的速度回到由先前輕推達(dá)到的相同速度值,即使該對(duì)象已經(jīng)在運(yùn)動(dòng)。在這樣的情況下,達(dá)到的最大速度由某恒量確定,而不是使脈沖幅度由某恒量確定。
[0050]某些實(shí)施例依賴于在輸入脈沖輕推后賦予顯示對(duì)象的初始虛擬能量或初始速度的選擇。也就是說(shuō),用戶會(huì)期待真實(shí)的運(yùn)動(dòng),無(wú)論屏幕是大屏幕還是小屏幕。在某些實(shí)施例中,有可能賦予固定能量的脈沖值。不過(guò),可能選擇的任何固定能量脈沖值在大屏幕上可能太小(如要求過(guò)多附加點(diǎn)擊),而在小屏幕上可能太大(如劇烈過(guò)沖)。
[0051]一種方式是選擇特定的能量脈沖(如脈沖輕推114),它將賦予對(duì)象足夠的虛擬動(dòng)量,把對(duì)象運(yùn)送到從該對(duì)象至回彈邊界的距離的85%,計(jì)算了阻尼作用下的速度減速(以及停止)。在某些使用情況下,85%的值是最佳值,此時(shí)意味著用戶能夠在動(dòng)畫期間保持上下文。例如,如果用戶正在搖移到地圖右邊,地圖的最右15% (如輕推前)在輕推后仍然可見(現(xiàn)在在左邊)。這讓用戶看到大量新內(nèi)容,然而也提供足夠上下文使得該用戶沒(méi)有忘記其在“何處”。
[0052]特定的能量脈沖可以計(jì)算為視口尺寸、內(nèi)容尺寸或質(zhì)量以及可能其他模型驅(qū)動(dòng)的若干因素的函數(shù)。
[0053]在另一實(shí)施例中,用戶有可能期望把對(duì)象移動(dòng)很長(zhǎng)距離。為了把對(duì)象移動(dòng)很長(zhǎng)距離,用戶可以重復(fù)地點(diǎn)擊。每次用戶點(diǎn)擊時(shí),脈沖能量(如脈沖輕推114)就被傳遞到內(nèi)容,該內(nèi)容根據(jù)經(jīng)由輕推給予的能量改變速度并且衰減以便在回彈周邊的邊界內(nèi)停止。只要用戶繼續(xù)輕推(如使用點(diǎn)擊或擊鍵),該內(nèi)容將根據(jù)經(jīng)由輕推給予的能量改變速度。一旦用戶停止施加另外的輕推,該對(duì)象將迅速但平滑地達(dá)到停止。在一種實(shí)施中,當(dāng)對(duì)象行進(jìn)到無(wú)限接近邊緣的位置時(shí)(如I個(gè)像素至2個(gè)像素),便禁用啟動(dòng)輕推的⑶I控制(如灰化或隱藏),以便從當(dāng)前位置無(wú)法啟動(dòng)進(jìn)一步的輕推。在另一種情況下,輕推將使得對(duì)象動(dòng)作過(guò)度,然后使用本文公開的阻尼彈簧范例彈回。
[0054]也可以應(yīng)用其他模型,例如,輕推后立即給予該對(duì)象特定計(jì)算的所得速度的模型?;蛘?,一個(gè)替代實(shí)施將使得經(jīng)由輕推給予的能量(如導(dǎo)致非零慣性值被賦予給對(duì)象)精確地為把內(nèi)容帶到特定位置(如到邊緣)所需的能量。
[0055]在某些實(shí)施中,確定輕推能量(或特定計(jì)算的所得速度)的計(jì)算以及與阻尼有關(guān)的計(jì)算可以使用包括各種各樣的“脈沖”函數(shù)的庫(kù)進(jìn)行編碼,有可能包括把多個(gè)脈沖函數(shù)結(jié)合為庫(kù)函數(shù)工具。嚴(yán)格作為示例,可以把以下技術(shù)編碼到庫(kù)函數(shù)中并在動(dòng)畫中使用:
[0056]?當(dāng)向?qū)ο髠鬟f初始脈沖時(shí):該對(duì)象移動(dòng),然后在涉及質(zhì)量值、加速度、能量傳輸和能量損失的經(jīng)典力學(xué)模型下減速(如遵循牛頓力學(xué))。
[0057]?當(dāng)向?qū)ο髠鬟f初始脈沖時(shí):該對(duì)象移動(dòng),然后在涉及質(zhì)量值、加速度、能量和摩擦的經(jīng)典力學(xué)模型下減速。摩擦可以包括靜態(tài)滑動(dòng)摩擦力學(xué)、運(yùn)動(dòng)滑動(dòng)摩擦和流體摩擦力
子寸ο
[0058]?當(dāng)向?qū)ο髠鬟f初始脈沖時(shí):該對(duì)象移動(dòng),然后在涉及質(zhì)量值、加速度、能量和流體摩擦的經(jīng)典力學(xué)模型下減速。
[0059]?當(dāng)動(dòng)量存在突然改變(如撞擊在回彈周邊上或撞擊在另一個(gè)對(duì)象上)時(shí),運(yùn)動(dòng)響應(yīng)與非彈性碰撞或撞擊行為一致,這種撞擊行為與按擊鼠標(biāo)按鈕(點(diǎn)擊)類似。同樣,來(lái)自人機(jī)界面設(shè)備的手勢(shì)(如換能器,比如鼠標(biāo)按鈕或鍵盤上的鍵)也是突然的(不是逐漸的)。示例包括點(diǎn)擊鼠標(biāo)或擊鍵,或者離散的觸摸手勢(shì),并且這樣的離散事件(如離散手勢(shì))產(chǎn)生了類似的運(yùn)動(dòng)響應(yīng)(如突然的脈沖輕推)。
[0060]?用于根據(jù)屏幕尺寸模擬脈沖輕推幅度的庫(kù)函數(shù)。在一種情況下,脈沖輕推被計(jì)算為傳遞必要的脈沖輕推力,使得行進(jìn)的總距離(脈沖輕推下、摩擦模型下等)是顯示框102寬度(如果是水平運(yùn)動(dòng))或高度(用于垂直運(yùn)動(dòng))的固定百分比(如85%)。
[0061]?用于根據(jù)從對(duì)象到回彈周邊的屏幕距離模擬脈沖輕推幅度的庫(kù)函數(shù)。在一種情況下,脈沖輕推被計(jì)算為傳遞必要的脈沖能量,使對(duì)象行進(jìn)與垂直回彈周邊(如果是水平運(yùn)動(dòng))的距離的固定百分比(如100%),或者使對(duì)象行進(jìn)與橫向回彈周邊(用于垂直運(yùn)動(dòng))的距離的固定百分比(如100%)O
[0062]圖1B描繪了對(duì)于結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)關(guān)于顯示框移動(dòng)對(duì)象,若干力的狀況的表示。作為選項(xiàng),本若干力的狀況1B00可以在本文介紹的實(shí)施例構(gòu)架和功能的語(yǔ)境中實(shí)施。同樣,在對(duì)象動(dòng)畫或其中任何方面中使用的若干力的狀況1B00也可以在任何期望的環(huán)境中實(shí)施。
[0063]某些用戶界面模型響應(yīng)于用戶輸入賦予對(duì)象速度。不過(guò)傳統(tǒng)模型具有若干缺陷要被應(yīng)對(duì),比如:
[0064]?傳統(tǒng)模型可能太迅速地減速至停止(如震動(dòng)行為)。
[0065]?傳統(tǒng)模型可能太緩慢地減速至停止(如緩慢行為)。[0066]?傳統(tǒng)模型觀察固定邊界,當(dāng)超過(guò)時(shí)使某些屏幕面積被浪費(fèi)。例如,如果要觀看的內(nèi)容比視口寬,那么過(guò)沖(如內(nèi)容的某些部分超出視口邊界)應(yīng)被調(diào)整(如通過(guò)調(diào)整內(nèi)容的位置)以便顯示盡可能多的內(nèi)容。本文公開了使用阻尼調(diào)整內(nèi)容位置的若干技術(shù)。
[0067]?硬停止(震動(dòng))或緩慢地賦予速度(緩慢(sluggish))可能是惱人地不真實(shí)的。
[0068]?回彈(尤其是如“硬”非彈性碰撞環(huán)境中的回彈那樣)可能使得對(duì)象在與用戶期望不同的某處結(jié)束,而通過(guò)回彈應(yīng)對(duì)過(guò)沖的傳統(tǒng)技術(shù)使用戶迷惑。
[0069]?傳統(tǒng)模型在許多其他行為方面可能是不真實(shí)的。
[0070]所以,在若干力的狀況1B00中給出了解決以上(和其他)缺陷并產(chǎn)生美感令人愉悅的運(yùn)動(dòng)行為的技術(shù)。再次參考經(jīng)典力學(xué)運(yùn)動(dòng),運(yùn)動(dòng)中的“對(duì)象”(如具有質(zhì)量值的對(duì)象)以不變速度移動(dòng)直到受到力的作用。所示的力學(xué)機(jī)制總和1B00包括摩擦模型150(如顯示為圖表的摩擦模型KO1,或顯示為代數(shù)方程的摩擦模型1502),它計(jì)算了與流體摩擦模型的力結(jié)合的滑動(dòng)摩擦模型的力的總和。
[0071]根據(jù)滑動(dòng)摩擦模型(如運(yùn)動(dòng)學(xué)摩擦模型),對(duì)象沿表面滑動(dòng)時(shí)由于摩擦而失去動(dòng)(運(yùn)動(dòng))能。在真實(shí)(如地面)設(shè)置中,摩擦與垂直于表面的力成正比;例如,由于對(duì)象(如虛擬對(duì)象)的(虛擬)重量而出現(xiàn)的力。這樣的力(見以下F_al)被模擬為與對(duì)象的質(zhì)量成正t匕。從而具有初始滑動(dòng)速度的對(duì)象在對(duì)象的動(dòng)能喪失于滑動(dòng)摩擦?xí)r將停止移動(dòng)。
[0072]示范實(shí)施例使用了摩擦模型1502,其包括滑動(dòng)摩擦項(xiàng)130 (如滑動(dòng)摩擦函數(shù))和流體摩擦項(xiàng)140 (如流體摩擦函數(shù))。在某些情況下,摩擦模型可以給出如下:
[0073]Fnet-Ffimd+Fsliding (等式 I)
[0074]或者,以另一種形式:
[0075]Ftotal=-(kfluidv+F_alkslidingsign(V))(等式 2)
[0076]其中:kfluid=作用在對(duì)象上的流體摩擦強(qiáng)度。預(yù)期為正值,而零值將意味著沒(méi)有流體摩擦;
[0077]ksliding=作用在對(duì)象上的滑動(dòng)摩擦強(qiáng)度。預(yù)期為正值,而零值將意味著沒(méi)有滑動(dòng)摩擦;
[0078]Fnormal=在對(duì)象與它沿其滑動(dòng)的表面之間的垂直力,通常由于重力引起;以及
[0079]sign(v)在v>0時(shí)為1,在v=0時(shí)為0,而在v<0時(shí)為-1。
[0080]等式I中的項(xiàng)Fsliding可以被展開為:
[0081 ] Fsliding= (Fnormal) * ( - Ksliding) *sign (v)
[0082]其中:
[0083]Fnormal=在對(duì)象與它沿其滑動(dòng)的表面之間的垂直或正交力。在某些模型中,F(xiàn)normal力是對(duì)象由于重力作用的重量。預(yù)期為正值,而零值將使滑動(dòng)摩擦對(duì)量Ftotal的貢獻(xiàn)為零。
[0084]在許多情況下,F(xiàn)normal可以是常數(shù)值,在對(duì)象速度從某一初始值連續(xù)變化到零而不過(guò)零的時(shí)段,Sign(V)也將是常數(shù);所以,在這樣的情況下,可以用單一常數(shù)1(__取代整個(gè)流體摩擦項(xiàng),它合并了真正的常數(shù)Ksliding、垂直力Fnmial和符號(hào)項(xiàng)Sign(V)。
[0085]以上等式中的摩擦項(xiàng)(如滑動(dòng)摩擦項(xiàng)130和流體摩擦項(xiàng)140)來(lái)自上述運(yùn)動(dòng)力學(xué)原理,并且能夠被區(qū)別如下:
[0086]?流體摩擦與速度(見等式I右邊的第一項(xiàng))成正比,因此流體摩擦在高速時(shí)起主要作用而在低速時(shí)作用不大。所以,僅使用流體摩擦的模型一開始將快速地從初始高速減速,但是在低速時(shí)將拖延長(zhǎng)得不真實(shí)的時(shí)間并花費(fèi)很長(zhǎng)時(shí)間才能停止。
[0087]?靜態(tài)摩擦是固定常數(shù),并且在低速時(shí)起主要作用,而在高速時(shí)作用不大。僅使用靜態(tài)摩擦的模型在初始速度很快時(shí)將花費(fèi)很長(zhǎng)時(shí)間減速下來(lái)。為了應(yīng)對(duì)高速度,滑動(dòng)摩擦系數(shù)可以很高,使得對(duì)象停止得非常突然而產(chǎn)生震動(dòng)和不真實(shí)的運(yùn)動(dòng)行為。
[0088]通過(guò)結(jié)合流體摩擦項(xiàng)和靜態(tài)摩擦項(xiàng),在應(yīng)對(duì)對(duì)象以任何速度行進(jìn)時(shí)的初始釋放時(shí),可以創(chuàng)建真實(shí)體驗(yàn)(因?yàn)樗c日常地表物理原理一致)。
[0089]現(xiàn)在再次參考若干力的狀況1B00,將滑動(dòng)摩擦模型與流體摩擦模型進(jìn)行對(duì)照,滑動(dòng)摩擦模型對(duì)低速(或靜止)對(duì)象作用最強(qiáng),流體摩擦模型對(duì)高速對(duì)象作用最強(qiáng)。把流體摩擦模型的作用與滑動(dòng)摩擦模型的作用合并,當(dāng)使對(duì)象以任何運(yùn)動(dòng)速度關(guān)于顯示框運(yùn)動(dòng)時(shí)都產(chǎn)生令人愉悅且看起來(lái)真實(shí)的運(yùn)動(dòng)模型。
[0090]狀況1B00中的若干力模擬了作為速度的函數(shù),相對(duì)于滑動(dòng)摩擦模型,來(lái)自流體摩擦模型的貢獻(xiàn)(如力)。例如,參考曲線Cs和曲線Cf,在速度范圍上給出了相對(duì)于滑動(dòng)摩擦模型的貢獻(xiàn)百分比(如3%)的流體摩擦模型的貢獻(xiàn)百分比(如1^%)。如圖所示,流體摩擦模型的百分比貢獻(xiàn)相對(duì)于滑動(dòng)摩擦模型一開始為低(如在低速),這種關(guān)系在速度范圍上被逆轉(zhuǎn),來(lái)自流體摩擦模型的力隨著速度而增大,最終在更高速度下起主要作用。
[0091]正如先前指出的那樣,摩擦模型可以給出如下:
[0092]Fnet-Ffluid+FsIiding
[0093]或者以另一種形式:
[0094]Ftotal-S% (Fsliding) +L% (Ffluid)
[0095]其中S%+L%=100%。
[0096]圖1C描繪了對(duì)于結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)關(guān)于顯示框移動(dòng)對(duì)象,若干力的狀況的曲線表示1C00。所示圖表給出了根據(jù)若干力把速度繪制為時(shí)間的函數(shù)的曲線圖。如圖所示,存在著許多可能的曲線,取決于指數(shù)衰減速率和斜率幅度以及其他變量和常數(shù)。如圖所示,這些曲線符合等式V (O=Vc^at - bt,其中Vci是初始速度,a和b分別是與流體/指數(shù)部分和滑動(dòng)/線性部分相關(guān)的常數(shù)。正先前表明的那樣,本文的改進(jìn)勝過(guò)了傳統(tǒng)模型,也就是,僅包括滑動(dòng)摩擦的傳統(tǒng)模型。為了適應(yīng)這樣的模型,即使在中等初始速度(更不用說(shuō)高初始速度),要使對(duì)象以及時(shí)形式停止,系數(shù)可能需要非常大。不過(guò),這樣的摩擦系數(shù)導(dǎo)致從更低初始速度不真實(shí)地快速和突然的減速。在低速或許有可能實(shí)現(xiàn)真實(shí)的減速(例如,使用低的滑動(dòng)摩擦系數(shù)),但是當(dāng)初始速度為高時(shí)對(duì)象為了減速將花費(fèi)非常長(zhǎng)的時(shí)間。
[0097]同樣,正如先前表明的那樣,本文的改進(jìn)勝過(guò)了傳統(tǒng)模型,也就是,僅包括流體摩擦的傳統(tǒng)模型。因?yàn)榱黧w摩擦與速度成正比,所以在更高速度更劇烈。不過(guò),流體摩擦導(dǎo)致對(duì)象在低速時(shí)拖延不真實(shí)的長(zhǎng)的時(shí)間。并且僅使用流體摩擦,對(duì)象在這些低速時(shí)發(fā)費(fèi)太長(zhǎng)時(shí)間幾乎不移動(dòng)。
[0098]復(fù)合摩擦模型(如使用滑動(dòng)摩擦和流體摩擦二者)起到很好的作用,因?yàn)榱黧w摩擦在高速起主要作用(對(duì)減速的前一部分產(chǎn)生真實(shí)的減速),而滑動(dòng)摩擦在慢速起主要作用(對(duì)減速的后一部分產(chǎn)生真實(shí)的減速)。不僅如此,還可以選擇若干系數(shù),模擬流體摩擦和滑動(dòng)摩擦對(duì)對(duì)象行為的貢獻(xiàn)。
[0099]可以按其他方式結(jié)合流體摩擦和滑動(dòng)摩擦。例如,不是把來(lái)自流體摩擦模型或滑動(dòng)摩擦模型的非零貢獻(xiàn)求和,而是可以在行為的特定時(shí)間窗口期間,來(lái)自僅一個(gè)模型或另一個(gè)模型的貢獻(xiàn)為非零的。
[0100]圖2描繪了用于結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)關(guān)于顯示框移動(dòng)對(duì)象的系統(tǒng)的框圖。作為選項(xiàng),本系統(tǒng)200可以在本文介紹的實(shí)施例構(gòu)架和功能的語(yǔ)境中實(shí)施。同樣,系統(tǒng)200或其中任何方面也可以在任何期望的環(huán)境中實(shí)施。
[0101]對(duì)于在臺(tái)式計(jì)算機(jī)應(yīng)用或網(wǎng)絡(luò)應(yīng)用中實(shí)施結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)的模型而言,方便的是使用積分器模型。圖2展示了根據(jù)某些實(shí)施例的用于運(yùn)動(dòng)的積分器模型。嚴(yán)格地作為示例,比如系統(tǒng)200中描述的模型之類的模型可以包括多個(gè)運(yùn)動(dòng)模型、包括多個(gè)摩擦模型(如摩擦模型150)、以及多種力學(xué)結(jié)合方式。如圖所示,流體摩擦和滑動(dòng)摩擦(如靜態(tài)摩擦或運(yùn)動(dòng)摩擦)都能夠被結(jié)合。
[0102]遍歷經(jīng)由系統(tǒng)200的流程,用戶通過(guò)人機(jī)界面設(shè)備220提供某種用戶輸入,人機(jī)界面設(shè)備220提供人機(jī)界面設(shè)備信號(hào)221,它又用于形成手勢(shì)205。手勢(shì)可以是離散手勢(shì)206(如擊鍵、點(diǎn)擊或屏幕觸摸)或連續(xù)手勢(shì)207(如鼠標(biāo)移動(dòng)或多點(diǎn)觸摸、輕拂手勢(shì)等),并且這樣的手勢(shì)被傳遞給用戶輸入模型210。用戶輸入模型接收手勢(shì)并將該手勢(shì)與諸如屏幕高度和屏幕寬度(如圖所示)的環(huán)境變量ZOS1結(jié)合,以確定能量(例如,賦予對(duì)象的能量)和質(zhì)量值(如對(duì)象被指派的質(zhì)量值、根據(jù)手勢(shì)的脈沖輕推被指派的質(zhì)量值等)的數(shù)值量形式的輸出。
[0103]用戶輸入模型210考慮與手勢(shì)輸入結(jié)合的環(huán)境變量208 (如屏幕尺寸、對(duì)象尺寸、信號(hào)校準(zhǔn)值等),并且確定要向換能器模塊212提供的能量“e”和質(zhì)量值“m”。從而換能器模塊把來(lái)自用戶(如手勢(shì))的能量和質(zhì)量值“m”的形式轉(zhuǎn)換為能量的形式,該能量被施加為關(guān)于顯示框要移動(dòng)的對(duì)象的速度。如圖所示,換能器輸出的形式為速度的變化,這種速度變化可以是小的加速度(比如說(shuō)從每秒100像素到每秒101像素),速度變化也可以是大的加速度(比如說(shuō)從靜止到每秒100像素)。同樣如圖所示,速度變化(表示為^)可以源自環(huán)境反饋(見環(huán)境反饋模塊214)。
[0104]這樣的速度變化被提供給運(yùn)動(dòng)積分器模塊218。并且,運(yùn)動(dòng)積分器模塊218結(jié)合環(huán)境變量(如由環(huán)境變量模塊提供)根據(jù)給定的速度變化執(zhí)行計(jì)算。例如,顯示對(duì)象可能從回彈周邊110彈離,回彈周邊的特征被提供為一組環(huán)境變量2182之一,在這樣的回彈中有可能失去某些能量及/或經(jīng)歷速度變化,可能包括運(yùn)動(dòng)方向的變化。這種現(xiàn)象有可能又被反饋給換能器模塊以說(shuō)明來(lái)自環(huán)境(如由于回彈事件)的能量(或能量損失)的形式,并且轉(zhuǎn)換為作為關(guān)于顯示框移動(dòng)對(duì)象的速度賦予的能量的形式。
[0105]除了先前介紹的關(guān)于顯示框移動(dòng)的、有可能與其他對(duì)象互動(dòng)或有可能與回彈周邊110互動(dòng)的對(duì)象之外,也可能顯示對(duì)象在視口下移動(dòng)。
[0106]圖3描繪了用于結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)關(guān)于顯示框移動(dòng)對(duì)象的系統(tǒng)內(nèi)對(duì)象通過(guò)視口308的動(dòng)畫。作為選項(xiàng),本旋轉(zhuǎn)木馬300可以在本文介紹的實(shí)施例構(gòu)架和功能的語(yǔ)境中實(shí)施。同樣,旋轉(zhuǎn)木馬300或其中任何方面也可以在任何期望的環(huán)境中實(shí)施。
[0107]如圖所示,圖3展示了根據(jù)某些實(shí)施例的帶有運(yùn)動(dòng)控制的旋轉(zhuǎn)木馬類型視口。嚴(yán)格地作為示例,旋轉(zhuǎn)木馬使用了結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)關(guān)于顯示框移動(dòng)對(duì)象的若干技術(shù)。
[0108]正如早先指出的那樣,傳統(tǒng)方式使用了控制圖標(biāo)310中的點(diǎn)擊,以便在視口 306中單幅圖像地移動(dòng)幻燈片(如單幅圖像SOS1、單幅圖像3082、單幅圖像3083等)。同樣,某些其他傳統(tǒng)方式使用了在這樣的控制圖標(biāo)中的點(diǎn)擊,以便把幻燈片移動(dòng)至并非精確等于一幅圖像所需距離的某種其他固定距離。并且其他傳統(tǒng)方式使用了拖動(dòng)手勢(shì)(如按下鼠標(biāo)按鈕的鼠標(biāo)運(yùn)動(dòng))以便單幅圖像地移動(dòng)幻燈軟片,使得通過(guò)視口 306相繼顯示下一幅單幅圖像。不過(guò),點(diǎn)擊控制圖標(biāo)或鼠標(biāo)拖動(dòng)技術(shù)并非在全部情景中都適用。作為示例,使用(例如)只有觸控板或橡皮頭風(fēng)格的鼠標(biāo)的便攜式設(shè)備時(shí)拖動(dòng)幻燈軟片不適用,對(duì)只有鍵盤的接口它也不適用(再例如)。在這樣的情形中,期望使用單次點(diǎn)擊(或擊鍵)以拖動(dòng)或移動(dòng)的某種和某些技術(shù)。
[0109]然而,實(shí)施這樣的技術(shù)提出了幾個(gè)問(wèn)題要解決,比如(I)使用離散手勢(shì)206時(shí),為了響應(yīng)離散手勢(shì)應(yīng)當(dāng)移動(dòng)多少單幅圖像? (2)使用離散手勢(shì)206時(shí),幻燈片應(yīng)移動(dòng)多快?如果幻燈片從A位置立即跳躍到B位置,用戶可能找不到原來(lái)的位置。然而,如果對(duì)象逐漸移動(dòng),這必須以節(jié)約用戶時(shí)間且與用戶的期待一致的方式實(shí)現(xiàn)。
[0110]在系統(tǒng)200中給出的若干函數(shù)包括環(huán)境變量,其又可以包括具有初始速度和達(dá)到停止所需時(shí)間的環(huán)境情景,和/或計(jì)算要行進(jìn)的總距離(如要前進(jìn)的單幅圖像的數(shù)量,以什么速度,以及什么時(shí)候減慢和什么時(shí)候停止等)。這樣的函數(shù)可以包括加速度曲線,比如以下所給出的那樣。
[0111]圖4顯示了曲線圖上對(duì)象速度的變化,曲線圖示出了結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)關(guān)于顯示框移動(dòng)對(duì)象的多種機(jī)制。作為選項(xiàng),顯示多種機(jī)制的本曲線圖400可以在本文介紹的實(shí)施例構(gòu)架和功能的語(yǔ)境中實(shí)施。同樣,能夠在若干系統(tǒng)或其中任何方面中實(shí)施的顯示多種狀況的曲線圖400也可以在任何期望的環(huán)境中實(shí)施。
[0112]諸如系統(tǒng)200給出的函數(shù)包括若干環(huán)境變量,它們又可以包括具有初始速度406、終止速度408以及在距離區(qū)間上從初始速度到終止速度408經(jīng)過(guò)的減速曲線(如f I (滑動(dòng)、流體)、f2 (滑動(dòng)、流體))的環(huán)境情景。在距離區(qū)間上從初始速度到終止速度408可經(jīng)過(guò)許多路徑,顯示多種機(jī)制的曲線圖400只不過(guò)描繪了一些。例如,顯示多種機(jī)制的曲線圖400描述了 “緩慢”減速曲線,其受到太低的初始速度并且隨著對(duì)象逼近Xfinal而迅速減速至非常慢的速度(但是可能太遲鈍以至于實(shí)際上未到達(dá)Xfinal)。標(biāo)注為“震動(dòng)”的另一條曲線以恒定速度從Xinitial移動(dòng)到Xfinal,然后突然停止。另一條減速曲線展示了從Xinitial到Xfinal通過(guò)線性降低速度的運(yùn)動(dòng),它被視為不真實(shí)的。又另外的曲線源自經(jīng)典運(yùn)動(dòng)力學(xué)的組合,也就是其中速度根據(jù)結(jié)合了滑動(dòng)摩擦與流體摩擦的函數(shù)而變化。
[0113]諸如系統(tǒng)200給出的函數(shù)能夠包括曲線圖,比如在前述段落中介紹的那些?;蛘撸瘮?shù)可包括在表中表示的減速曲線,還能包括具有初始速度和停止移動(dòng)所需時(shí)間的表,考慮了真實(shí)或虛擬的環(huán)境因素(如質(zhì)量值、要行進(jìn)的總距離、摩擦系數(shù)、粘度、表面特征等)。在某些情況下,函數(shù)包括X(t)(距離作為時(shí)間的函數(shù))的導(dǎo)數(shù)(如一階導(dǎo)數(shù))并能夠使用它受到控制,及/或能夠在靠近Xfinal的區(qū)間中包括運(yùn)動(dòng)的導(dǎo)數(shù)dx/dt。
[0114]通過(guò)結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)計(jì)算其運(yùn)動(dòng)的對(duì)象被視為提供了舒適且真實(shí)的運(yùn)動(dòng)。作為進(jìn)一步示例,如果用戶期望把對(duì)象移動(dòng)小距離,那么用戶以柔和輕拂方式給予輸入。或者,如果用戶期望把對(duì)象移動(dòng)大距離,那么用戶給予急速拂動(dòng)。在任一情況下,因?yàn)閮?nèi)容平穩(wěn)地移動(dòng),所以用戶不會(huì)丟失其位置。
[0115]上述柔和輕拂只不過(guò)是手勢(shì)的一種可能,并且根據(jù)手勢(shì)的若干方面能夠與急速拂動(dòng)區(qū)分開。例如,可以根據(jù)鼠標(biāo)按鈕向下與鼠標(biāo)按鈕向上之間的持續(xù)時(shí)間判定柔和輕拂?;蛘?,能根據(jù)鍵按下按鍵放開之間的持續(xù)時(shí)間判定柔和輕拂。
[0116]上述手勢(shì)的若干方面能夠被施加到不同特征的窗口對(duì)象,并且被施加到不同特征的兩個(gè)窗口對(duì)象的相同手勢(shì)(或具有相同手勢(shì)方面的不同手勢(shì))在各自窗口對(duì)象上產(chǎn)生了兩種不同的動(dòng)畫。例如,輕推可引起第一動(dòng)畫被施加到第一窗口對(duì)象,第一動(dòng)畫特征是基于第一窗口對(duì)象的質(zhì)量值和手勢(shì)的某方面(如輕拂)的。具有與第一輕推相同輕推方面(如相同輕拂)的輕推的另一次出現(xiàn)有可能引起向第二窗口對(duì)象施加動(dòng)畫,第二窗口對(duì)象的動(dòng)畫特征是基于第二窗口對(duì)象的質(zhì)量值和該手勢(shì)的該方面的。在示范情況下,由于質(zhì)量值不同(即使確定動(dòng)畫所依據(jù)的手勢(shì)方面相同),第二窗口對(duì)象的動(dòng)畫與第一動(dòng)畫不同。
[0117]使用這種技術(shù),用戶保持了顯示的方位,因?yàn)榇翱趯?duì)象以真實(shí)方式移動(dòng)。
[0118]圖5描繪了用于結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)關(guān)于顯示框移動(dòng)對(duì)象的系統(tǒng)內(nèi)的反饋回路的框圖。作為選項(xiàng),本系統(tǒng)500可以在本文介紹的實(shí)施例構(gòu)架和功能的語(yǔ)境中實(shí)施。同樣,系統(tǒng)500或其中任何方面也可以在任何期望的環(huán)境中實(shí)施。
[0119]在某些情況下,運(yùn)動(dòng)積分器模塊218的實(shí)施例產(chǎn)生反饋,該反饋能夠來(lái)源于環(huán)境(如經(jīng)由環(huán)境反饋模塊214)或來(lái)源于用戶對(duì)屏幕上若干變化的互動(dòng)(如經(jīng)由用戶反饋模塊514)。例如,對(duì)象有可能穿過(guò)回彈周邊(如過(guò)沖(overshoot))并且作為響應(yīng)受到某些特定運(yùn)動(dòng)(如彈回到過(guò)沖附近的位置)。存在可能遇到和/或仿真的各種各樣不同的回彈周邊。例如,對(duì)象有可能通過(guò)碰撞剛性固定(仿真的)對(duì)象而經(jīng)歷彈性或非彈性碰撞,導(dǎo)致方向突然逆轉(zhuǎn),有可能速度降低。作為替代,對(duì)象可能碰撞柔軟的固定對(duì)象,它將吸收某些或全部碰撞能量。作為又一種替代,對(duì)象可能遇到可動(dòng)彈簧似的對(duì)象,它將暫時(shí)存儲(chǔ)某些或全部碰撞能量,然后在另一個(gè)方向上將其返回給對(duì)象。這樣的彈簧似的周邊可以經(jīng)歷阻尼也可以不經(jīng)歷阻尼,阻尼意味著某些碰撞能量會(huì)消散而不返回到該對(duì)象。重要的是注意,這些僅僅是可能的回彈周邊的實(shí)例,的確存在著其他回彈周邊。當(dāng)然,當(dāng)用戶認(rèn)為橫越“太慢”時(shí),對(duì)象有可能受到附加的用戶輸入。用戶可以經(jīng)由附加的手勢(shì)輸入而添加附加的速度?;蛘?,對(duì)象有可能與另一個(gè)對(duì)象碰撞,或者到達(dá)虛擬邊界(如虛擬幻燈片的“末端”)。在這些和其他情況下,系統(tǒng)500用于處理來(lái)自反饋回路的信號(hào)。
[0120]至于過(guò)沖和返回,可以使用結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)的模型實(shí)現(xiàn)期望的運(yùn)動(dòng)。在某些這樣的情況下,臨界阻尼彈簧模型用于模擬能量是如何從動(dòng)力學(xué)運(yùn)動(dòng)的突變或漸變(如由于在回彈周邊的碰撞或其他互動(dòng))被轉(zhuǎn)換為逆轉(zhuǎn)方向的動(dòng)力學(xué)運(yùn)動(dòng)的。這被用戶視為“真實(shí)的”,因?yàn)樗M了彈簧和減震器的真實(shí)世界情形。此外,與上面的摩擦模型150結(jié)合時(shí),運(yùn)動(dòng)能夠被描述為相當(dāng)平滑連續(xù)的函數(shù),即使在碰撞時(shí)刻(如與回彈周邊的碰撞),以及即使當(dāng)對(duì)象由于碰撞而改變方向時(shí)。碰撞作用在滑動(dòng)對(duì)象上仿佛它擊中了帶有彈簧的減震器。它是平滑運(yùn)動(dòng),運(yùn)動(dòng)響應(yīng)快而不太突然。
[0121]使用臨界阻尼彈簧意味著盡快返回到中間位置而不過(guò)沖。撞擊(如與回彈周邊)后對(duì)象快速地減速并且“自然地”瞬間停止。能夠調(diào)諧彈簧的硬度和減震器的阻尼系數(shù)以調(diào)整應(yīng)當(dāng)使其多快地停止移動(dòng),以及在彈回動(dòng)作中向?qū)ο蠓祷囟嗌倌芰?如果有的話)。作為另一個(gè)實(shí)例,當(dāng)在視口下操縱的幻燈片到達(dá)卷末端時(shí)(如幻燈片末端處的最后單幅圖像),幻燈片將表現(xiàn)為仿佛它遭遇了臨界阻尼彈簧以至于盡可能快地返回到幻燈片卷位置的末端,同時(shí)保持真實(shí)而沒(méi)有過(guò)沖。
[0122]模擬在碰撞或其他互動(dòng)點(diǎn)開始的動(dòng)畫行為的一種可能性是包括來(lái)自臨界阻尼彈簧項(xiàng)的力:
[0123]Fnet-FsiIding+FfIuid+Fspring (等式 3)[0124]在涉及碰撞的實(shí)施例中(如與回彈周邊碰撞等),動(dòng)畫下的顯示對(duì)象的能量被臨界阻尼彈簧消散。在示范情況下,動(dòng)畫下的顯示對(duì)象的能量完全被臨界阻尼彈簧消散。在這樣的示范情況下,隨著對(duì)象過(guò)沖并減速,某些初始能量被消散,某些被存儲(chǔ)在彈簧中,然后把存儲(chǔ)的能量返回到對(duì)象,使其在相反方向上加速。在這種示范情況下,阻尼以一速率連續(xù)地消散動(dòng)能,使得恰好在對(duì)象返回到回彈周邊處的初始碰撞點(diǎn)(或初始互動(dòng)點(diǎn))時(shí)全部動(dòng)能已經(jīng)被消耗,使之平穩(wěn)滑動(dòng)至停止。所以,動(dòng)畫下的顯示對(duì)象經(jīng)過(guò)回彈周邊,平穩(wěn)地逆轉(zhuǎn)方向,并且在非??拷鲎颤c(diǎn)的一點(diǎn)處逐漸停止移動(dòng)。
[0125]在某些情況下,當(dāng)用戶認(rèn)為橫越“太慢”時(shí),對(duì)象有可能經(jīng)受附加的用戶輸入。用戶可以經(jīng)由附加的手勢(shì)輸入而添加附加的速度,比如附加的輕拂或擊鍵或鼠標(biāo)點(diǎn)擊等。
[0126]應(yīng)認(rèn)識(shí)到,某些手勢(shì)包括速度概念,并且在某些情況下確定穩(wěn)定信號(hào)(如從信號(hào)中去除了噪聲)可以通過(guò)在某范圍的時(shí)間步上采樣一系列值并且僅選擇某些先前樣本進(jìn)行處理(如進(jìn)行濾波或平均)來(lái)實(shí)現(xiàn)。
[0127]現(xiàn)在考慮以上所示和介紹的系統(tǒng),實(shí)現(xiàn)對(duì)象跨顯示屏幕運(yùn)動(dòng)的逼真動(dòng)畫的方法可通過(guò)如下步驟來(lái)實(shí)踐:接收來(lái)自人機(jī)界面設(shè)備的手勢(shì),然后根據(jù)手勢(shì)的某些方面(如柔和輕拂、急速輕拂、強(qiáng)度等)把顯示對(duì)象瞬間加速至初始速度,并且對(duì)顯示對(duì)象施加動(dòng)畫,其中動(dòng)畫把滑動(dòng)摩擦項(xiàng)與流體摩擦項(xiàng)結(jié)合起來(lái)以確定速度的瞬間變化(如顯示框之間移動(dòng)的距離的變化)。為了產(chǎn)生美感令人愉悅的運(yùn)動(dòng),同時(shí)行進(jìn)量在顯示最新內(nèi)容方面而又保持某些重疊背景方面對(duì)用戶是有用的,在收到了不具有固有幅度的離散手勢(shì)(比如點(diǎn)擊或按鈕按壓)之后,計(jì)算初始速度以賦予顯示對(duì)象虛擬能量,使得施加第一動(dòng)畫和支配虛擬能量損失的規(guī)則將使對(duì)象沿運(yùn)動(dòng)方向行進(jìn)大約等于視口長(zhǎng)度的85%的距離后停止。在運(yùn)動(dòng)方向上大約等于視口長(zhǎng)度的85%以外的其他值作為替代也可以使用。在默認(rèn)行進(jìn)距離將導(dǎo)致對(duì)象遇到回彈周邊的情景下,行進(jìn)距離和賦予的對(duì)應(yīng)能量可以也可以不減小以避免碰撞。在離散手勢(shì)內(nèi)在地包含幅度的 情況下,比如來(lái)自測(cè)量每次擊鍵的力和/或速度的鍵盤的按鍵動(dòng)作,手勢(shì)的幅度可以考慮也可以不考慮,并且在確定賦予對(duì)象的能量時(shí)可以起某種作用也可以不起作用。
[0128]當(dāng)然,有可能在通過(guò)行進(jìn)距離的動(dòng)畫過(guò)程中,顯示對(duì)象與另一個(gè)顯示對(duì)象碰撞。在這種和其他情況下,第二動(dòng)畫(如用于碰撞/停止)和第三動(dòng)畫(如用于彈回)被應(yīng)用,有可能包括來(lái)自阻尼彈簧(如臨界阻尼彈簧)的力。
[0129]這樣的動(dòng)畫的復(fù)雜度會(huì)隨著真實(shí)程度的提高而增加,從而應(yīng)當(dāng)迅速定義編程框架以便緩解實(shí)現(xiàn)期望動(dòng)畫的編程負(fù)擔(dān)。
[0130]圖6描繪了顯示在用于結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)關(guān)于顯示框移動(dòng)對(duì)象的系統(tǒng)中使用的動(dòng)畫框架的框圖。作為選項(xiàng),本系統(tǒng)600可以在本文介紹的實(shí)施例構(gòu)架和功能的語(yǔ)境中實(shí)施。同樣,系統(tǒng)600或其中任何方面也可以在任何期望的環(huán)境中實(shí)施。
[0131]結(jié)合經(jīng)典運(yùn)動(dòng)力學(xué)關(guān)于顯示框移動(dòng)對(duì)象的一個(gè)便利是提供庫(kù),庫(kù)包括模型(如經(jīng)典力學(xué)模型)、脈沖運(yùn)動(dòng)控制和多種實(shí)用功能(如顯示模型、預(yù)構(gòu)動(dòng)畫等)。
[0132]這樣的便利變得越來(lái)越有利,因?yàn)殚_發(fā)人員日益關(guān)注創(chuàng)建高度互動(dòng)并且具有非常流暢的用戶界面運(yùn)動(dòng)的網(wǎng)頁(yè)和網(wǎng)絡(luò)應(yīng)用。提供豐富的桌面應(yīng)用的障礙之一是使用在Javascript中可得到的工具實(shí)現(xiàn)動(dòng)畫的困難。這樣的困難的原因是:
[0133]?在Javascript中缺少真正線程支持。[0134]?缺少非忙碌“睡眠”功能。
[0135]?要求僅使用本地Javascript和特定版本的CSS(如由于這些語(yǔ)言被大多數(shù)或全部瀏覽器所服務(wù))的代碼開發(fā)或平臺(tái)約束。
[0136]一種解決方案是開發(fā)動(dòng)畫框架(包括庫(kù))以用于執(zhí)行帶有本文公開特征的基于框的動(dòng)畫。
[0137]圖6展示了具有動(dòng)畫庫(kù)602的這樣的框架,動(dòng)畫庫(kù)602包括模型、脈沖運(yùn)動(dòng)控制和多種實(shí)用方法。在框架的示范使用中:
[0138]?使用庫(kù)的程序員能夠快速容易地定義如何繪制窗口或其他顯示對(duì)象(如顯示對(duì)象112:、顯示對(duì)象1122)。
[0139]?程序員應(yīng)能快速容易地把動(dòng)畫對(duì)象與特定顯示對(duì)象關(guān)聯(lián)起來(lái),并且能夠?qū)εc動(dòng)畫對(duì)象606相關(guān)聯(lián)的特定顯示對(duì)象調(diào)用動(dòng)畫。
[0140]?程序員不必處理何時(shí)呈現(xiàn)各幀的具體細(xì)節(jié)。
[0141]?在主機(jī)的限制內(nèi)盡可能平滑地呈現(xiàn)動(dòng)畫,然而動(dòng)畫不過(guò)度地消耗系統(tǒng)資源。
[0142]?動(dòng)畫不使終端用戶的步調(diào)慢下來(lái)。
[0143]在一個(gè)實(shí)施例中,庫(kù)的客戶(如客戶應(yīng)用610)創(chuàng)建動(dòng)畫對(duì)象并定義方法doFrameO。這個(gè)doFr ame O方法在動(dòng)畫期間將由庫(kù)代表客戶調(diào)用。庫(kù)收到四個(gè)變?cè)?argument)(如從客戶應(yīng)用610):
[0144].0bject:是DOM的一部分并且具有ID的任何HTML元素;動(dòng)畫所作用的主對(duì)象。
[0145].Vtj和Vf:在動(dòng)畫范圍內(nèi)的兩個(gè)數(shù)字常數(shù),旨在用作初始和終止值。
[0146].T:要呈現(xiàn)的幀進(jìn)入動(dòng)畫的時(shí)間量,跨區(qū)間[0,I]規(guī)范化;動(dòng)畫的整個(gè)持續(xù)時(shí)間在呈現(xiàn)該幀時(shí)已經(jīng)過(guò)去的那部分。
[0147]另外,能夠定義類庫(kù),并且面向?qū)ο竽P湍鼙挥^察。例如:
[0148]ANIM.Animations, fade = new Object ();
[0149]ANIM.Animations, fade.doFrame = F (obj, vO, vF, t)
[0150]{
[0151]var opacity = vO + t * (vF - vO);
[0152]obj.style, opacity = opacity;
[0153]obj.style, filter = ’alpha(opacity=,+Math, round(opacity*100)+’)’ ;
[0154]}
[0155]如果在動(dòng)畫結(jié)尾應(yīng)當(dāng)采取某種特殊動(dòng)作的話,客戶應(yīng)用610還具有實(shí)施doEndO方法的選項(xiàng)。在這個(gè)示例中,庫(kù)將檢查這個(gè)方法的存在并且如果定義了它的話則調(diào)用它。它接收兩個(gè)變?cè)?obj和vF。
[0156]為了開始動(dòng)畫,客戶應(yīng)用只要調(diào)用單個(gè)方法animate。
[0157]例如,給出了對(duì)象“ANM “:
[0158]ANIM.animate (obj, ‘fade,, O, I, 500);
[0159]以上示例將使對(duì)象obj通過(guò)遵循由方法“animate”使用的規(guī)則而在500ms (半秒)的過(guò)程中從完全透明淡入到完全不透明。在示范實(shí)施例中,方法“animate”有七個(gè)變?cè)渥詈髢蓚€(gè)是可選的。
[0160]概要:[0161]ANIM.animate=
[0162]F(obj, animation, vO, vF, duration, delay, callback)
[0163]其中:
[0164]obj=被操縱的對(duì)象
[0165]animation=要使用的動(dòng)畫(如漸變)
[0166]VO=初始值
[0167]VF=終止值
[0168]duration=該動(dòng)畫應(yīng)當(dāng)持續(xù)多久
[0169]delay=開始動(dòng)畫前等待多長(zhǎng)時(shí)間(在客戶希望把若干動(dòng)畫鏈接在一起并且希望動(dòng)畫η-1完成后立即開始動(dòng)畫η的情況下提供給客戶;如果未明確規(guī)定,則假設(shè)為0,意味著代碼行一執(zhí)行就開始動(dòng)畫)。
[0170]callback=當(dāng)動(dòng)畫完成時(shí)將作為javascript代碼評(píng)估的可選字符串。這與可選的doEnd方法用于類似目的。差異是這個(gè)calIback應(yīng)用于特定的動(dòng)畫調(diào)用(如它會(huì)應(yīng)用在淡入一個(gè)特定的頁(yè)面元素時(shí))。方法doEnd適用于動(dòng)畫的每次調(diào)用(如doEnd應(yīng)用于無(wú)論何時(shí)淡入或淡出任何事物時(shí))。
[0171]庫(kù)提供了處理幀定時(shí)的一組方法。animate方法用于開始動(dòng)畫。核心功能利用了使用setTimeoutO對(duì)未來(lái)執(zhí)行的代碼和事件進(jìn)行調(diào)度的能力。方法setTimeout展示的特征使得瀏覽器大約在計(jì)劃執(zhí)行受調(diào)度的代碼時(shí)執(zhí)行它。不過(guò),取決于瀏覽器和系統(tǒng)負(fù)載,受調(diào)度的代碼可以比計(jì)劃執(zhí)行它的時(shí)間更晚或甚至更早地執(zhí)行。
[0172]每次執(zhí)行代碼時(shí)庫(kù)都檢查實(shí)際時(shí)間。庫(kù)把這個(gè)絕對(duì)時(shí)間轉(zhuǎn)換為t值(如時(shí)間值),其反映了動(dòng)畫從tQ向tfinal已經(jīng)前進(jìn)了多遠(yuǎn),然后調(diào)用方法doFrame。瀏覽器在前一幀之后16ms調(diào)度要呈現(xiàn)的下一幀。
[0173].16ms的標(biāo)稱幀間隔對(duì)應(yīng)于每秒60幀。該速率對(duì)應(yīng)于大多數(shù)現(xiàn)代(IXD)監(jiān)視器的最大刷新速率,也大約是人的眼睛所能夠感知的極限。任何比16ms間隔更快的刷新動(dòng)畫都將不再具有任何人能夠感知的效應(yīng)。
[0174]?在慢機(jī)器上,下一幀實(shí)際上可能超過(guò)16ms也沒(méi)有呈現(xiàn)。不過(guò),由于庫(kù)根據(jù)時(shí)間片段調(diào)度事件,并且在確定要呈現(xiàn)哪些事件時(shí)考慮了實(shí)際時(shí)間,所以庫(kù)將呈現(xiàn)的事件對(duì)應(yīng)于代碼實(shí)際運(yùn)行之時(shí),而不是它最初計(jì)劃運(yùn)行之時(shí)。這意味著動(dòng)畫將隨著系統(tǒng)資源變得不足而適度地降級(jí)。例如,在非常慢的機(jī)器上,動(dòng)畫有可能由于幀速率低而稍微地“突變”,但是在正確的預(yù)期的總持續(xù)時(shí)間期間動(dòng)畫將仍然完整。這種智能化投放幀的方法極為優(yōu)越,使動(dòng)畫呈現(xiàn)每個(gè)單幀,所以比其假設(shè)持續(xù)時(shí)間更長(zhǎng),這可具有阻止用戶使用該應(yīng)用繼續(xù)的效果。
[0175]有時(shí)瀏覽器在代碼按調(diào)度運(yùn)行之前就執(zhí)行代碼。這可能導(dǎo)致機(jī)器陷入困境,因?yàn)樗鼘⒂?jì)算許多不必要的幀。例如,當(dāng)監(jiān)視器僅能夠每16ms顯示一幀時(shí),瀏覽器可能要計(jì)算每I至2ms的幀。庫(kù)通過(guò)對(duì)最新的幀在何時(shí)產(chǎn)生保持跟蹤并智能地檢查產(chǎn)生新幀是否有益而避免了這樣的不必要的系統(tǒng)減速。如果呈現(xiàn)某幀無(wú)益,庫(kù)就不呈現(xiàn)該幀,而是改為僅調(diào)度下一幀在它會(huì)有益時(shí)立即呈現(xiàn)。例如,如果計(jì)劃的事件發(fā)生在最后一幀呈現(xiàn)之后僅4ms,庫(kù)將不呈現(xiàn)新幀。庫(kù)而是會(huì)調(diào)度要在12ms呈現(xiàn)的下一幀,使得從呈現(xiàn)最近幀以來(lái)總共前進(jìn)了16ms ο[0176]當(dāng)然,可以開發(fā)并且很快而容易地使用無(wú)數(shù)動(dòng)畫,使得動(dòng)畫盡可能平滑地運(yùn)行而不給機(jī)器增加負(fù)擔(dān)。不僅如此,動(dòng)畫在更老硬件上適度地降級(jí)。
[0177]圖7描繪了庫(kù)700的組織。作為選項(xiàng),本庫(kù)700可以在本文介紹的實(shí)施例構(gòu)架和功能的語(yǔ)境中實(shí)施。同樣,庫(kù)700或其中任何操作也可以在任何期望的環(huán)境中實(shí)施。
[0178]如圖所示,庫(kù)700被組織為層次結(jié)構(gòu),包括摩擦模型、彈簧和阻尼模型、力學(xué)合成器和幀環(huán)境模型。
[0179]本公開的附加實(shí)施例
[0180]圖8描繪了執(zhí)行計(jì)算機(jī)系統(tǒng)的某些功能的系統(tǒng)的框圖。作為選項(xiàng),本系統(tǒng)800可以在本文介紹的實(shí)施例構(gòu)架和功能的語(yǔ)境中實(shí)施。不過(guò),系統(tǒng)800或其中任何操作當(dāng)然可以在任何期望的環(huán)境中實(shí)施。如圖所示,系統(tǒng)800包括至少一個(gè)處理器和至少一個(gè)存儲(chǔ)器,存儲(chǔ)器用于存儲(chǔ)系統(tǒng)的若干操作所對(duì)應(yīng)的程序指令。如圖所示,使用模塊可訪問(wèn)的程序指令能夠整體地或部分地執(zhí)行某操作。若干模塊被連接到通信通道805,任何操作都能夠在通信通道805上與其他操作通信。系統(tǒng)的若干模塊能夠單獨(dú)地或結(jié)合地執(zhí)行系統(tǒng)800內(nèi)的方法操作。在系統(tǒng)800內(nèi)執(zhí)行的任何操作都可以以任何順序執(zhí)行,除非在權(quán)利要求書中指定。圖8的實(shí)施例實(shí)施了計(jì)算機(jī)系統(tǒng)的一部分,顯示為系統(tǒng)800,包括執(zhí)行一組程序代碼指令的計(jì)算機(jī)處理器(見模塊810)和訪問(wèn)存儲(chǔ)器的模塊,存儲(chǔ)器保持的程序代碼指令用于執(zhí)行:接收離散手勢(shì),離散手勢(shì)包括來(lái)自人機(jī)界面設(shè)備的信號(hào)(見模塊820);根據(jù)離散手勢(shì)的至少一個(gè)方面,將顯示對(duì)象瞬間加速到初始速度(見模塊830);根據(jù)至少該初始速度,把第一動(dòng)畫施加到顯示對(duì)象,其中第一動(dòng)畫包括摩擦模型,摩擦模型結(jié)合了滑動(dòng)摩擦項(xiàng)與流體摩擦項(xiàng)以確定速度的瞬間變化(見模塊840)。
[0181]使窗口對(duì)象關(guān)于顯示框移動(dòng)的其他示范情況包括根據(jù)各窗口對(duì)象的質(zhì)量值把一個(gè)或多個(gè)移動(dòng)施加到窗口對(duì)象。例如,某些實(shí)施例把第一移動(dòng)施加到第一窗口對(duì)象,其中第一移動(dòng)基于第一窗口對(duì)象的第一質(zhì)量值,把第二移動(dòng)施加到第二窗口對(duì)象,其中第二移動(dòng)基于第二窗口對(duì)象的第二質(zhì)量值。在涉及多個(gè)窗口的這樣的情況下,當(dāng)?shù)诙|(zhì)量值與第一質(zhì)量值不同時(shí)第二移動(dòng)與第一移動(dòng)不同。
[0182]圖9描繪了執(zhí)行計(jì)算機(jī)系統(tǒng)的某些功能的系統(tǒng)的框圖。作為選項(xiàng),本系統(tǒng)900可以在本文介紹的實(shí)施例構(gòu)架和功能的語(yǔ)境中實(shí)施。不過(guò),系統(tǒng)900或其中任何操作當(dāng)然可以在任何期望的環(huán)境中實(shí)施。如圖所示,系統(tǒng)900包括至少一個(gè)處理器和至少一個(gè)存儲(chǔ)器,存儲(chǔ)器用于存儲(chǔ)系統(tǒng)的若干操作所對(duì)應(yīng)的程序指令。如圖所示,使用模塊可訪問(wèn)的程序指令能夠整體地或部分地執(zhí)行某操作。若干模塊被連接到通信通道905,并且任何操作都能夠在通信通道905上與其他操作通信。系統(tǒng)的若干模塊能夠單獨(dú)地或結(jié)合地執(zhí)行系統(tǒng)900內(nèi)的方法操作。在系統(tǒng)900內(nèi)執(zhí)行的任何操作都可以以任何順序執(zhí)行,除非可以在權(quán)利要求書中指定。圖9的實(shí)施例實(shí)施了計(jì)算機(jī)系統(tǒng)的一部分,顯示為系統(tǒng)900,包括執(zhí)行一組程序代碼指令的計(jì)算機(jī)處理器(見模塊910)和訪問(wèn)存儲(chǔ)器的模塊,存儲(chǔ)器保持的程序代碼指令用于執(zhí)行:接收手勢(shì),手勢(shì)包括來(lái)自人機(jī)界面設(shè)備的信號(hào)(見模塊920);確定環(huán)境變量,環(huán)境變量至少包括來(lái)自人機(jī)界面設(shè)備的手勢(shì)的強(qiáng)度、顯示框的高度、顯示框的寬度和窗口對(duì)象的質(zhì)量值(見模塊930);根據(jù)質(zhì)量值和手勢(shì)的至少一個(gè)方面,把第一動(dòng)畫施加到窗口對(duì)象(見模塊940);根據(jù)質(zhì)量值,把第二動(dòng)畫施加到窗口對(duì)象,其中第二動(dòng)畫包括通過(guò)結(jié)合滑動(dòng)摩擦項(xiàng)與流體摩擦項(xiàng)根據(jù)質(zhì)量值計(jì)算窗口對(duì)象的運(yùn)動(dòng)(見模塊950)。[0183]系統(tǒng)架構(gòu)綜述
[0184]圖10描繪了適于實(shí)施本公開實(shí)施例的計(jì)算機(jī)系統(tǒng)1000的實(shí)例框圖。計(jì)算機(jī)系統(tǒng)1000包括用于傳輸信息的總線1006或其他通信機(jī)構(gòu),它互連若干子系統(tǒng)和設(shè)備,比如處理器1007、系統(tǒng)存儲(chǔ)器1008 (如RAM)、靜態(tài)儲(chǔ)存設(shè)備1009 (如ROM)、盤驅(qū)動(dòng)器1010 (如磁性或光學(xué))、數(shù)據(jù)接口 1033、通信接口 1014 (如調(diào)制解調(diào)器或以太網(wǎng)卡)、顯示器1011 (如CRT或IXD)、輸入設(shè)備1012 (如鍵盤、光標(biāo)控制)、外部數(shù)據(jù)儲(chǔ)存庫(kù)1031和數(shù)據(jù)庫(kù)1032。
[0185]根據(jù)本公開一實(shí)施例,計(jì)算機(jī)系統(tǒng)1000執(zhí)行若干特定操作,方式為處理器1007執(zhí)行在系統(tǒng)存儲(chǔ)器1008中包含的一條或多條指令的一個(gè)或多個(gè)序列。這樣的指令可以從另一計(jì)算機(jī)可讀/可用介質(zhì)讀入到系統(tǒng)存儲(chǔ)器1008中,比如靜態(tài)儲(chǔ)存設(shè)備1009或盤驅(qū)動(dòng)器1010。在替代實(shí)施例中,硬連線電路可以用于取代軟件指令或與之結(jié)合以實(shí)施本公開。因此,本公開的實(shí)施例不限于硬件電路和/或軟件的任何特定結(jié)合。在一實(shí)施例中,術(shù)語(yǔ)“邏輯器”應(yīng)意味著用于實(shí)施本公開的全部或部分的軟件或硬件的任何組合。
[0186]本文使用的術(shù)語(yǔ)“計(jì)算機(jī)可讀介質(zhì)”或“計(jì)算機(jī)可用介質(zhì)”是指參與向處理器1007提供用于執(zhí)行的指令的任何介質(zhì)。這樣的介質(zhì)可以采取許多形式,包括但不限于非易失性介質(zhì)和易失性介質(zhì)。非易失性介質(zhì)包括例如光盤或磁盤,比如盤驅(qū)動(dòng)器1010。易失性介質(zhì)包括動(dòng)態(tài)存儲(chǔ)器,比如系統(tǒng)存儲(chǔ)器1008。
[0187]計(jì)算機(jī)可讀介質(zhì)的普通形式包括例如軟盤、硬盤、磁帶或任何其他磁性介質(zhì);CD-ROM或任何其他光學(xué)介質(zhì);穿孔卡片、紙帶或具有穿孔圖案的任何其他物理介質(zhì);RAM、PROM、EPROM、FLASH-EPR0M或任何其他存儲(chǔ)器芯片或盒式磁帶,或者計(jì)算機(jī)能夠從其讀取數(shù)據(jù)的任何其他非暫時(shí)性介質(zhì)。
[0188]在本公開的實(shí)施例中,實(shí)踐本公開的指令序列的執(zhí)行由計(jì)算機(jī)系統(tǒng)1000的單個(gè)實(shí)例進(jìn)行。根據(jù)本公開的其他實(shí)施例,由通信鏈路1015 (如LAN、PTSN或無(wú)線網(wǎng)絡(luò))連接的兩個(gè)或更多計(jì)算機(jī)系統(tǒng)1000可以彼此協(xié)調(diào)地執(zhí)行實(shí)踐本公開所需的指令序列。
[0189]計(jì)算機(jī)系統(tǒng)1000可以經(jīng)由通信鏈路1015和通信接口 1014發(fā)送和接收消息、數(shù)據(jù)和指令,包括程序即應(yīng)用代碼。收到的程序代碼可以由處理器1007在其被收到時(shí)執(zhí)行,并且/或者存儲(chǔ)在盤驅(qū)動(dòng)器1010或其他非易失性存儲(chǔ)器中用于后來(lái)執(zhí)行。計(jì)算機(jī)系統(tǒng)1000可以經(jīng)由數(shù)據(jù)接口 1033與外部數(shù)據(jù)儲(chǔ)存庫(kù)1031上的數(shù)據(jù)庫(kù)通信。實(shí)施本文使用的模塊時(shí)能夠使用系統(tǒng)存儲(chǔ)器1008的任何部分以及任何程度的硬連線電路的任何混合,包括實(shí)施為處理器1007的硬連線電路。
[0190]在以上說(shuō)明書中,已經(jīng)參考本公開的特定實(shí)施例介紹了本公開。不過(guò)顯而易見,可以對(duì)其進(jìn)行多種修改和改變而不脫離本公開的更廣闊的實(shí)質(zhì)和范圍。例如,參考處理動(dòng)作的特定順序介紹了上述處理流程。不過(guò),介紹的許多處理動(dòng)作的順序都可以改變而不影響本公開的范圍或操作。所以,說(shuō)明書和附圖被視為示例意義而不是限制意義。
【權(quán)利要求】
1.一種計(jì)算機(jī)實(shí)施的方法,用于關(guān)于顯示框移動(dòng)窗口對(duì)象,所述方法包括: 接收手勢(shì),所述手勢(shì)包括來(lái)自人機(jī)界面設(shè)備的信號(hào); 確定環(huán)境變量,所述環(huán)境變量至少包括來(lái)自人機(jī)界面設(shè)備的手勢(shì)的強(qiáng)度以及窗口對(duì)象的質(zhì)量值,其中窗口對(duì)象的質(zhì)量值對(duì)應(yīng)于窗口對(duì)象的移動(dòng)的慣性值; 向第一窗口對(duì)象施加第一移動(dòng),第一移動(dòng)基于第一窗口對(duì)象的第一質(zhì)量值以及手勢(shì)的至少一個(gè)方面;以及 向第二窗口對(duì)象施加第二移動(dòng),第二移動(dòng)基于第二窗口對(duì)象的第二質(zhì)量值以及手勢(shì)的相同至少一個(gè)方面; 其中,當(dāng)?shù)诙|(zhì)量值與第一質(zhì)量值不同時(shí),第二移動(dòng)與第一移動(dòng)不同。
2.根據(jù)權(quán)利要求1的方法,其中,第一窗口對(duì)象的第一質(zhì)量值基于第一窗口對(duì)象的內(nèi)容。
3.根據(jù)權(quán)利要求1的方法,其中,第二窗口對(duì)象的第二質(zhì)量值基于第二窗口對(duì)象的內(nèi)容。
4.根據(jù)權(quán)利要求1的方法,其中,第一移動(dòng)包括運(yùn)動(dòng)積分器。
5.根據(jù)權(quán)利要求1的方法,其中,第一移動(dòng)包括環(huán)境反饋。
6.根據(jù)權(quán)利要求1的方法,其中,手勢(shì)的強(qiáng)度從離散手勢(shì)導(dǎo)出。
7.根據(jù)權(quán)利要求1的方法,其中,手勢(shì)的強(qiáng)度從連續(xù)手勢(shì)導(dǎo)出。
8.權(quán)利要求1至7的方法實(shí)施為一種系統(tǒng),所述系統(tǒng)具有用于實(shí)施所述方法的步驟的裝置。
9.實(shí)施為一種計(jì)算機(jī)程序產(chǎn)品的權(quán)利要求1至7的方法,所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀儲(chǔ)存介質(zhì),其具有用于執(zhí)行所述方法的步驟的可執(zhí)行代碼。
10.一種計(jì)算機(jī)實(shí)施的方法,用于使用離散手勢(shì)在顯示框內(nèi)移動(dòng)顯示對(duì)象,所述方法包括: 接收離散手勢(shì),離散手勢(shì)包括來(lái)自人機(jī)界面設(shè)備的信號(hào); 根據(jù)離散手勢(shì)的至少一個(gè)方面,將顯示對(duì)象加速到初始速度;以及 至少根據(jù)初始速度,對(duì)顯示對(duì)象施加第一動(dòng)畫; 其中,第一動(dòng)畫包括摩擦模型,摩擦模型結(jié)合了滑動(dòng)摩擦項(xiàng)與流體摩擦項(xiàng)以確定速度變化。
11.根據(jù)權(quán)利要求10的方法,其中,初始速度基于顯示屏的尺寸。
12.根據(jù)權(quán)利要求10的方法,還包括: 接收第二離散手勢(shì),第二離散手勢(shì)包括來(lái)自人機(jī)界面設(shè)備的第二信號(hào); 根據(jù)第二離散手勢(shì)的至少一個(gè)方面,對(duì)顯示對(duì)象施加第二動(dòng)畫。
13.根據(jù)權(quán)利要求10的方法,其中,初始速度賦予顯示對(duì)象的虛擬能量等于施加第一動(dòng)畫而失去的虛擬能量。
14.根據(jù)權(quán)利要求10的方法,還包括: 接收事件,所述事件包括顯示對(duì)象與顯示屏的回彈周邊之間的碰撞或互動(dòng); 根據(jù)事件的至少一個(gè)方面,對(duì)顯示對(duì)象施加第三動(dòng)畫。
15.根據(jù)權(quán)利要求14的方法,其中,第三動(dòng)畫包括摩擦模型,摩擦模型結(jié)合了滑動(dòng)摩擦項(xiàng)、流體摩擦項(xiàng)和阻尼彈簧項(xiàng)。
16.根據(jù)權(quán)利要求10的方法,其中,顯示對(duì)象包括視口下的顯示內(nèi)容。
17.實(shí)施為一種系統(tǒng)的權(quán)利要求10至16的方法,所述系統(tǒng)具有用于實(shí)施所述方法的步驟的裝置。
18.實(shí)施為一種計(jì)算機(jī)程序產(chǎn)品的權(quán)利要求10至16的方法,所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀儲(chǔ)存介質(zhì),其具有用于執(zhí)行所述方法的步驟的可執(zhí)行代碼。
【文檔編號(hào)】G06F3/0484GK103842952SQ201280048343
【公開日】2014年6月4日 申請(qǐng)日期:2012年9月27日 優(yōu)先權(quán)日:2011年10月1日
【發(fā)明者】M·P·羅德吉爾斯 申請(qǐng)人:甲骨文國(guó)際公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1