繁体   English   中英

给定 2 个点和 2 个方向,我怎么知道它们是否相交?

[英]given 2 point and 2 direction how do I know if they intersect?

我正在用 C# 做一些碰撞测试,我有以下问题。

我有对象 1 和对象 2,它们朝一个方向移动。

我只想在对象 1 和对象 2 在某个角度碰撞时激活效果

我拥有的数据

Vector2 object1Position
Vector2 object1Direction
float object1ColliderRadius

Vector2 object2Position
Vector2 object2Direction
float object2ColliderRadius

我已经进行了测试以了解 object1 是否与 object2 发生碰撞。

我想念的是碰撞角度,以便在我的代码中激活或不激活其他东西。 按照这个图像。 在此处输入图片说明

角度很容易从例如点积计算出来。 更有趣的问题是,两者是否发生碰撞。 当然,这取决于速度。 通过添加额外的维度可以轻松解决。 在这里你可以输入z = t 使用 3D 仿射几何,您可以检查 3D 线是否相交。 如果是,则具有 2D 轨迹的对象发生碰撞。 这当然是针对点对象的,所以在细节上你必须检查线的最近距离。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM