Ray-Capsule交叉口

Jur*_*aho 1 algorithm math geometry intersection

我有两点定义的胶囊AB和半径r.光线由等式定义:X = O + D*t.现在我需要获得t所有(0-2)交叉点.

一个可能的解决方案将是,以计算与球体相交AB和交叉点与汽缸.然后因为胶囊是凸的,我只需要取所有结果t值的最小值和最大值.

但正如维基百科所述,胶囊相交测试应该比圆柱相交测试更简单.有人能指出我有效的胶囊射线交叉算法吗?

paw*_*eba 5

为了测试胶囊是否与射线相交,只需测试线段交叉点AB射线之间的距离.如果距离小于半径,r则有两个交叉点,如果相等,则有一个触点.

要按照您的描述计算交点.