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

采用邊際作用的控制點(diǎn)約束方法

文檔序號(hào):7852232閱讀:273來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):采用邊際作用的控制點(diǎn)約束方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)支持協(xié)同工作的協(xié)同感知領(lǐng)域,特別是涉及一種采用邊際作用的控制點(diǎn)約束方法。
背景技術(shù)
20世紀(jì)人類(lèi)的杰出成果之一計(jì)算機(jī)技術(shù)把人類(lèi)社會(huì)帶入了信息化時(shí)代。伴隨著信息化進(jìn)程的不斷深入,通信技術(shù)、計(jì)算機(jī)及網(wǎng)絡(luò)技術(shù)相融合,產(chǎn)生了一個(gè)新的研究領(lǐng)域—計(jì)算機(jī)支持的協(xié)同工作CSCW(Computer SupportedCooperative Work)。
當(dāng)協(xié)同設(shè)計(jì)者在共同工作時(shí),監(jiān)測(cè)遠(yuǎn)程控制點(diǎn)軌跡能夠較好地幫助用戶理解和預(yù)測(cè)其他設(shè)計(jì)者的意圖。展現(xiàn)遠(yuǎn)程圖案對(duì)象的變化過(guò)程對(duì)于支持協(xié)同工作是很有價(jià)值的手段。然而,網(wǎng)絡(luò)常常存在延遲的不穩(wěn)定,也叫做抖動(dòng)(jitter),這可能導(dǎo)致實(shí)時(shí)環(huán)境下展現(xiàn)遠(yuǎn)程參與者活動(dòng)的不準(zhǔn)確。抖動(dòng)會(huì)造成遠(yuǎn)程控制點(diǎn)移動(dòng)軌跡的不連續(xù),導(dǎo)致用戶誤解甚至是操作沖突。為了緩和抖動(dòng)帶來(lái)的負(fù)面作用,通常采用基于已知?dú)v史位置來(lái)預(yù)測(cè)遠(yuǎn)程控制點(diǎn)下一個(gè)位置的方法,以模擬運(yùn)動(dòng)的軌跡,達(dá)到平滑自然的效果。
目前軌跡跟蹤(Tracing)技術(shù)存在一定的局限,在互聯(lián)網(wǎng)聯(lián)機(jī)游戲中主要采用Dead-reckoning方法來(lái)提高玩家與分布式對(duì)象的交互效果。Dead-reckoning方法利用了對(duì)象的速度、加速度參數(shù),在基于力學(xué)的強(qiáng)慣性物體的移動(dòng)過(guò)程中表現(xiàn)出良好的效果。Dead-reckoning預(yù)測(cè)方法同樣被應(yīng)用到削減控制點(diǎn)移動(dòng)的抖動(dòng)效果,實(shí)驗(yàn)證明這種預(yù)測(cè)可以提高群組系統(tǒng)中用戶間交互的立即性和自然性。
然而,當(dāng)抖動(dòng)時(shí)間較長(zhǎng)時(shí),Dead-reckoning在該應(yīng)用下的預(yù)測(cè)精確度會(huì)明顯下降。其原因在于通常情況下,設(shè)計(jì)者在一段時(shí)間內(nèi)只會(huì)關(guān)注其周?chē)潭ǖ木庉媴^(qū)域。當(dāng)控制點(diǎn)移動(dòng)到其他位置時(shí),新的位置很可能與初始位置在距離上較接近。并且,用戶的控制點(diǎn)移動(dòng)到屏幕之外的可能性并不大,而Dead-reckoning方法沒(méi)有考慮到這種邊際化的效果。

