999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Unity3D中的最短旋轉(zhuǎn)研究

2019-12-25 01:14:48李俊龍郭仁春姜檬王志淳
無(wú)線互聯(lián)科技 2019年20期

李俊龍 郭仁春 姜檬 王志淳

摘? ?要:首先,文章介紹了剛體最短旋轉(zhuǎn)的概念,剛體從一個(gè)方位旋轉(zhuǎn)到另一個(gè)方位的過(guò)程中,可以有無(wú)限種方式,在這些方式中存在一種方式,繞某一軸旋轉(zhuǎn)一次就能到達(dá)指定方位,并且該角在﹣180°~180°之間,稱(chēng)這樣的旋轉(zhuǎn)方式為最短旋轉(zhuǎn)。其次,給出最短旋轉(zhuǎn)的數(shù)學(xué)表達(dá)式,即兩個(gè)方位角的四元數(shù)之比。在Unity 3D中,表示剛體方位的參數(shù)分別是歐拉角和四元數(shù)。文章采用具體實(shí)例驗(yàn)證最短旋轉(zhuǎn)與四元數(shù)的關(guān)系,給出了尋找最短旋轉(zhuǎn)的解決方案。

關(guān)鍵詞:Unity 3D;最短旋轉(zhuǎn);四元數(shù)

在Unity 3D中,實(shí)現(xiàn)物體旋轉(zhuǎn)有多種方式,如旋轉(zhuǎn)矩陣、歐拉角和四元數(shù)等[1]。旋轉(zhuǎn)需要兩個(gè)基本參量軸和角,物體從一個(gè)方位旋轉(zhuǎn)到另一個(gè)方位可以采用多次改變軸和角的方式,依次旋轉(zhuǎn)。其中,有一種旋轉(zhuǎn)方式是只繞一個(gè)軸旋轉(zhuǎn)一次就能達(dá)到指定方位,且旋轉(zhuǎn)角度在﹣180°~180°之間,稱(chēng)這樣的旋轉(zhuǎn)方式為最短旋轉(zhuǎn)。這個(gè)定義由于沒(méi)有其他文獻(xiàn)支持,因此本文為便于理解,采用最短旋轉(zhuǎn)的說(shuō)法。

任意指定兩個(gè)方位,要找出其中的最短旋轉(zhuǎn)并不是一件容易的事。本文將給出最短旋轉(zhuǎn)的數(shù)學(xué)描述以及在Unity 3D中實(shí)現(xiàn)最短旋轉(zhuǎn)的方法。

1? ? 最短旋轉(zhuǎn)的數(shù)學(xué)描述

剛體的運(yùn)動(dòng)包括平動(dòng)和轉(zhuǎn)動(dòng)。描述剛體的空間位置,用三維空間坐標(biāo)點(diǎn)(x,y,z)表示,在Unity 3D中有3個(gè)基本坐標(biāo)系,分別是世界坐標(biāo)系、慣性坐標(biāo)系與本地坐標(biāo)系。相應(yīng)的,描述剛體的旋轉(zhuǎn)狀態(tài),即方位,是本地坐標(biāo)系與慣性坐標(biāo)系所形成的角度變化,采用歐拉角(α,β,γ)來(lái)描述。由于本文不涉及平移,因此為方便討論,將慣性坐標(biāo)系和世界坐標(biāo)系重合。

眾所周知,“兩點(diǎn)之間線段最短”,同樣兩個(gè)方位之間也存在類(lèi)似的關(guān)系,即最短旋轉(zhuǎn),兩點(diǎn)之間的距離用兩點(diǎn)位置之差來(lái)描述。相應(yīng)的,兩個(gè)方位之間的最短旋轉(zhuǎn)用兩個(gè)方位的四元數(shù)之比來(lái)描述。

如果方位a的四元數(shù)為q1,方位b的四元數(shù)為q2,剛體從方位a旋轉(zhuǎn)到方位b的最短旋轉(zhuǎn)的四元數(shù)為q,則q=q2÷q1,一般寫(xiě)成q= q2×q1-1

設(shè)四元數(shù)q的4個(gè)分量分別是(x,y,z,w),該四元數(shù)隱含了旋轉(zhuǎn)軸向量n和旋轉(zhuǎn)角θ,設(shè)軸向量n的3個(gè)分量為(nx,ny,nz)。一般將軸n和角θ寫(xiě)成“軸角對(duì)”的形式,即(n, θ)=( nx, ny, nz, θ)。四元數(shù)q=(x, y, z, w) 與軸角對(duì)(n, θ)=( nx, ny, nz, θ)之間的關(guān)系為:

在Unity 3D中,改變歐拉角和改變四元數(shù)是兩種基本的旋轉(zhuǎn)方式,Unity 3D提供了Lerp和Slerp兩種插值函數(shù),在兩個(gè)方位之間進(jìn)行采樣插值。對(duì)歐拉角的Lerp插值,很難實(shí)現(xiàn)最短旋轉(zhuǎn),而四元數(shù)Slerp函數(shù)插值則非常容易實(shí)現(xiàn)最短旋轉(zhuǎn),下面通過(guò)例子來(lái)進(jìn)行驗(yàn)證。

2? ? 在Unity3D中改變歐拉角實(shí)現(xiàn)旋轉(zhuǎn)

在Unity 3D中,制作一個(gè)空物體,命名為a,該物體位于世界坐標(biāo)系的原點(diǎn)位置,在其下面放置一個(gè)立方體Cube和一個(gè)小球Sphere,調(diào)整立方體和小球的大小和位置,如圖1所示,讓小球位于立方體的一個(gè)角點(diǎn)。

