問題描述
球在傾斜平面上滾動 java libgdx (Ball rolling on an incline plane java libgdx)
我正在嘗試編寫自己的物理程序(請不要使用 box2d 的答案),並且我想要一個球在它接觸的任何傾斜平面上滾動。我在物理學方面擁有豐富的經驗,但由於某種原因,我似乎無法在任何地方找到如何在任何地方進行編程。非常感謝任何有關如何解決此問題的幫助!
參考解法
方法 1:
Think geometrically!
First you need to find out if and which plane the ball touches. Create a vector from the balls position that points straight down. Find the nearest plane this vector intersects. This can be done with vector math, e.g. the basics you find in wiki: https://en.wikipedia.org/wiki/Line%E2%80%93plane_intersection
You now know the plane and you can calculate the distance between ball and plane intersection point. If the distance is <= balls radius, it touches. From there, calculate the planes slope and modify the balls movement vector accordingly (to your physics model).
方法 2:
From the very limited information you've given it looks like a duplicate of 3D libgdx rotation, for which you can find an example as well at https://gist.github.com/xoppa/3b841fb52f46e8cdec24