3d 三维长方体圆交点

3d 三维长方体圆交点,3d,intersection,3d,Intersection,我有一个圆,由一个中心(x,y,z),一个半径和一个方向向量定义,它指定了圆的方向。我需要测试这样一个圆是否与轴对齐的边界框相交。澄清一下,所谓相交,我的意思是如果圆所描述区域内的任何点都在边界框内,那么这就构成了“相交” 这不是一个游戏,我不想以某种方式近似圆。不过,将圆视为高度非常小的圆柱体应该是可以的,如果这使它更容易处理的话 谢谢 尼克你的圆心点和向量定义了一个平面;将平面与长方体相交(特别是构成长方体的6个平面);这将为您提供一组线段。使用点-线-最近点算法,确定每个线段上距离中心点最

我有一个圆,由一个中心(x,y,z),一个半径和一个方向向量定义,它指定了圆的方向。我需要测试这样一个圆是否与轴对齐的边界框相交。澄清一下,所谓相交,我的意思是如果圆所描述区域内的任何点都在边界框内,那么这就构成了“相交”

这不是一个游戏,我不想以某种方式近似圆。不过,将圆视为高度非常小的圆柱体应该是可以的,如果这使它更容易处理的话

谢谢


尼克你的圆心点和向量定义了一个平面;将平面与长方体相交(特别是构成长方体的6个平面);这将为您提供一组线段。使用点-线-最近点算法,确定每个线段上距离中心点最近的点;如果该点与圆中心点之间距离的平方(使用平方距离进行距离比较,速度更快且同样精确)小于半径的平方,则长方体与圆相交


注:本流程为通用流程;使用轴对齐的边界框使一切变得更加简单。

您搜索过“框-圆交叉点”吗?不确定“边界框”是什么意思。一个“边界框”通常是不相交的…谷歌搜索到的所有框圈都是二维的,而不是一个沿矢量定向的三维“圆”。谢谢。假设平面是无限的,我首先做了一个平面盒相交的测试,然后做了上面的。似乎工作得很好。很高兴能提供帮助,是的,首先是平面箱相交测试是一个很好的优化。