微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 两个碰撞的圆圈,无法将公式转换为代码

我处于可以检测刚体2D物理程序中圆圈碰撞的水平.
这些圆圈具有随机的x,y速度.
当他们中的任何一个击中他们中的任何一个时,我可以告诉他们相互碰撞然后!这一步就是问题所在.
我试图获取速度的X和Y值并根据碰撞点的轴转换它,我的意思是法向力的轴和另一个与法向力轴相比的轴. perpandacular轴称为切线轴……对吗?

我使用sin cos tan,但问题是因为s​​in cos tan只返回一个始终是右侧的角度,所以我的对象永远不会移动到左侧….所以所有碰撞对象的X轴动量是固定在右侧.
这导致了很多问题,我无法找到解决方法.
我会非常感激甚至很少的建议.
谢谢.

解决方法

你不应该使用三角函数(sin,cos,tan等).

您希望在碰撞方向上对物体施加脉冲,即脉冲是碰撞方向矢量的某个倍数.计算物体的动量,然后简单地添加脉冲.

如果你正在进行简单的弹性碰撞,那么动量和能量就会得到保留.鉴于这些限制,您可以计算出冲动. This wikipedia article有详细信息.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