矩形物理和碰撞

问题描述:

我正在试图找出如何在我的程序中开发一种方法,该方法负责处理力并在与墙碰撞后更新矩形的位置。此刻,我只是让它在墙内移动。我知道加速度方面的运动方程式,并且理解它们需要被整合到RK4方法中,然后可以计算各个位置x1,y1,theta1和x2,y2,theta2,并更新这些位置....我真的需要知道的是我需要其他方程吗?以及如何将角位置应用于x,y位置?我不知道惯性/扭矩......或者使用(x1,y1)(x2,y2)位置与(x,y,w,h)相对的方式绘制矩形im ...,这里是方程我知道我需要为矩形的(X1,Y1)的RK4方法:矩形物理和碰撞

VX1' =( - K VX1)/米

VY1' =( - 毫克 - K VY1)/米

ω” = - Kω/ I

X1' = VX1

Y1' = VY1

θ” =ω

K =阻尼常数,I =转动惯量,ω-=角速度

任何帮助,将不胜感激,因为这已被窃听我一会儿....感谢

+2

我没有一个有用的答案给你,但我会建议将问题标题更改为更通用。你所问的与C#或GDI +无关,这两者我都知道。如果你使标题和标签更多的几何/物理相关,你可能会吸引更多的人来帮助你。 – Josh 2010-08-16 14:40:31

+0

也许你应该把它发布到mathoverflow.net – thelost 2010-08-16 14:42:40

+0

@thelost - 绝对不是mathoverflow - 这是对postgrad的研究。 math.stackexchange.com可能会更好。 – 2010-08-16 14:49:11

如果您只想完成作业,那么请考虑使用现成且经过调试的物理引擎。我强烈推荐FarseerPhysics,它是免费且开源的。

如果你有兴趣在计算物理然后http://math.stackexchange.com可能更合适。

如果你有兴趣在实施物理然后你最好的选择是环顾各种教程,因为它是一个相当大和复杂的话题。或者在这里问,但只有当你有一个特定的问题。也许GameDev是一个很好的起点。

如果你自己去实现这个目标的路线,看看这个tutorial on collision detection来了解你自己的想法。

顺便说一句,你不要为此使用RK4集成 - 这只是RK4在准确性和复杂性之间取得了良好的平衡。简单的集成(x += V * dt风格)可以提供足够可接受的结果,并且比RK4的工作量少很多。