將該段代碼拖拽到物體x上,將場(chǎng)景中的物體a和b拖放到代碼的公共變量卡槽a和b上,代碼中的Vector3.Lerp是系統(tǒng)提供的插值函數(shù),包括3個(gè)參數(shù):起始向量a的歐拉角、結(jié)束向量b的歐拉角、插值t在0~1的取值,運(yùn)行結(jié)果如圖4所示。

從圖4可以看到,物體x上的小球畫(huà)出了一條奇怪的軌跡,說(shuō)明用歐拉角插值不能實(shí)現(xiàn)最短旋轉(zhuǎn)。

3? ? 在Unity3D中改變四元數(shù)實(shí)現(xiàn)最短旋轉(zhuǎn)

代碼中q1和q2分別是a, b的四元數(shù),Slerp是在兩個(gè)四元數(shù)之間進(jìn)行插值,再次運(yùn)行,結(jié)果如圖5所示。通過(guò)觀察可以看出,物體x繞某一固定軸一次旋轉(zhuǎn)到了指定位置,實(shí)現(xiàn)了最短旋轉(zhuǎn)。

在圖5中可以清楚地看出剛體繞軸n旋轉(zhuǎn)了θ角。這個(gè)旋轉(zhuǎn)過(guò)程用語(yǔ)言可以描述為:一個(gè)剛體從初始方位為a,其歐拉角為(-20,-30,9),旋轉(zhuǎn)到末方位b,歐拉角為(15,80,60),找到軸角對(duì)(n, θ)實(shí)現(xiàn)最短旋轉(zhuǎn)。方位a和b的四元數(shù)q1,q2可以通過(guò)各自的歐拉角求出,計(jì)算公式可參考蘇超凡等[2]的研究,手工計(jì)算結(jié)果如下:

4? ? 結(jié)語(yǔ)

仿照最短距離,本文給出了最短旋轉(zhuǎn)的概念并給出了最短旋轉(zhuǎn)的數(shù)學(xué)描述,即兩個(gè)方位的四元數(shù)的比值。在Unity 3D中,通過(guò)修改四元數(shù)很容易實(shí)現(xiàn)最短旋轉(zhuǎn),并能夠直觀地給出旋轉(zhuǎn)軸和角,對(duì)理解四元數(shù)在Unity 3D中的應(yīng)用具有重要作用。

[參考文獻(xiàn)]

[1]戈洪瑤,郭仁春.基于Unity 3D的歐拉角實(shí)現(xiàn)對(duì)物體旋轉(zhuǎn)的應(yīng)用[J].湖北農(nóng)機(jī)化,2019(13):119-121.

[2]蘇超凡,郭仁春.Unity 3D中歐拉角與四元數(shù)關(guān)系的研究[J].計(jì)算機(jī)科學(xué)與應(yīng)用,2019(5):890-895.

主站蜘蛛池模板: 污污网站在线观看| 免费精品一区二区h| 欧美亚洲欧美| 中国一级毛片免费观看| 欧美亚洲日韩不卡在线在线观看| 国产精品一线天| 国产麻豆另类AV| 波多野结衣国产精品| 手机在线看片不卡中文字幕| 免费在线国产一区二区三区精品| 人妻精品全国免费视频| 女人毛片a级大学毛片免费| 丰满人妻被猛烈进入无码| 亚国产欧美在线人成| 久久精品国产999大香线焦| 一本无码在线观看| 国产激爽大片高清在线观看| 欧美成人一区午夜福利在线| 亚洲欧美在线精品一区二区| 全裸无码专区| 精品人妻AV区| 国产浮力第一页永久地址| 夜夜拍夜夜爽| 91无码网站| 国产微拍一区| 美女亚洲一区| 在线观看网站国产| 久久99这里精品8国产| 五月婷婷导航| 高清精品美女在线播放| 人妻精品全国免费视频| 91国语视频| 亚洲成a人片在线观看88| 欧美a在线视频| 国产成人亚洲日韩欧美电影| 成人精品在线观看| 四虎成人精品| 免费毛片全部不收费的| 国模粉嫩小泬视频在线观看| 午夜日本永久乱码免费播放片| 99re热精品视频国产免费| 麻豆精品久久久久久久99蜜桃| 国产一区二区福利| 久久精品无码专区免费| 国产精品网曝门免费视频| 成人福利视频网| 国产不卡在线看| 国产免费精彩视频| 亚洲高清无码久久久| 国产在线自揄拍揄视频网站| 国产在线91在线电影| 98超碰在线观看| 亚洲国产中文精品va在线播放 | 亚洲精品777| 久久黄色一级片| 亚洲无码电影| 亚洲欧美一级一级a| 亚洲中文精品人人永久免费| 日韩免费成人| 亚洲自拍另类| 国产成人啪视频一区二区三区| 在线免费看黄的网站| 女人毛片a级大学毛片免费| 久草国产在线观看| 亚洲中文字幕av无码区| 亚洲高清在线播放| 日韩成人在线网站| 国产91精品最新在线播放| 久久综合五月| 狠狠色丁香婷婷| 国产三区二区| 少妇极品熟妇人妻专区视频| 国产菊爆视频在线观看| 好吊日免费视频| 亚洲福利片无码最新在线播放| 91麻豆国产视频| 欧洲免费精品视频在线| 伊在人亚洲香蕉精品播放| 日韩美一区二区| 久久久久亚洲AV成人人电影软件 | 9丨情侣偷在线精品国产| 国产成人高清精品免费5388|