• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            牽著老婆滿街逛

            嚴(yán)以律己,寬以待人. 三思而后行.
            GMail/GTalk: yanglinbo#google.com;
            MSN/Email: tx7do#yahoo.com.cn;
            QQ: 3 0 3 3 9 6 9 2 0 .

            動力學(xué)模擬基礎(chǔ)—細(xì)長桿

            來源:http://www.vbgamedev.com/OTHER/pz.htm

            動力學(xué)模擬基礎(chǔ)—細(xì)長桿

             

            BY:張皓(ZH1110)

             

               動力學(xué)是以牛頓運(yùn)動定律為基礎(chǔ)全面的研究物體的運(yùn)動與作用與物體上的力的關(guān)系,其對象被理想化為質(zhì)點(diǎn)和質(zhì)點(diǎn)系,研究剛性、彈性碰撞,當(dāng)然也包括變形的固體和流體。借助與計算機(jī)可模擬各種真實(shí)的運(yùn)動,如飛機(jī)在天空受空氣阻力及慣性作用下的飛行姿勢,篩子落到桌面后的滾動等均可用其模擬,對于現(xiàn)代游戲開發(fā)具有一定意義。

            本章介紹了動力學(xué)剛性運(yùn)動模擬過程,碰撞采用離散碰撞檢測算法。

                首先我們研究細(xì)長桿的運(yùn)動,查物理用表或積分得到細(xì)長桿運(yùn)動時慣性量度,當(dāng)我們已知剛體受的力矩(或外力)就可通過其求解出運(yùn)動規(guī)律。

            說明:轉(zhuǎn)動慣量為,旋轉(zhuǎn)半徑為,兩者關(guān)系為 (引自:《工程力學(xué)》)

             

            細(xì)長桿在未受任何外力的情況下屬于平面運(yùn)動(可以看作是在宇宙空間中),其任意點(diǎn)角度位置是相對于重心的單值連續(xù)函數(shù),具此可求出所有離散點(diǎn)上細(xì)長桿兩端點(diǎn)位置:

            D3DXVec3Add l.p, l.p, l.V '平動的位置
            l.ang = l.ang - l.angv '轉(zhuǎn)動角度,這里我們假設(shè)順時針旋轉(zhuǎn)為正方向
            l.ver1.x = l.p.x + Cos(l.ang) '第一個端點(diǎn)的位置(不妨設(shè)桿長為2)
            l.ver1.y = l.p.y + Sin(l.ang)
            l.ver2.x = l.p.x - Cos(l.ang) '第二個端點(diǎn)的位置
            l.ver2.y = l.p.y - Sin(l.ang)

            細(xì)長桿剛體的動能包括平動的動能和轉(zhuǎn)動的動能,當(dāng)其與其他物體發(fā)生碰撞后兩個動能都會發(fā)生改變,但總動能與動量是平衡的

            計算桿與地面碰撞,因地面的質(zhì)量無限大,不吸收動能,碰撞后桿完全反彈,得到第一個式子:

             1.

            這個式子有兩個未知量,求解還須其他方程.

            如圖,我們假設(shè)碰撞生產(chǎn)的力為F,作用時間為t,桿質(zhì)量為M. 力F可分解為作用于重心力矩和對桿產(chǎn)生平移的力.

            得到第二,第三個式子:

            2.

            3.

            現(xiàn)在通過以上三個式子求解碰撞后的速度V'及角速度ω':

             

            將2,3兩式削去Ft/M,合并得:

             

            ω'代入第一個方程,簡化方程...

             

            最后,用求根公式解出我們所要的速度V',再用V'去求我們需要的其他兩個答案:

             

            式中d為重心到撞擊力的垂直距離,可以通過兩個單位向量的點(diǎn)積求出,從中我們還可看到結(jié)果與物體的質(zhì)量并無直接的關(guān)系。改變相應(yīng)旋轉(zhuǎn)半徑數(shù)值,公式也可適用于非細(xì)長桿物體.

             

            桿與桿之間的碰撞:

            桿與桿之間的碰撞與上面類似,動能平衡方程應(yīng)建立在兩個桿上,且因?yàn)樽饔昧εc反作用力的關(guān)系,受反作用力一方F取負(fù)值

            建立方程組如下:

            計算得到的V1'如下,代入另幾個方程計算出需要的其他答案

             

            計算碰撞的精確位置

            我們檢測到的狀態(tài)兩桿已經(jīng)相交,但我們需要的是碰撞一剎那或即將發(fā)生碰撞的位置,這可通過二分法計算,對于任意狀態(tài):

            1.判斷如果已經(jīng)相交則兩桿狀態(tài)向后T=T/2周期

            2.判斷如果未相交則兩桿狀態(tài)向前T=T/2周期

            3.計算誤差是否達(dá)到允許值,如果達(dá)到退出循環(huán)

            4.轉(zhuǎn)到過程1

            經(jīng)過幾次的細(xì)分計算后誤差就基本達(dá)到我們的要求了

            有待解決的問題:當(dāng)一桿穿過另一桿即發(fā)生'刺穿'現(xiàn)象,程序未檢測到相交,產(chǎn)生錯誤的判斷,對于扁平的物體這個問題尤其突出,考慮使用連續(xù)算法進(jìn)行輔助的計算。還有一個問題既當(dāng)多個物體同時發(fā)生碰撞時不能很有效的處理。

            盡管離散碰撞檢測算法存在一些問題,但由于其檢測過程的快速性能較好,所以仍是目前碰撞檢測算法研究的重點(diǎn)。

            最后,如果有什么問題(本文包括代碼)可以告訴我(ZH1110)。

            posted on 2008-01-15 16:52 楊粼波 閱讀(318) 評論(0)  編輯 收藏 引用


            只有注冊用戶登錄后才能發(fā)表評論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            久久久久久毛片免费播放| 日本精品久久久久久久久免费| 午夜精品久久久久久久久| 欧洲成人午夜精品无码区久久| 91久久精一区二区三区大全| 久久久久国产| 91精品国产91久久久久福利| 国产2021久久精品| 久久国语露脸国产精品电影| 青青青国产成人久久111网站| 久久久精品久久久久影院| 久久久中文字幕| 青草国产精品久久久久久| 久久婷婷五月综合色99啪ak| 久久亚洲国产精品一区二区| 中文字幕日本人妻久久久免费 | 日本久久久久久久久久| 久久国产精品无码一区二区三区| 久久伊人中文无码| 99久久伊人精品综合观看| 久久久无码一区二区三区| 久久久久久久波多野结衣高潮| 香蕉久久夜色精品国产小说| 精品人妻久久久久久888| 狠狠色丁香久久婷婷综合蜜芽五月 | 久久婷婷色综合一区二区| 久久成人精品视频| 午夜不卡久久精品无码免费| 久久精品国产亚洲AV不卡| 久久一区二区三区99| 九九热久久免费视频| 国产成人精品久久综合| 狠狠精品久久久无码中文字幕| 久久精品国产99国产精品澳门| 99久久精品国产高清一区二区| 色欲综合久久躁天天躁蜜桃| 亚洲精品无码久久久久sm| 婷婷久久久亚洲欧洲日产国码AV| 亚洲人成伊人成综合网久久久| 亚洲香蕉网久久综合影视| 无码国内精品久久人妻蜜桃|