开发日志_Jan.8.2017
這兩天繼續(xù)著手開(kāi)發(fā)碰撞部分。
主要工作是寫(xiě)碰撞類(lèi)和運(yùn)動(dòng)線(xiàn)程類(lèi)。碰撞主要在于算法,運(yùn)動(dòng)線(xiàn)程只要管理好就行了。
之前碰撞測(cè)試中(即還未添加完整碰撞算法時(shí))遇到各種bug,疑似機(jī)器人和小球的定位點(diǎn)不明所造成的。昨天研究了下QT下的GUI的定位點(diǎn),發(fā)現(xiàn)應(yīng)該為圖形的左上角。這與我的Java圖形編程中遇到的情況一致,不知道是否是各類(lèi)圖形編程的共性。
定位點(diǎn)明確后,碰撞依然不符合預(yù)期。發(fā)現(xiàn)一處坐標(biāo)系正方向弄錯(cuò)而產(chǎn)生的錯(cuò)誤。修改后,運(yùn)動(dòng)改變,但是依然有問(wèn)題:球在接觸機(jī)器人前即回彈。查找問(wèn)題許久,未發(fā)現(xiàn)進(jìn)一步代碼上的問(wèn)題。于是仔細(xì)閱讀了框架代碼,發(fā)現(xiàn)本應(yīng)是球的直徑的一個(gè)參數(shù)被命名為了radius。導(dǎo)致我一直用球的直徑當(dāng)做半徑在用。把命名修改并修改代碼后,碰撞實(shí)現(xiàn)預(yù)期。Bug終于De了出來(lái),歷時(shí)許久,但是倍感輕松。
下一步就是碰撞算法了。其實(shí)具體代碼已經(jīng)寫(xiě)出來(lái)了,但是不符合預(yù)期。原始框架中步距為int類(lèi)型,導(dǎo)致速度值也只能設(shè)置為int類(lèi)型。為了不損失過(guò)多的精度,只能設(shè)置一個(gè)較大的速度作為步距。結(jié)果導(dǎo)致碰撞時(shí)兩物體會(huì)有一定的交集。考慮到是這里產(chǎn)生了bug。Debugging。準(zhǔn)備今明兩天內(nèi)搞完。
轉(zhuǎn)載于:https://www.cnblogs.com/dyxscript/p/6264825.html
總結(jié)
以上是生活随笔為你收集整理的开发日志_Jan.8.2017的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: servlet获取相对路径 绝对路径
- 下一篇: 5.RabbitMQ 客户端控制消息