[英]one sphere and many line segments intersection
对于一般的射线原始相交查找问题,我熟悉BSP,KD-tree和BVH。 是否有更有效的算法和数据结构可用于仅查找一个球体和许多线段之间的交点? 请注意,球体是查询对象。
一种解决方案是:
假设
R
,其中心位于C
点, P0
和P1
, D0
是C
和P0
之间的距离,并且 D1
是C
和P1
之间的距离。 然后:
如果D0 < R
并且D1 < R
,则线段完全包含在球体内,并且不与曲面相交。
如果D0 < R
x或D1 < R
,则线段与球体表面相交。
否则,这些点将在球体外部,但该线可能与曲面相交,因此请进行常规的射线-球体相交测试。
进一步的优化将是比较平方距离与平方半径,以避免取根。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.