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

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

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

解决方法

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

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

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

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...