c# - 简单的 3D AABB-Line Segment 碰撞检测(交叉点)

标签 c# java collision-detection computational-geometry aabb

我只需要一种方法来告诉我轴对齐的 3D 边界框是否与线段(不是射线)相交。我不需要交点。

盒子由两个对角定义,线段由起点和终点定义,如下所示:

Boolean intersection(Vector3 boxStart, Vector3 boxEnd, Vector3 segmentStart, Vector3 segmentEnd){...}

我做了很多研究,但一直未能找到我可以理解或至少可以使用的代码(希望是 C# 或 Java)。我需要方法而不是可以完成这项工作的库...

我的问题是它需要 100% 精确,如果线段刚好接触到框(即它们共享一个点),它必须返回 false。例如,如果线段是框的边缘之一或穿过角,则它们不会相交。

谢谢

最佳答案

在 Java 中,intersects()方法是候选人;但由于实现限制,您需要使用 Line2D 对其进行测试.

关于c# - 简单的 3D AABB-Line Segment 碰撞检测(交叉点),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7054210/

相关文章:

java - 改善太空外星人的移动

c# - “Sprache” 解析器 `Present` 语义

c# - 如何在控制流图中表达 Try/Catch?

c# - 如果(Array.Length == 0)

java - 使用 Morphia 检索引用的文档会返回奇怪的错误

java - iptables icmp 目标主机未知

c# - 了解 MongoDb 连接字符串

java - Dagger 2 模块与子组件

java - 我的世界 2d 重制版 : Building and Destroying Blocks Issue

python - pygame与子弹的碰撞找不到碰撞