發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種采用邊際作用的控制點(diǎn)約束方法。
本發(fā)明解決其技術(shù)問(wèn)題采用的技術(shù)方案如下
1)記錄最近N秒鐘之內(nèi)的遠(yuǎn)程控制點(diǎn)在每個(gè)毫秒的移動(dòng)位置;2)當(dāng)網(wǎng)絡(luò)抖動(dòng)發(fā)生時(shí),為了預(yù)測(cè)控制點(diǎn)的移動(dòng)位置,首先計(jì)算控制點(diǎn)在X方向和Y方向的當(dāng)前速度,用aveVelocityX和aveVelocityY來(lái)表示;近似速度是通過(guò)離當(dāng)前最近的Tlast時(shí)刻的位置坐標(biāo)(Xlast,Ylast)以及M毫秒前Tflag時(shí)刻接收到的位置坐標(biāo)(Xflag,Yflag)來(lái)計(jì)算的;aveVelocityX=(Xlast-Xflag)/(Tlast-Tflag)aveVelocityY=(Ylast-Yflag)/(Tlast-Tflag)]]>3)計(jì)算控制點(diǎn)在X方向和Y方向的當(dāng)前加速度,用aveAccelerationX和aveAccelerationY來(lái)表示;近似加速度是通過(guò)離當(dāng)前最近的Tlast時(shí)刻(Xlast,Ylast)位置的速度以及Tflag時(shí)刻(Xflag,Yflag)位置的另一個(gè)速度來(lái)計(jì)算的;aveAccelerationX=(VelocityXlast-VelocityXflag)/(Tlast-Tflag)aveAccelerationY=(VelocityYlast-VelocityYflag)/(Tlast-Tflag)]]>4)計(jì)算初始預(yù)測(cè)位置將控制點(diǎn)的當(dāng)前位置記做(Xcurrent,Ycurrent),而控制點(diǎn)的下一個(gè)位置記做(Xnext,Ynext),當(dāng)網(wǎng)絡(luò)抖動(dòng)發(fā)生的時(shí)候,(Xnext,Tnext)的預(yù)測(cè)通過(guò)以下公式來(lái)計(jì)算Xnext=Xcurrent+aveVelocityX*T+aveAccelerationX*T2Ynext=Ycurrent+aveVelocityY*T+aveAccelerationY*T2]]>其中T是當(dāng)前抖動(dòng)延時(shí);5)計(jì)算預(yù)測(cè)權(quán)重根據(jù)用戶初始拖動(dòng)控制點(diǎn)的位置和初始預(yù)測(cè)位置之間的距離,來(lái)計(jì)算預(yù)測(cè)權(quán)重α;距離越遠(yuǎn),約束越明顯;α=1,Length≤UnitLength(Length/UnitLength)b,0<b<1,Length>UnitLength]]>其中Length是用戶初始拖動(dòng)控制點(diǎn)的位置和初始預(yù)測(cè)位置之間的距離;UnitLength可以根據(jù)不同的系統(tǒng)和應(yīng)用來(lái)決定;b是小于1大于0的常數(shù);由用戶初始拖動(dòng)的位置為圓心,UnitLength為半徑形成一個(gè)范圍,如果初始預(yù)測(cè)的位置在該范圍內(nèi),系統(tǒng)保持原有預(yù)測(cè)的位置不改變,即α=1;當(dāng)初始預(yù)測(cè)的位置超出該范圍,系統(tǒng)采用(Length/UnitLength)b作為權(quán)重;
6)進(jìn)行控制點(diǎn)預(yù)測(cè)的約束利用預(yù)測(cè)權(quán)重對(duì)初始預(yù)測(cè)結(jié)果進(jìn)行進(jìn)一步的邊際化約束,初始預(yù)測(cè)位置是(Xnext,Ynext),控制點(diǎn)邊際化約束的結(jié)果記做(X′next,Y′next),Xnext′=Xnext+Unitlength*α*sinβYnext′=Ynext+UnitLength*α*cosβ]]>其中sinβ代表控制點(diǎn)在x方向的分量;cosβ代表控制點(diǎn)在y方向的分量;7)將遠(yuǎn)程控制點(diǎn)按照邊際化約束的結(jié)果(X′next,Y′next)繪制在用戶的屏幕上;8)擦除前一個(gè)預(yù)測(cè)的控制點(diǎn),繪制最新預(yù)測(cè)的控制點(diǎn),依此類(lèi)推,直到將抖動(dòng)過(guò)程中所有預(yù)測(cè)的控制點(diǎn)繪制完成。
本發(fā)明與背景技術(shù)相比,具有的有益的效果是傳統(tǒng)的預(yù)測(cè)方法沒(méi)有考慮到邊際化的效果,本發(fā)明動(dòng)態(tài)預(yù)測(cè)控制點(diǎn)的運(yùn)動(dòng)軌跡,根據(jù)用戶初始拖動(dòng)控制點(diǎn)的位置和初始預(yù)測(cè)位置之間的距離,來(lái)調(diào)整預(yù)測(cè)權(quán)重。離初始位置越遠(yuǎn),邊際化約束越明顯,約束呈現(xiàn)指數(shù)性增強(qiáng)。這種預(yù)測(cè)的結(jié)果更符合人類(lèi)的操作習(xí)慣。本發(fā)明可以較好的應(yīng)用在協(xié)同圖案設(shè)計(jì)等領(lǐng)域的實(shí)時(shí)感知問(wèn)題。
具體實(shí)施例方式
采用邊際作用的控制點(diǎn)約束方法的具體實(shí)現(xiàn)流程如下。
1)記錄最近N秒鐘之內(nèi)的遠(yuǎn)程控制點(diǎn)在每個(gè)毫秒的移動(dòng)位置;例如,可以記錄最近2秒鐘之內(nèi)的位置數(shù)據(jù)。
2)當(dāng)網(wǎng)絡(luò)抖動(dòng)發(fā)生時(shí),為了預(yù)測(cè)控制點(diǎn)的移動(dòng)位置,首先計(jì)算控制點(diǎn)在X方向和Y方向的當(dāng)前速度,用aveVelocityX和aveVelocityY來(lái)表示;近似速度是通過(guò)離當(dāng)前最近的Tlast時(shí)刻的位置坐標(biāo)(Xlast,Ylast)以及M毫秒前Tflag時(shí)刻接收到的位置坐標(biāo)(Xflag,Yflag)來(lái)計(jì)算的;aveVelocityX=(Xlast-Xflag)/(Tlast-Tflag)aveVelocityY=(Ylast-Yflag)/(Tlast-Tflag)]]>例如,M值取100毫秒,即0.1秒。Tlast時(shí)刻的位置坐標(biāo)是(310,320),Tflag時(shí)刻接收到的位置坐標(biāo)是(300,300),坐標(biāo)都以象素作為單位。
aveVelocityX=(Xlast-Xflag)/100=(310-300)/0.1=100aveVelocityY=(Ylast-Yflag)/100=(320-300)/0.1=200]]>(象素/s)
3)計(jì)算控制點(diǎn)在X方向和Y方向的當(dāng)前加速度,用aveAccelerationX和aveAccelerationY來(lái)表示;近似加速度是通過(guò)離當(dāng)前最近的Tlast時(shí)刻(Xlast,Ylast)位置的速度以及Tflag時(shí)刻(Xflag,Yflag)位置的另一個(gè)速度來(lái)計(jì)算的;aveAccelerationX=(VelocityXlast-VelocityXflag)/(Tlast-Tflag)aveAccelerationY=(VelocityYlast-VelocityYflag)/(Tlast-Tflag)]]>假設(shè)Tlast時(shí)刻(Xlast,Ylast)位置的速度是(100,100),那么加速度計(jì)算如下aveAccelerationX=(100-100)/0.1=0aveAccelerationY=(200-100)/0.1=1000]]>(象素/s2)4)計(jì)算初始預(yù)測(cè)位置將控制點(diǎn)的當(dāng)前位置記做(Xcurrent,Ycurrent),而控制點(diǎn)的下一個(gè)位置記做(Xnext,Ynext),當(dāng)網(wǎng)絡(luò)抖動(dòng)發(fā)生的時(shí)候,(Xnext,Tnext)的預(yù)測(cè)通過(guò)以下公式來(lái)計(jì)算Xnext=Xcurrent+aveVelocityX*T+aveAccelerationX*T2Ynext=Ycurrent+aveVelocityY*T+aveAccelerationY*T2]]>其中T是當(dāng)前抖動(dòng)延時(shí);如上例,假設(shè)T=100(ms)Xnext=310+100*0.1=320Ynext=320+200*0.1+1000*0.12=350]]>5)計(jì)算預(yù)測(cè)權(quán)重根據(jù)用戶初始拖動(dòng)控制點(diǎn)的位置和初始預(yù)測(cè)位置之間的距離,來(lái)計(jì)算預(yù)測(cè)權(quán)重α。距離越遠(yuǎn),約束越明顯;α=1,Length≤UnitLength(Length/UnitLength)b,0<b<1,Length>UnitLength]]>其中Length是用戶初始拖動(dòng)控制點(diǎn)的位置和初始預(yù)測(cè)位置之間的距離。
UnitLength可以根據(jù)不同的系統(tǒng)和應(yīng)用來(lái)決定。
b是小于1大于0的常數(shù);由用戶初始拖動(dòng)的位置為圓心,UnitLength為半徑形成一個(gè)范圍。如果初始預(yù)測(cè)的位置在該范圍內(nèi),系統(tǒng)保持原有預(yù)測(cè)的位置不改變,即α=1。當(dāng)初始預(yù)測(cè)的位置超出該范圍,系統(tǒng)采用(Length/UnitLength)b作為權(quán)重。
例如,Length=200象素,UnitLength=100象素,b=1/2。由于Length>UnitLength,α=(Length/UnitLength)b=(200/100)12=212]]>6)進(jìn)行控制點(diǎn)預(yù)測(cè)的約束利用預(yù)測(cè)權(quán)重對(duì)初始預(yù)測(cè)結(jié)果進(jìn)行進(jìn)一步的邊際化約束。初始預(yù)測(cè)位置是(Xnext,Ynext),控制點(diǎn)邊際化約束的結(jié)果記做(X′next,Y′next),Xnext′=Xnext+Unitlength*α*sinβYnext′=Ynext+UnitLength*α*cosβ]]>其中sinβ代表控制點(diǎn)在x方向的分量;cosβ代表控制點(diǎn)在y方向的分量。
如上例,假設(shè)Xnext′=320+100*212*15=383Ynext′=350+100*212*25=426]]>7)將遠(yuǎn)程控制點(diǎn)按照邊際化約束的結(jié)果(X′next,Y′next)繪制在用戶的屏幕上;8)擦除前一個(gè)預(yù)測(cè)的控制點(diǎn),繪制最新預(yù)測(cè)的控制點(diǎn),依此類(lèi)推,直到將抖動(dòng)過(guò)程中所有預(yù)測(cè)的控制點(diǎn)繪制完成。
權(quán)利要求
1.一種采用邊際作用的控制點(diǎn)約束方法,其特征在于1)記錄最近N秒鐘之內(nèi)的遠(yuǎn)程控制點(diǎn)在每個(gè)毫秒的移動(dòng)位置;2)當(dāng)網(wǎng)絡(luò)抖動(dòng)發(fā)生時(shí),為了預(yù)測(cè)控制點(diǎn)的移動(dòng)位置,首先計(jì)算控制點(diǎn)在X方向和Y方向的當(dāng)前速度,用aveVelocityX和aveVelocityY來(lái)表示;近似速度是通過(guò)離當(dāng)前最近的Tlast時(shí)刻的位置坐標(biāo)(Xlast,Ylast)以及M毫秒前Tflag時(shí)刻接收到的位置坐標(biāo)(Xflag,Yflag)來(lái)計(jì)算的;aveVelocityX=(Xlast-Xflag)/(Tlast-Tflag)aveVelocityY=(Ylast-Yflag)/(Tlast-Tflag)]]>3)計(jì)算控制點(diǎn)在X方向和Y方向的當(dāng)前加速度,用aveAccelerationX和aveAccelerationY來(lái)表示;近似加速度是通過(guò)離當(dāng)前最近的Tlast時(shí)刻(Xlast,Ylast)位置的速度以及Tflag時(shí)刻(Xflag,Yflag)位置的另一個(gè)速度來(lái)計(jì)算的;aveAccelerationX=(VelocityXlast-VelocityXflag)/(Tlast-Tflag)aveAccelerationY=(VelocityYlast-VelocityYflag)/(Tlast-Tflag)]]>4)計(jì)算初始預(yù)測(cè)位置將控制點(diǎn)的當(dāng)前位置記做(Xcurrent,Ycurrent),而控制點(diǎn)的下一個(gè)位置記做(Xnext,Ynext),當(dāng)網(wǎng)絡(luò)抖動(dòng)發(fā)生的時(shí)候,(Xnext,Ynext)的預(yù)測(cè)通過(guò)以下公式來(lái)計(jì)算Xnext=Xcurrent+aveVelocityX*+aveAccelerationX*T2Ynext=Ycurrent+aveVelocityY*T+aveAccelerationY*T2]]>其中T是當(dāng)前抖動(dòng)延時(shí);5)計(jì)算預(yù)測(cè)權(quán)重根據(jù)用戶初始拖動(dòng)控制點(diǎn)的位置和初始預(yù)測(cè)位置之間的距離,來(lái)計(jì)算預(yù)測(cè)權(quán)重α;距離越遠(yuǎn),約束越明顯;α=1,Length≤UntiLength(Length/UnitLength)b,0<b<1,Length>UnitLength]]>其中Length是用戶初始拖動(dòng)控制點(diǎn)的位置和初始預(yù)測(cè)位置之間的距離;UnitLength可以根據(jù)不同的系統(tǒng)和應(yīng)用來(lái)決定;b是小于1大于0的常數(shù);由用戶初始拖動(dòng)的位置為圓心,UnitLength為半徑形成一個(gè)范圍,如果初始預(yù)測(cè)的位置在該范圍內(nèi),系統(tǒng)保持原有預(yù)測(cè)的位置不改變,即α=1;當(dāng)初始預(yù)測(cè)的位置超出該范圍,系統(tǒng)采用(Length/UnitLength)b作為權(quán)重;6)進(jìn)行控制點(diǎn)預(yù)測(cè)的約束利用預(yù)測(cè)權(quán)重對(duì)初始預(yù)測(cè)結(jié)果進(jìn)行進(jìn)一步的邊際化約束,初始預(yù)測(cè)位置是(Xnext,next),控制點(diǎn)邊際化約束的結(jié)果記做(X′next,Y′next),X′next=Xnext+UnitLength*α*sinβY′next=Ynext+UnitLength*α*cosβ]]>其中sinβ代表控制點(diǎn)在x方向的分量;cosβ代表控制點(diǎn)在y方向的分量;7)將遠(yuǎn)程控制點(diǎn)按照邊際化約束的結(jié)果(X′next,Y′next)繪制在用戶的屏幕上;8)擦除前一個(gè)預(yù)測(cè)的控制點(diǎn),繪制最新預(yù)測(cè)的控制點(diǎn),依此類(lèi)推,直到將抖動(dòng)過(guò)程中所有預(yù)測(cè)的控制點(diǎn)繪制完成。
全文摘要
本發(fā)明公開(kāi)了一種采用邊際作用的控制點(diǎn)約束方法。本發(fā)明依據(jù)對(duì)象運(yùn)動(dòng)的速度、加速度以及控制點(diǎn)拖動(dòng)距離,動(dòng)態(tài)調(diào)整預(yù)測(cè)結(jié)果,根據(jù)用戶初始拖動(dòng)控制點(diǎn)的位置和初始預(yù)測(cè)位置之間的距離,來(lái)調(diào)整預(yù)測(cè)權(quán)重。距離越遠(yuǎn),約束越明顯,約束呈現(xiàn)指數(shù)性增強(qiáng)。彌補(bǔ)網(wǎng)絡(luò)抖動(dòng)帶來(lái)的不良結(jié)果,對(duì)控制點(diǎn)運(yùn)動(dòng)的預(yù)測(cè)進(jìn)行有效的約束,提高了控制點(diǎn)運(yùn)動(dòng)的預(yù)測(cè)精度,達(dá)到較好的預(yù)測(cè)效果。
文檔編號(hào)H04L1/24GK1874212SQ20061005209
公開(kāi)日2006年12月6日 申請(qǐng)日期2006年6月23日 優(yōu)先權(quán)日2006年6月23日
發(fā)明者陳純, 卜佳俊, 楊建旭, 姜波 申請(qǐng)人:浙江大學(xué)
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
雷州市| 新平| 定结县| 北碚区| 横山县| 合水县| 连江县| 浏阳市| 九寨沟县| 平山县| 巢湖市| 闸北区| 濮阳县| 鲁山县| 塘沽区| 陆河县| 宾阳县| 应用必备| 重庆市| 孝感市| 泉州市| 天等县| 沁水县| 芦溪县| 长汀县| 遂宁市| 日照市| 论坛| 观塘区| 金坛市| 宁国市| 嘉善县| 二手房| 湖南省| 韶关市| 股票| 饶河县| 平和县| 安达市| 清水县| 治县。|