您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關C#模擬試驗中如何實現的彈性物體碰撞,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
無聊之際用C#寫了一個彈性物體碰撞模擬玩玩。這個想法源自與前幾天上機課有人想我在機房做一個透視投影的程序,于是就立刻寫了個投影并弄了個線框球上去跳。結果我就想,如果物體有彈性會怎么樣呢?回到宿舍就實踐想法。
這個程序是2D的,用C#主要是因為GDI+寫起來比較方便,至少比可憐的MFC好用,雖然C#的東西又慢又占用CPU使用率。我發誓.NET的Timer肯定不是用WM_TIMER消息搞的,空轉占用CPU都那么高,而且用Sleep還降低不了。過高的CPU占用率持續過久會導致CPU溫度升高……
程序現在還有點問題。譬如物理引擎經典問題:浮點誤差和碰撞穿透。現在還沒100%處理好,雖然絕大多數情況下是沒什么事。第二個就是因為彈性超出了我的物理知識范圍,所以碰撞的速度更高暫時亂寫,等過幾天有空解一個三元二次方程組之后再改改代碼。
先放截圖三張,等程序改好了之后再把代碼弄出來。這個東西很好玩的,嘿嘿。考慮了重力哦。
C#模擬(1):創建了兩個有彈性7邊形
C#模擬(2):左邊的對象撞到了墻上
C#模擬(3):右邊的對象撞了地面
我曾經把彈性調的很小,邊數調得很大,結果出現了類似充水氣球的東西……
關于C#模擬試驗中如何實現的彈性物體碰撞就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。